我正在尝试使用 Acvitity 方法进行 Android 测试。
public void setActivity() {
Activity activity = new Activity("com.androidsample.generalstore","com.androidsample.generalstore.MainActivity");
((JavascriptExecutor)driver).executeScript("mobile: startActivity", ImmutableMap
.of("intent", "com.androidsample.generalstore/com.androidsample.generalstore.MainActivity"));
}
@BeforeMethod(enabled = true)
public void preSetup() { //screen to homepage
formPage.setActivity();
}
adb shell dumpsys window | find "mCurrentFocus" mCurrentFocus=Window{38760a4 u0 com.androidsample.generalstore/com.androidsample.generalstore.MainActivity}
我不断收到错误消息
org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:执行 adbExec 时出错。原始错误:'命令'C:\ Users \ Irvin \ AppData \ Local \ Android \ Sdk \ platform-tools db.exe -P 5037 -s emulator-5554 shell am start-activity com.androidsample.generalstore/com.androidsample .generalstore.MainActivity' 退出,代码为 255';命令输出: 执行“start-activity”时发生异常:`
我尝试使用旧版本来执行此操作,但该方法已失效并且不再有效。有人知道这个问题的解决方法吗?
在appium2.0中可以直接使用startactivity()方法来启动任何activity。这里不需要使用javascript执行器
public void setActivity() {
Activity activity = new Activity("com.androidsample.generalstore", "com.androidsample.generalstore.MainActivity");
driver.startActivity(activity);
}