我想自动化在我的Android应用程序上运行的Robotium测试,但是,我需要将参数传递给我的测试,以便允许它们在该配置下运行。
我可以从命令行启动测试,如下所示:
adb shell am instrument -r -w -e PARAM PARAM_1,PARAM_2 com.company.product.application.test/android.support.test.runner.AndroidJUnitRunner
我在我的代码中获取这些参数:
Bundle extras = InstrumentationRegistry.getArguments();
if (extras.containsKey("PARAM")) {
this.param1= new ArrayList<>();
this.param1= Arrays.asList(extras.getString("PARAM").split("\\s*,\\s*"));
}
我打算调用Device Farm API (https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html)来运行测试,但我正在努力寻找可以声明参数/参数的地方。或者找到一种方法,将它们上传到AWS中的某个文件中,以便设备群进行读取。
我找到了一些4-5年前的文章,声称不支持传递启动器参数,但正在调查,以防有人说我懒惰,但没有人在那里或亚马逊论坛上回答任何问题,所以我想我应该把问题放在这里。
有没有人能帮我解决上面的问题?
发布于 2018-07-26 09:24:53
这些测试是由Device Farm在内部执行的,因此目前无法控制运行时发送给它的参数。但是,应该可以包含其他文件,这些文件可能包含用于测试相同信息。以下是我对此有两个想法:
/sdcard
。然后,测试可以从设备本身获得信息。这是schedule run API的一部分,因此运行测试的脚本可以通过编程实现这一点。除此之外,我还没有找到包含Device Farm的参数或文件的其他方法。
Hth -James
https://stackoverflow.com/questions/51523330
复制相似问题