0

我正在使用 serenitybdd 从 csv 文件加载数据,但我的代码无法从 csv 获取值。当我尝试在下面的@test 方法 i_setup_the_request_fields() 中打印时,它显示 xyz 和 abc 的空值。我在这里做错了什么?

这是java和csv文件的代码。

@RunWith(SerenityParameterizedRunner.class)
@UseTestDataFrom(value="template/test/data/response/test.csv")
public class TestCustomSteps {


private String abc;
private String xyz;

@Steps
RestAssuredSteps restAssuredSteps;



public void setAbc(String abc) {
    this.abc = abc;
}


public void setXyz(String xyz) {
    this.xyz = xyz;
}


@Qualifier
public String qualifier() {
    return abc + "=>" + xyz;
}

@Test
@Given("I setup the request fields")
public void i_setup_the_request_fields() {
    // Write code here that turns the phrase above into concrete actions

    System.out.println(abc+"--"+xyz);
    Map<String,String> mapData = new HashMap();
    mapData.put("abc",abc);
    mapData.put("xyz",xyz);

    restAssuredSteps.setRequestFields(mapData);
}



}

和 csv 文件

abc,xyz 6543210987654321,10000 6543210987654320,10000

4

1 回答 1

0

您可以一次尝试几件事:

  1. 您的 setter 方法的名称与您的私有变量不同:

尝试将您的变量名称更改为 cloakPan 和 memberId 或更改您的 setter 方法以匹配您的变量名称。

  1. @UseTestDataFrom(value="template/test/data/response/test.csv")

也许硬编码文件名的完整路径(从根目录)只是为了确保它在正确的位置。

  1. 这里有一个例子,复制它看看是否有效 - http://thucydides.info/docs/thucydides/_data_driven_testing_using_csv_files.html
于 2020-04-04T21:25:57.750 回答