我正在使用serenitybdd从csv文件加载数据,但我的代码无法从csv中获取值。当我试图在下面的@test-method 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,xyz654321098765432110000654321098765432010000
您可以一次尝试一个:
- 您的setter方法与您的私有变量的名称不同:
尝试将变量名更改为斗篷Pan和memberId,或者更改setter方法以匹配变量名。
- @UseTestDataFrom(value="template/test/data/response/test.csv"(
也许硬编码文件名的完整路径(从根目录(,只是为了确保它在正确的位置。
- 这里有一个例子,复制它看看是否有效-http://thucydides.info/docs/thucydides/_data_driven_testing_using_csv_files.html