You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SauceLabs iOS模拟器Appium自动化测试性能过慢求优化方案

SauceLabs iOS模拟器自动化测试性能问题求助

我在SauceLabs的iOS模拟器上执行自动化测试时遇到了极差的性能表现,举个例子:一个简单的授权测试

  • Android模拟器:耗时1分50秒完成
  • iOS模拟器:耗时12分52秒完成

进一步查看后发现,运行iOS模拟器的VM资源配置远低于需求:

  • 芯片:Intel Core 2 Solo
  • 内存:6GB
  • 显卡:VMware SVGA || 32 MB

我本地使用Apple M1 Pro芯片、16GB内存的设备运行同样测试完全没有问题,因此判定SauceLabs提供的VM资源不足以支撑iOS模拟器流畅运行。

目前我唯一的解决办法是切换到SauceLabs真实设备,测试执行速度和Android模拟器相当,授权测试耗时约1分50秒,但真实设备的成本比虚拟设备高很多,使用虚拟设备会更划算。

我想确认是否遗漏了某些配置项:比如有没有办法为Appium测试配置更高资源的VM?或者是否存在特殊Capability可以优化iOS模拟器的性能?我在官方文档中没有找到相关方法,希望有遇到过相同情况的人能给出建议,感谢。

附:我的Capabilities配置(当前偏向真实设备)

private DesiredCapabilities getSauceLabsIOSDesiredCapabilities() {
        CAPABILITIES.readCapabilitiesFromProperties();
        DesiredCapabilities capabilities = CAP.get();
        capabilities.setCapability("appium:deviceName", new SauceLabsService().getNotBusyIOSRealDevice(DEVICE).getFullDeviceName());
        capabilities.setCapability("appium:platformVersion", DEVICE.getPlatformVersion());
        capabilities.setCapability("appium:automationName", "XCUITest");
        capabilities.setCapability("appium:deviceOrientation", "portrait");
        capabilities.setCapability("appium:sendKeyStrategy", "setValue");
        capabilities.setCapability("appium:settings[waitForQuiescence]", false);
        capabilities.setCapability("appium:autoFillPasswords", false);
        capabilities.setCapability("appium:settings[animationCoolOffTimeout]", 0);
        capabilities.setCapability("appium:settings[customSnapshotTimeout]", 2);
        capabilities.setCapability("appium:noReset", true);
        capabilities.setCapability("appium:bundleId", "my.cool.app");
        capabilities.setCapability("appium:settings[pageSourceExcludedAttributes]", "visible,enabled,accessible,x,y,width,height,index");
        capabilities.setCapability("appium:derivedDataPath", "/Volumes/Sauce/wda/wda-v2.0.0-xcode13.0/WebDriverAgent/DerivedData/WebdriverAgent");
        capabilities.setCapability("appium:app", AppCenterService.getInstance().getApp().get("url"));
        capabilities.setCapability("appium:shouldTerminateApp", true);

        MutableCapabilities sauceOptions = new MutableCapabilities();
        sauceOptions.setCapability("appiumVersion", "2.0.0");
        sauceOptions.setCapability("cacheId", "some_cache");
        sauceOptions.setCapability("build", CAPABILITIES.getBuildNumber());
        sauceOptions.setCapability("name", CucumberScenario.SCENARIO.get().getName());
        sauceOptions.setCapability("videoUploadOnPass", false);
        capabilities.setCapability("sauce:options", sauceOptions);

        log.info("Capabilities: " + new JSONObject(capabilities.toJson()).toString(identFactor));
        return capabilities;
    }

内容的提问来源于stack exchange,提问作者Arsen Domanych

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 14:47:35