使用Android uiAutomator时,我在尝试在4.1.2设备上运行测试时遇到了问题。 使用enter link description here中的代码时,在尝试滚动应用程序托盘时会抛出异常。
我原本以为这是因为编译api 17而不是16而引起的,但这似乎不是真的。 还有其他人遇到过吗?
提出异常:
[exec] java.lang.reflect.InvocationTargetException [exec] at java.lang.reflect.Method.invokeNative(Native Method) [exec] at java.lang.reflect.Method.invoke(Method.java:511) [exec]在com.example.runTests(Runner.java:124) [exec]在com.example.testExecutor(Runner.java:60) [exec] at java.lang.reflect.Method.invokeNative(Native Method) [exec] at java.lang.reflect.Method.invoke(Method.java:511) [exec]在junit.framework.TestCase.runTest(TestCase.java:168) [exec]在junit.framework.TestCase.runBare(TestCase.java:134) [exec]在junit.framework.TestResult $ 1.protect(TestResult.java:115) [exec]在junit.framework.TestResult.runProtected(TestResult.java:133) [exec]在junit.framework.TestResult.run(TestResult.java:118) [exec]在junit.framework.TestCase.run(TestCase.java:124) [exec]在com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:124) [exec]在com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85) [exec]在com.android.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76) [exec]在com.android.commands.uiautomator.Launcher.main(Launcher.java:83) [exec] at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) [exec]在com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235) [exec] at dalvik.system.NativeStart.main(Native Method) [exec]引起:java.lang.NoSuchMethodError:com.android.uiautomator.core.UiScrollable.setAsHorizontalList [exec]在com.example.Runner.launchAppFromHomeScreen(Test.java:45) [exec] ... 19更多
答案 0 :(得分:7)
UIAutomator的代码有变化:
4.1.1 method : public void setAsHorizontalList ()
4.2 method : public UIScrollable setAsHorizontalList ()
也许你正在使用API-17的UIAutomator来构建测试 但是在API-16设备上运行。 尝试使用相应的UIAutomator.jar
答案 1 :(得分:1)
本周我用UI Automator进行的实验看起来仍然不成熟,有了最好的支持,android-17作为你的目标和运行4.2.1的设备。我尝试使用安装了4.1.2的Galaxy S设备,并且与您报告的设备有类似的错误。
仅供参考:我认为Android 4.2.2中存在一个错误,它会停止多次刷卡而导致scrollIntoView(...)调用停止。我已向Google https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/TjeewtpNWf8
报告了此问题我发现演示应用http://developer.android.com/tools/testing/testing_ui.html使用Android 4.2.1在我的设备上运行您可能需要略微调整代码,但方法调用可以正常工作。
答案 2 :(得分:0)
你好,即使我遇到了同样的问题,然后我首先删除了我的build.xml并创建了新的build.xml文件,然后运行ant build。它适用于我尝试相同..