在Cucumber JVM步骤中确保可重用的规范

时间:2018-11-26 14:50:52

标签: cucumber rest-assured cucumber-java serenity-bdd cucumber-serenity

我希望编写的每个测试都可以在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);
}

要使此功能正常工作,请提供任何帮助,或者如果需要赞赏每个测试中设置内容类型的语句,那么其他使我不需做的其他方法。

0 个答案:

没有答案