【问题标题】:unable to read data from csv file using SerenityParameterizedRunner无法使用 SerenityParameterizedRunner 从 csv 文件中读取数据
【发布时间】:2020-04-03 21:29:41
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: cucumber serenity-bdd data-driven-tests thucydides


    【解决方案1】:

    您可以一次尝试几件事:

    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

    【讨论】:

    • 感谢您的回复,1. 抱歉,我忘了用 abc 和 xyz 替换实际的 setter 方法和参数。但它肯定不是问题。 2. 我尝试了绝对路径和相对路径,但问题是一样的 3,我从这里看一下例子,但仍然是同样的问题。
    猜你喜欢
    • 2017-03-30
    • 1970-01-01
    • 2022-11-16
    • 2021-11-30
    • 1970-01-01
    • 2012-09-13
    • 2014-01-07
    • 2019-09-17
    相关资源
    最近更新 更多