How to setup Appium in Mac for Automating iOS 10 and above?

We are going to see Appium desktop installation and setup for Mac in this post. I’ve used Appium Version 1.2.0-beta.3, MacOS Sierra 10.12.6, iOS 10.2 simulator(iPhone SE) and XCODE IDE Version 8.2.1 (8C1002) in this post.

Please refer the below URL(post) about the olden version of Appium installation in your Mac;

https://gopekannan.wordpress.com/2015/08/31/how-to-setup-and-automate-ios-mobile-application-using-appium-in-mac/

Please follow step by step instructions to complete the Appium installation in your Mac;

Step 1:

Download Appium Version 1.2.0-beta.3 using the below URL;

Select the file name “appium-desktop-1.2.0-beta.3.dmg”

https://github.com/appium/appium-desktop/releases/tag/v1.2.0-beta.3

Install the downloaded dmg file in your Mac and add in your Applications after drag & drop; Now, you can see Appium icon in the launchpad.

1_Appium Desktop App for Mac

Step 2: <Important>

Install the following external dependencies in your Mac;

Refer the below URL for your better understanding about the external dependencies;

https://github.com/appium/appium-xcuitest-driver

Go to your terminal window and run the below list of commands;

brew install libimobiledevice –HEAD

brew install ideviceinstaller

If it is already installed in your machine, update the required item as mentioned in the terminal window;

brew upgrade ideviceinstaller

brew install carthage

If it is already installed in your machine, update the required item as mentioned in the terminal window;

brew upgrade carthage

npm install -g ios-deploy

You should get ** BUILD SUCCEEDED ** information in your terminal window once run the above command.

gem install xcpretty

Step 3:

Now, we need to configure the webdriver agent available in your Mac;

What is WebDriver Agent?

WebDriverAgent is a WebDriver server implementation for iOS that can be used to remote control iOS devices. It allows you to launch & kill applications, tap & scroll views or confirm view presence on a screen. This makes it a perfect tool for application end-to-end testing or general purpose device automation. It works by linking XCTest.framework and calling Apple’s API to execute commands directly on a device. WebDriverAgent is developed and used at Facebook for end-to-end testing and is successfully adopted by Appium.

Refer the below URL to learn about WebDriver agent;

https://github.com/facebook/WebDriverAgent

Please find the below location for accessing the webdriver agent available in your Mac;

/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

Open the WebDriverAgent.xcodeproj using XCODE and ensure WebDriverAgentLib, WebDriverAgentRunner and IntegrationApp showing as expected based on the below screenshot;

2_WebDriver Agent in XCODE

Select IntegraionApp and iPhone SE as Simulator and build the code by clicking the Play button;

You should see the “Build Succeeded” message in the XCODE for the webdriveragent project and iPhone SE Simulator open with the webdriver agent application as mentioned below;

3_iPhone SE Emulator with agent app

Step 4:

Your installation task got completed, now we need to set the required capabilities in the appium server and start inspecting the elements followed by writing the automation scripts;

Start the server by clicking the Start Server v1.6.5 button as mentioned below;

4_Start Appium Server

Ensure server started message as follows in the console window;

[Appium] Appium REST http interface listener started on 0.0.0.0:4723

Click Start Inspector Session as mentioned below;

5_Start Inspector Session

Please provide the desired capabilities information as mentioned in the below screenshot;

IntegrationApp.app file location should be taken from the XCODE

automationName parameter is one of the important stuff to handle the latest iOS 10.2 and above including the latest XCODE 8.2

6_Desired capabilities

Click Start Session button in the bottom right of the window and click the Allow button in the dialog box;

You can see the inspector window as mentioned in the below screenshot;

7_Inspector window

Now you can use the above desired capabilities in your script prepared by using the Eclipse IDE.

Thank you!!!

One thought on “How to setup Appium in Mac for Automating iOS 10 and above?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s