Sauce Labs运行iOS原生应用报错:基础设施错误无法启动浏览器或设备
报错修复方案
你遇到的Error: Infrastructure Error -- The Sauce VMs failed to start the browser or device报错,针对你的配置可以按以下步骤排查修复:
- 首先确认App包符合运行要求
你使用的是iPhone 7 Plus 13.0版本模拟器,上传的zip包必须是x86架构的模拟器专属构建包,不能是真机调试包;同时App的最低兼容系统版本不能高于13.0,否则模拟器无法正常安装启动应用。 - 修正Capability配置错误
- 你代码中
automationName变量未明确赋值,必须设为XCUITest,iOS 10及以上版本的自动化测试默认使用该驱动,缺省该参数会导致Appium启动失败 - 你用的测试节点是欧盟中1区(
eu-central-1),必须确认你的应用包是上传到该区域的Sauce存储,Sauce各区域的存储资源不互通,跨区域引用存储包会触发启动失败 sauceOpts中不需要重复填写username和accessKey,你已经在请求URL中携带了鉴权信息,重复传递会触发鉴权冲突- 原生应用测试不需要保留
browserName参数,可以直接删除该行配置
- 你代码中
- 修正后的参考配置如下:
MutableCapabilities sauceOpts = new MutableCapabilities(); sauceOpts.setCapability("build", "zzzz"); sauceOpts.setCapability("appiumVersion", "1.19.2"); DesiredCapabilities caps = DesiredCapabilities.iphone(); caps.setCapability("sauce:options", sauceOpts); caps.setCapability("automationName", "XCUITest"); caps.setCapability("deviceName","iPhone 7 Plus Simulator"); caps.setCapability("deviceOrientation", "portrait"); caps.setCapability("platformVersion","13.0"); caps.setCapability("platformName", "iOS"); caps.setCapability("app","storage:filename=zzzz.zip"); driver = DriverConfig.getInstance().setDriver(new IOSDriver(new URL("https://zzzz:zzzz@ondemand.eu-central-1.saucelabs.com:443/wd/hub"), caps));
内容的提问来源于stack exchange,提问作者Subhist Subedar
相关产品推荐
相关产品推荐

