gpt4 book ai didi

java - 在 AndroidJunit 测试项目中运行 UiAutomatorTestcase

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:15 27 4
gpt4 key购买 nike

我实际上正在尝试在使用以下类的 AndroidJunit 测试项目中实现一个简单的测试套件

  • 用户界面对象
  • 用户界面选择器
  • UiAutomator 测试用例

在 Android 设备上单击并打开 Messaging 应用程序,然后在 Eclipse 中将其作为 AndroidJunit Test 运行。

运行代码时出现以下异常

java.lang.RuntimeException: Stub!

我不明白我哪里错了。请让我知道我们是否可以使用 AndroidJuint 测试项目运行 UiAutomatorTestcase 测试套件。

这里是示例代码和失败轨迹

public class UiautomatorTest extends
ActivityInstrumentationTestCase2<MyMainActivity> {

UiAutomatorTestCase mUiAutomatorTestCase;

public UiautomatorTest() {
super(MyMainActivity.class);`enter code here`
// TODO Auto-generated constructor stub
}

@Override
protected void setUp() throws Exception {
// TODO Auto-generated method stub
super.setUp();
mUiAutomatorTestCase = new UiAutomatorTestCase();
}

public void testToOpenMessageApp() throws UiObjectNotFoundException {
UiObject message = new UiObject(
new UiSelector().description("Messaging"));
message.clickAndWaitForNewWindow();

UiObject composeMessage = new UiObject(
new UiSelector().description("compose"));
composeMessage.clickAndWaitForNewWindow();

UiObject typeMessage = new UiObject(
new UiSelector().description("Type Message"));
typeMessage.clickAndWaitForNewWindow();
mUiAutomatorTestCase.getUiDevice().pressHome();

}

}

堆栈跟踪

java.lang.RuntimeException: Stub!
at mypackagename.UiAutomatorTestCase.<init>(UiAutomatorTestCase.java:5)
at mypackagename..setUp(UiautomatorTest.java:25)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)

最佳答案

您需要在 Android 设备上运行测试。为此,代码需要为 dexed。在它可以运行之前,等等。阅读更多 here关于如何构建在 Android 上运行的测试。

像这样运行测试

adb shell uiautomator runtest <JARS> -c <CLASSES> [options]

来自official documentation .

To run your testcases on the target device, you can use the adb shell command to invoke the uiautomator tool.

关于java - 在 AndroidJunit 测试项目中运行 UiAutomatorTestcase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17752860/

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