Repository navigation
ci: run the iOS mobile web e2e tests on a simulator - #1310
Conversation
|
|
235e1ee to
a2697eb
Compare
… from env vars IOS_DEVICE_NAME and IOS_PLATFORM_VERSION replace the fixed simulators (iPhone 15 Pro with iOS 17.5, iPhone 15 with iOS 17.2). The defaults do not change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A new workflow creates a new simulator (iPhone 17 Pro, the newest iOS runtime of the default Xcode) in a macos-26 runner, starts Appium 3 with the XCUITest driver, and runs the mobile web suite 3 times: a warm-up (WebDriverAgent build, Safari first-start tip, first-boot notification), a setup run that saves the baselines, and a compare run. Same triggers as the Android emulator workflow. The LambdaTest iOS jobs stay. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In the first run, Appium built WebDriverAgent inside the session and waited only 60 s for it, so every session start timed out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Appium restarted the simulator with a window because it was booted headless, and the restart took more than 120 s. Set appium:isHeadless in CI only, so local runs keep the Simulator window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first session on a new CI simulator took 183 s, and WebdriverIO stopped waiting after 180 s (connectionRetryTimeout). WebDriverAgent also needed more than its 60 s start limit. In CI only: connectionRetryTimeout 10 minutes and wdaLaunchTimeout 180 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The web inspector reported the Safari application just after Appium stopped looking for it (20 retries of 500 ms). In CI only: webviewConnectTimeout 60 s and webviewConnectRetries 120. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
In run 5 the setup run passed, but the compare run failed: Appium reused the cached WebDriverAgent of the previous session, which had stopped (connect ECONNREFUSED). In CI only: appium:useNewWDA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d60c42c to
ce96e20
Compare
What
ios simulator: a new iOS simulator (iPhone 17 Pro, the newest iOS runtime of the default Xcode) in amacos-26runner, with Appium 3.8.0 and the XCUITest driver 12.16.0. Same triggers as theandroid emulatorworkflow (ci: run the Android mobile web e2e tests on an emulator #1306). The LambdaTest iOS jobs stay..github/scripts/ios-simulator-e2e.sh:appium driver run xcuitest build-wda; output inlogs/build-wda.log);pnpm test.local.sims.web3 times: a warm-up (the full page test only; its result and files are not kept), a setup run that saves the baselines, and a compare run (a missing baseline fails). If the setup run fails, the job stops and the compare run does not happen;tests/configs/wdio.local.ios.sims.web.conf.ts:IOS_DEVICE_NAME/IOS_PLATFORM_VERSION(the defaults do not change; same for the sims app config);connectionRetryTimeout10 min, andappium:isHeadless,appium:wdaLaunchTimeout180 s,appium:webviewConnectTimeout60 s,appium:webviewConnectRetries120,appium:useNewWDA. Each value comes from a failed CI run (see the commits): the first session on a new simulator takes about 3 minutes, Safari is reported late by the web inspector, and a reused WebDriverAgent can have stopped.AGENTS.mdand the verify skill describe the new workflow and the env vars.Test
Notes
appium:orientation: LANDSCAPEhas no effect on iOS 26 simulators, so the suite runs in portrait (the test names still say landscape-mode).hideAfterFirstScrollelements were hidden after the scroll wait, so a slow device could still show them (fixed in fix: hide the hideAfterFirstScroll elements before the full page scroll wait #1315).🤖 Generated with Claude Code