I have self hosted macMini on which I ran my tests both android and ios. Android works fine.
On ios I cannot build webdriveragentrunner on github actions pipeline I get xcode 65 error
The item at WebDriverAgentRunner-Runner.app is not a valid bundle.
com.apple.dt.CoreDeviceError
Code: 3000
Failed to get the identifier for the app to be installed.
Recovery Suggestion: Ensure that your bundle's Info.plist contains a value for the CFBundleIdentifier key.
Testing failed:
Command CodeSign failed with a nonzero exit code
Failed to install the app on the device.
WebDriverAgentRunner-Runner encountered an error (Failed to install or launch the test runner. (Underlying Error: Failed to install the app on the device. (Underlying Error: The item at WebDriverAgentRunner-Runner.app is not a valid bundle. Failed to get the identifier for the app to be installed. Ensure that your bundle's Info.plist contains a value for the CFBundleIdentifier key.)))
e[38;5;157m[305f65a9]e[0me[38;5;173m[Xcode]e[0m
e[38;5;157m[305f65a9]e[0me[38;5;173m[Xcode]e[0m ** TEST EXECUTE FAILED **
e[38;5;157m[305f65a9]e[0me[38;5;173m[Xcode]e[0m
e[38;5;157m[305f65a9]e[0me[38;5;173m[Xcode]e[0m Testing started
e[38;5;157m[305f65a9]e[0me[38;5;173m[Xcode]e[0m xcodebuild exited with code '65' and signal 'null'
Appium: 3.5.0
appium-xcuitest-driver: 11.8.0
iphoneOS: 26.5
Xcode: 26.5
wdio: 9.27.2
typescript
When I try locally it builds and runs.
Previously it worked. I’m using paid account for signing the app.
appium-xcuitest-driver: 11.8.0 - is very fresh version. Means you just installed it.
Now how you configure WebDriverAgentRunner to work with real phones?
For example I use FULL manual way and building it in xCode while in driver start already using pre-builded ipa file.
I providing xcodeOrgId in real device config which means that appium driver xcuitest takes id and runs command to build webdriverAgentRunner by him self and then install into phone
By full manual way you mean: in ios config in your project you providing path to wda?
yes! So no need to build each time.
Try check if webdriver file actually generated
You just suggested a good idea. I can actually run the tests locally to generate the WDA, then update the config to use it with prebuiltWDAPath, and it should work 
Good morning @Aleksei,
Could you show how your config looks like ? When I try to use existing WDA my iphone just blinks and doesn’t launch wda
I do in suite always ONE test fullReset to install last app and wda and all other normal start
// path to app
optionsXCUITest.setDerivedDataPath(System.getProperty("user.home") + "/Library/Developer/Xcode/DerivedData/WebDriverAgent-bjbrnfdpmrrjfoeiukvphjgihpus");
// tweak wda install
optionsXCUITest
.setWdaStartupRetries(4) // default 2
.setCapability("iosInstallPause", 500); // default 0 ms
.setUsePrebuiltWda(true)
// how we start ->
if (devicePlatform.contains("fullReset".toLowerCase())) { // reinstall client
Logger.log("Driver DO FULL-RESET");
optionsUiAutomator2
.setFullReset(true)
.setNoReset(false);
optionsXCUITest
.setFullReset(true)
.setNoReset(false)
.setUseNewWDA(true);
} else if (devicePlatform.contains("fastReset".toLowerCase())) { // clears cache without reinstall
Logger.log("Driver DO FAST-RESET");
optionsUiAutomator2
.setFullReset(false)
.setNoReset(false);
optionsXCUITest
.setFullReset(false)
.setNoReset(false)
.setUseNewWDA(false);
} else {
Logger.log("Driver DO NORMAL start");
optionsUiAutomator2
.setFullReset(false)
.setNoReset(true);
optionsXCUITest
.setFullReset(false)
.setNoReset(true)
.setUseNewWDA(false);
}
1 Like