0

I was trying to set up Appium to automate iOS app actions on an Xcode iPhone 8 simulator. I was unsure of how to allow the Appium desktop server to interact with the simulator. I saw that I had to set certain capabilities and based on some tutorials, I set platformName, platformVersion, deviceName, but when I tried to set "app" capability, it said that it could only be set to .app files. My app is an xcodeproj, and I was wondering if it was possible to use it as is? Also, I was wondering how to allow appium to interact with built-in iOS apps, such as calendar, clock etc because I don't have the app files for those apps. Does the desiredCapabilities for appium have to be set to a .app file, or can I also use appium to interact with the iphone simulator itself?

Through the appium inspector, I have set platformName to "iOS", platformVersion to "15.5", deviceName to "iPhone 8", but I can't set the path to an .app file because my app is an xcodeproj.

Desc
  • 1

2 Answers2

0

Yes, you can interact with a simulator with Appium. Moreover, you can only install files with the extension .app on the simulator, you can't install .ipa You can copy your APP file in any place, an app stored in the Products catalog

    **Simulator YAML:**
  platformName: 'ios'
  deviceName: 'iPhone 11'
  automationName: 'XCUITest'
  platformVersion: '15.2'
  udid: 'simualtor UDID'
  bundleId: 'your bundle id'
  systemPort: '4723'
  autoAcceptAlerts: 'true'
  unicodeKeyboard: 'true'
  resetKeyboard: 'true'
  fullReset: 'false'
  locale: 'en'
  language: 'en'
  keepKeyChains: 'false'
  acceptInsecureCerts: 'true'
  --relaxed-security: 'true'

{
 “deviceName”: “iPhone”,
 “platformVersion”: “15.6",
 “platformName”: “iOS”,
 “udid”: “simulator/device UDID”,
 “app”: “path to file”,
 “automationName”: “XCUITest”,
 “noReset”: true
}
0
  1. You will need to generate a .app file for Appium to have it install automatically. If you don't want to generate .app file, and instead want to install it directly on the device (through your xcodeproj), then in that case you may not use "app" capability. Instead, you can supply bundleId capability and provide the bundle ID of the app as the value. Appium will then skip the installation and instead launch your already installed app.

  2. You can certainly use Appium to automate the IOS systems app like calculator, clock, etc. You will need to supply the bundle ID of whatever app you can to interact with. You can get the bundle Ids from here: https://support.apple.com/en-in/guide/deployment/depece748c41/web