尝试使用修补方法将POST场景响应的引用传递给另一个场景,并更改其中一个属性并获取错误。我发现,当为一个场景调用Scripts.assign时,变量作用域不会传递给另一个场景。
试验的全部特点:
Feature: Products CRUD Test
Background:
* url demoBaseUrl
Scenario: fetch some products
Given path 'products'
When method get
Then status 200
And assert response.size() === 6
Scenario: add a product
Given path 'products'
And request {name: 'Iphone 7 Plus 128GB', description: 'Iphone 7 Plus Space Gray 128GB' }
When method post
Then status 200
And match response contains { id: '#number', name: 'Iphone 7 Plus 128GB', description: 'Iphone 7 Plus Space Gray 128GB'}
And def newProduct = response
Scenario: update a product
Given path 'products'
And def payload = {name: '#(newProduct.name)', description: '#(newProduct.description)'}
And set payload $.id = #(newProduct.id)
And match payload.id == (newProduct.id)
And request payload
When method patch
Then status 200
And match response contains {name: 'New Product Iphone 7'}发布于 2017-08-02 00:51:42
这是按设计进行的--如果需要变量在功能中的所有Scenario的作用域中,请将其移动到Background中。如果希望只初始化该变量一次,请查看callonce关键字。
https://stackoverflow.com/questions/45448351
复制相似问题