gpt4 book ai didi

android - uiAutomator 测试类的参数

转载 作者:行者123 更新时间:2023-11-29 14:50:00 28 4
gpt4 key购买 nike

我是 uiAutomator 的新手。我尝试将参数传递给方法,它运行但忽略传递给它的任何内容。只是想知道我们是否可以将任何参数传递给 uiAutomator 中的测试类或测试方法?

最佳答案

我知道这个问题有点陈旧,但我刚刚开始研究 UIAutomator 项目并想分享我的发现。

原来的问题有点模棱两可。从现有的答案来看,似乎每个人都认为问题是关于命令行参数/启动参数的,所以我将效仿。

这两个答案都不适合我正在做的事情。我认为可以使用第一个,但是为了这样一个简单的任务而过度使用 onCreate 有点矫枉过正。第二个对我来说似乎根本不起作用。我相信它缺少一些信息。

获取参数是从arguments Bundle 调用。您需要从仪器测试中获取。您可以通过调用 InstrumentationRegistry 在 AndroidTest 中执行此操作

Bundle testBundle = InstrumentationRegistry.getArguments();

然后您可以从该包中调用 get string。

testBundle.getString(key);

我不确定如何从 eclipse 或 android studio 中完全做到这一点,但您可以从命令行指定使用以下 ADB 调用运行测试。

adb shell am instrument -w -r   -e debug false -e class com.example.testApp.testappone.ExampleClass -e ParamKey 'your variable value' com.example.testApp.testappone.test/android.support.test.runner.AndroidJUnitRunner

只是为了展示一个完整的示例,如果您进行上面的 adb 调用,您将使用以下代码访问该参数。

@Test
public void FirstTest(){
Bundle testBundle = InstrumentationRegistry.getArguments();
String paramValue = testBundle.getString("ParamKey");
}

我确实想指出,您可以通过多种方式调用 adb,所以请不要纠结于使用 instrument 还是 uiautomator。重要的部分是您使用 -e 键值指定参数。

来源: Android Junit runner - used to run UI automator projects

Instrumentation documentation

关于android - uiAutomator 测试类的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484038/

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