我希望编写的每个测试都可以在xml和json中进行测试,因此使用黄瓜我可以为两种内容类型设置设置方案概述,将检查内容类型分为自己的步骤。
Scenario Outline: A user is able to get all entries from the resource
Given a user accesses the rest service using Content-Type <contentType>
When a user GETs the <resource> endpoint
Then the user will see the expected <status> code
Examples:
| contentType | resource | status |
| xml | JobTitles | 200 |
| json | JobTitles | 200 |
运行测试时,我检查以一种方法查看内容类型是否设置为xml或其他,在另一种方法中获取端点,但是端点总是使用xml的内容类型返回,我在先前方法中设置的值没有被传递,这是代码的细分
@Step("Set Content-Type")
public void setContentType(String contentType) {
if (contentType.equals("xml")) {
SerenityRest.rest().given().spec(ReuseableSpecifications.getXmlRequestSpec());
}
else {
SerenityRest.rest().given().spec(ReuseableSpecifications.getJsonRequestSpec());
}
}
@Step("Get Resource Endpoint")
public void getResourceEndpoint(String resource) {
SerenityRest.when().get(resource);
}
要使此功能正常工作,请提供任何帮助,或者如果需要赞赏每个测试中设置内容类型的语句,那么其他使我不需做的其他方法。