首页 > 解决方案 > 启动startActivity驱动后还在以前的包里

问题描述

        Activity activity = new Activity("com.android.chrome","com.google.android.apps.chrome.Main");
        activity.setStopApp(false);((StartsActivity)driver).startActivity(activity); 
    Thread.sleep(5000); 
driver.get("https://www.youtube.com/watch?v=-GJTzPOIoqs");

驱动程序未切换到当前活动。它仅在以前的 Apppackage 中

标签: appium

解决方案


您检查过活动名称吗?可能是com.google.android.apps.chrome.Main不是启动应用程序的活动。

您可以尝试重新初始化驱动程序并将浏览器设置为功能:

public static AndroidDriver<?> setUpForChrome(){
  DesiredCapabilities capabilities = new DesiredCapabilities();
  capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
  capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "4.2.2");
  capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android");
  capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
  ChromeOptions options=new ChromeOptions();
  options.setExperimentalOption("androidPackage", "com.android.chrome");
  capabilities.setCapability(ChromeOptions.CAPABILITY, options);

  return (AndroidDriver<?>) new RemoteWebDriver(appiumUrl, capabilities);
}

也许您需要先使用 driver.closeApp() 停止您的其他应用程序,例如:

driver.closeApp();
driver = setUpForChrome();
driver.get("https://www.youtube.com/watch?v=-GJTzPOIoqs");

推荐阅读