有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何运行。使用Android emulator在Saucelabs上实现apk?

我想经营facebook。索塞拉布的apk。我根据SauceLabsinstructions使用curl成功地将apk文件下载到了sauce服务器

我使用以下代码启动应用程序:

capabilities.setCapability("appiumVersion", "1.4.0");
capabilities.setCapability("automationName", "Selendroid");
capabilities.setCapability("deviceName","Android Emulator");
capabilities.setCapability("platformVersion","4.2");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("app","sauce-storage:facebook.apk");
capabilities.setCapability("appActivity","com.facebook.katana.FacebookLoginActivity");  
capabilities.setCapability("appPackage", "com.facebook.katana");
capabilities.setCapability("newCommandTimeout", "300000");
try {
    BaseAppiumTest.driver = new RemoteWebDriver
            (new URL("http://SL_name_private:SL_key_private@ondemand.saucelabs.com:80/wd/hub"), capabilities);
} catch (MalformedURLException e) {
    e.printStackTrace();
}

我经常犯这样的错误:

POST /session 0 (+0.28s) desiredCapabilities: {"deviceName":"Android Emulator","automationName":"Selendroid","proxy":{"proxyAutoconfigUrl":"http://127.0.0.1:19876/pac.js","proxyType":"PAC"},"newCommandTimeout":"300000","platformVersion":"4.2","platformName":"Android"} => A new session could not be created. (Original error: hasInternetPermissionFromManifest failed. Error: Command failed: ERROR: dump failed because no AndroidManifest.xml found )

我查过了。本地下载了apk,而且似乎下载正确


共 (1) 个答案

  1. # 1 楼答案

    在Saucelabs模拟器中执行测试时,不需要提供(automationName、appActivity、appPackage)功能

    您可以使用以下示例功能:

    caps.setCapability("appiumVersion", "1.13.0");
    caps.setCapability("deviceName", "Samsung Galaxy S9 WQHD GoogleAPI 
          Emulator");
    caps.setCapability("deviceOrientation", "portrait");
    caps.setCapability("browserName", "");
    caps.setCapability("platformVersion", "9.0");
    caps.setCapability("platformName", "Android");
    caps.setCapability("app", "sauce-storage:WhatsApp.apk");