gpt4 book ai didi

java - 如何将我的数据从 csv 文件获取到 DataProvider

转载 作者:行者123 更新时间:2023-12-02 03:07:57 26 4
gpt4 key购买 nike

我需要从 csv.file 中获取数据(用户名和密码),并使用它在 Selenium 中使用 DataProvider 注册一些新用户。我已经让 Reader 读取这个文件,但我无法正确地将这些数据放入 DataProvider 中。请帮助我。

我创建了一种读取 csv 文件并与提供商一起测试工作的方法。

我的方法公共(public)静态列表用户 = new ArrayList<>();

public static Object openCSVReader() throws IOException {

CSVReader reader = new CSVReader(new FileReader(System.getProperty("user.dir") + "\\src\\test\\resources\\users.csv"), ',');

// read line by line
String[] record = null;

while ((record = reader.readNext()) != null) {
User user = new User("username", "password");
user.setUsername(record[0]);
user.setPassword(record[1]);
users.add(user);
}


reader.close();
return users;

}

我的测试

@Test(dataProvider = "registration")
public void registerCSVFiles(String username, String password) throws IOException {
registerPage.writeInForm(user);
registerPage.writeFile(user);
registerPage.selectUserAndRegister();
}
}
@DataProvider(name = "registration")
public static Object[][] credentials() throws IOException {
return new Object[][]{
{users.get(0)},{users.get(1)}
};
}

我无法从 openCSVReader 获取数据。请帮忙

最佳答案

以下方法可能有助于满足您的要求。

csv 文件的示例内容如下。 (用户.csv)

user1,password1

user2,password2

测试类组成如下;

@DataProvider(name = "userDetails")
public static Object[][] readCsv() throws IOException {
CSVReader csvReader = new CSVReader(new FileReader(System.getProperty("user.dir")+"/src/test/resources/users.csv"),',');
List<String[]> csvData=csvReader.readAll();
Object[][] csvDataObject=new Object[csvData.size()][2];
for (int i=0;i<csvData.size();i++) {
csvDataObject[i]=csvData.get(i);
}
return csvDataObject;
}

@Test(dataProvider = "userDetails")
public void userLoginTest(String userName,String password){
System.out.println(userName+" "+password);
}

注意: DataProvider 方法应驻留在测试方法所在的同一类中,或者应驻留在其基类中

使用的库:OpenCSV

关于java - 如何将我的数据从 csv 文件获取到 DataProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57010953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com