8°

cucumber-demo

名词解释

Feature

Feature是所有测试的开头。后面跟一段描述性的文字,表明这个测试文件是干什么的。

description

description是一段扩展性的文字描述,可以跟在Feature、Example、Background、Scenario、Scenario Outline下面。

Example和Scenario

Example和Scenario是一对同义词,是一个具体的测试case,包含了多个step。一般情况下,都是由Given(给定一个初始条件),When(发生了什么),Then(结果是什么)组成的。

Steps

step是cucubmer的最小单元,每个step是由Given, When, Then组成。

例子

Feature: 商家管理测试

Scenario: 登录测试 Given 打开登录地址 "https://localhost:8080/sso/login" When 登录链接是否正常 Then 登录后是否有token

public class LoginStepdefs {

    private String token;
    private  Response response;

    @Given("打开登录地址 {string}")
    public void 打开登录地址(String url) {
        System.out.println("url = " + url);
        InputStream inputStream = getClass().getResourceAsStream("/io/cucumber/mryt/srm/login.json");
        response = given()
                .body(inputStream)
                .with().contentType(ContentType.JSON)
                .config((RestAssured.config().sslConfig(new SSLConfig().relaxedHTTPSValidation())))
                .post(url);

    }


    @When("登录链接是否正常")
    public void 登录链接是否正常() {
        System.out.println("response.getBody().asString() = " + response.getBody().asString());
        response.then().assertThat().statusCode(200);

    }

    @Then("登录后是否有token")
    public void 登录后是否有token() {
        token = response.path("data.token");
        Assert.assertTrue(StringUtils.isNotBlank(token));
    }
}

本文由【jack_peng】发布于开源中国,原文链接:https://my.oschina.net/penghaozhong/blog/3072817

全部评论: 0

    我有话说: