是否可以编写参数化的android espresso UI测试?
在编写android espresso UI测试时,是否可以编写参数化测试,接受来自两个不同json文件的数据,以在应用程序中添加项目列表?是否可以编写参数化的android espresso UI测试?,android,junit,android-espresso,ui-automation,parameterized-tests,Android,Junit,Android Espresso,Ui Automation,Parameterized Tests,在编写android espresso UI测试时,是否可以编写参数化测试,接受来自两个不同json文件的数据,以在应用程序中添加项目列表? 我见过一些参数化测试,它们使用两个文件并为junit测试运行相同的测试代码,但找不到android espresso UI测试的任何参考。您可以执行以下操作: @RunWith(Parameterized.class) public class LoginTest { @Parameterized.Parameter public String
我见过一些参数化测试,它们使用两个文件并为junit测试运行相同的测试代码,但找不到android espresso UI测试的任何参考。您可以执行以下操作:
@RunWith(Parameterized.class)
public class LoginTest {
@Parameterized.Parameter
public String mUserName;
@Parameterized.Parameter(value = 1)
public String mPassword;
@Parameterized.Parameters
public static Collection<Object[]> initParameters() {
return Arrays.asList(new Object[][]{
{"validUsername", "validPassword"},
{"invalidUsername", "invalidPassword"},
// or other initialization like json file input
});
}
// Tests using mUserName and mPassword
}
@RunWith(参数化的.class)
公共类登录测试{
@参数化
公共字符串库名;
@参数化。参数(值=1)
公共字符串mPassword;
@参数化。参数化
公共静态集合initParameters(){
返回Arrays.asList(新对象[][]{
{“validUsername”,“validPassword”},
{“invalidUsername”、“invalidPassword”},
//或其他初始化,如json文件输入
});
}
//使用mUserName和mPassword进行测试
}
然后,每个测试都将使用参数数组的每个元素运行。请查看该库,它非常方便,JUnit4
参数化的下一个演变步骤
如何初始化initParameters中的文件?例如,我有testData1.json和testData2.json