If you already have a version of Xcode that's relatively recent, it's probably fine to use with this workshop, so you don't need to update it. You can get Xcode via the app store, so just download the latest version of Xcode. Okay, so if you are on a Mac, please follow along with these iOS set up instructions.
Thankfully, I'm basing most of the sample code on Android because Android tests can be run on both Mac and Windows platforms as well as Linux of course too. So if you don't have your own Mac hardware that you're running, you'll be out of luck for this portion of setup and also for running some of the iOS specific samples that we're going to be looking at later on.
Apple only supports iOS automation and iOS development on Mac hardware. Unfortunately, if you're running on Windows, you won't be able to take advantage of iOS testing with Appium. So how do we do this setup exactly? I should point out before we get started that all of the iOS related setup is Mac only. So that's why we need to make sure we have Carthage installed on our machine as well.
Carthage is a dependency manager for Mac OS and iOS applications, and the tools that Appium relies on for automating iOS are built using Carthage as their dependency management system. There's another bit of software called Carthage that we also need. These are required for launching iOS simulators and in fact launching the test sessions that we rely on via XCUITest. First of all, we need to have Xcode and the Xcode command line tools installed. On the iOS side, there are a few requirements. iOS Requirementsįirst of all, let's talk about the requirements for using Appium for the main mobile platforms we care about, iOS and Android.
How do you install Appium? How do you make sure all of its dependencies are working correctly for both iOS and Android? And we'll also look at downloading and setting up the sample code that we'll be using in this workshop. In this module, we are going to explore getting set up with Appium. Hello everyone and welcome back to the Appium Pro Intro Workshop. (From that site you can either git clone the repo, or download it as a zip file. You can download this sample code from GitHub at the following url.
These libraries wrap standard Selenium client libraries to provide all the regular selenium commands dictated by the JSON Wire protocol, and add extra commands related to controlling mobile devices, such as multi-touch gestures and screen orientation.Īppium client libraries implement the Mobile JSON Wire Protocol, and elements of the W3C Webdriver spec. The Appium server itself defines custom extensions to the official protocols, giving Appium users helpful access to various device behaviors (such as installing/uninstalling apps during the course of a test session).NOTE: this course uses sample code. Because of these extensions to the protocol, it is important to use Appium-specific client libraries to write automation tests or procedures, instead of generic WebDriver client libraries. It provides client libraries that support Appium extensions to the WebDriver protocol. One of the biggest advantages of Appium is because it is simply a REST API at its core, the code you use to interact with it is written in a number of languages such as Java, C#, Ruby, Python, and others.Īppium extends the WebDriver client libraries and adds the extra commands in it to work with mobile devices. To start the Appium server, users need to download the source or install it directly from npm. It is an HTTP server written in Node.js and uses the same concept as the Selenium Server, which identifies the HTTP requests from the client libraries and sends these requests to the appropriate platform. It creates a session to interact with mobile apps, which are not supported on any platform. The Appium server is used to interact with different platform such as Android and iOS.