通常我们将@dataProvider
用于Excel文件;如果对于文本(。txt)文件是这样的话,任何示例都会有所帮助..非常感谢任何帮助!!
答案 0 :(得分:1)
我认为没有理由不去工作。数据提供者函数就像任何其他函数一样(就如何获取数据而言)。您需要确保的是,您返回Object[][].
在我的情况下,我从@dataprovider.
以下是我的表现方式。您可以轻松地将其转换为从任何内容中读取:
@DataProvider(name="creds")
protected Object[][] returnCreds() {
Properties cred = new Properties();
try {
FileInputStream input = new FileInputStream(System.getProperty("java.io.tmpdir") + "cred.properties");
cred.load(input);
} catch (IOException e) {
ApiHelper.doLog(e.getMessage(),false,ApiHelper.logVerbosity.ERROR);
}
Object[][] creds = new Object[1][2];
creds[0][0] = cred.getProperty("user");
creds[0][1] = cred.getProperty("pass");
return creds;
}
@Test(dataProvider="creds")
protected void testCreds(String username, String password) throws Exception {
System.out.println(username + password);
}
修改强>
上面的代码假设您的属性文件只有一个条目:
user=xyz
pass=123
对于search=keyword1,keyword2,keyword3
并且需要为每个keyword
运行3次搜索的情况,您只需进行一些额外的处理:
String[] splits = cred.getProperty("search").split(",");
现在只需将每个split关键字存储到creds [] []对象的一个元素中。留给你作为练习:)
答案 1 :(得分:1)
This repo有实例。请验证。