Appium 1.2.2 App Automation Study Study Version: 1.0 Date: 4/14/2015 5:38:00 PM Status: Erstellt Author: Kai Höher, MSc Document-ID: Classification: Intern Software Quality Lab. Alle Rechte vorbehalten. Druckdatum: 14.04.2015
Table of Content DOCUMENT INFORMATION... III General... III Document-History... III Document-Quality assurance... III Purpose and contents of this document... III 1. GENERAL... 1 1.1. About the Company... 1 1.2. Product Portfolio... 1 1.3. Program Parts... 1 1.4. System Requirements... 2 2. OBJECT DETECTION... 3 2.1. XPath... 3 2.2. Appium Inspector... 3 3. SPECIFICATION... 5 3.1. IDE... 5 3.2. Test Case Creation... 5 3.3. Reusability... 6 3.4. Robustness... 6 4. EXECUTION... 7 4.1. Setup... 7 4.2. Recording... 10 4.3. Test Case Creation... 13 4.4. Test Execution... 14 5. ADMINISTRATION... 15 5.1. Installation on Mac OS X... 15 5.1.1. Appium.app... 15 5.1.2. Appium Server... 16 5.1.3. Client... 18 5.2. Documentation... 18 6. CONCLUSION... 19 Version: 1.0 Author: Kai Höher, MSc Status: Erstellt I / III
APPENDIX... 20 Table of Pictures... 20 Version: 1.0 Author: Kai Höher, MSc Status: Erstellt II / III
Document Information General Connections to other documents: This analysis is a part of test automation study by Software Quality Lab. Receivers: - Document-History Version Status Date Responsible person Reason for changes/ Comments 0.1 Document-Quality assurance Rolle Name Reachable (Place+Tel.+e-mail) Action Date Signature Author Kai Höher Created Reviewer Releaser Reviewed Released Purpose and contents of this document This document contains an objective analysis of a test automation tool and it should be available as a decision base for the people interested in the selection of a new tool. Version: 1.0 Author: Kai Höher, MSc Status: Erstellt III / III
1. General 1.1. About the Company Appium is an open source test tool powered by Sauce Labs, which has been founded by Jason Huggins, the creator of Selenium and John Dunham. Sauce Labs is a company from San Francisco, which is specialized on cloud-hosted, web and mobile application testing. Their features reach from automated cross-browser to manual testing. 1.2. Product Portfolio Sauce Labs covers a variety of features in the area of web and mobile testing: Automated cross-browser testing using Selenium Testing and JavaScript Unit Testing Automated mobile testing using Appium Manual Testing Sauce mobile testing is based on the Appium open source project. Appium interfaces directly with native ios and Android automation frameworks. 1.3. Program Parts The Appium concept consist of a client/server architecture. This also makes it possible to test via the cloud. Server: Appium Server is a server written in Node.js. It can be built and installed from source or installed directly from NPM (Node Packaged Modules). Appium.app (Mac OS X) and Appium.exe (Windows) are servers, which already include GUI wrappers. These come bundled with everything required to run the Appium server and also contain an Inspector, which enables you to check out the hierarchy of your app. Clients: There are client libraries available in Java, Ruby, Python, PHP, JavaScript, and C#, which support Appium's extensions to the WebDriver protocol. All server and clients can be downloaded for free at appium.io. Version: 1.0 vom 01.12.2010 Author: Kai Höher, MSc Status: Erstellt 1 / 20
1.4. System Requirements Basically Appium is running on all major OS, but ios Apps can only be tested via Mac OS X. Details are shown in the following table. ios Mac OS X 10.7+ XCode 4.5+ w/ Command Line Tools Android Mac OS X 10.7+ or Windows 7+ or Linux Android SDK 16 (SDK < 16 in Selendroid mode) Version: 1.0 vom 01.12.2010 Author: Kai Höher, MSc Status: Erstellt 2 / 20
2. Object Detection Appium supports a subset of the WebDriver locator strategies to detect and find objects. GUI elements can be found by name (i.e. button title) or by XPath (i.e., an abstract representation of a path to an element, with certain constraints). 2.1. XPath XPath (XML Path Language) is used to describe GUI elements, for example: //UIAApplication[1]/UIAWindow[1]/UIATextField[2] As a result of hierarchically structure it also shows the actual position of the element. Another benefit of these strings is that you can work later with placeholder and/or regular expressions in your code, which makes it robust and maintainable. 2.2. Appium Inspector The Appium Inspector is part of the Appium.app and is used to analyse the GUI of an app. Figure 1 shows a screenshot of the Appium Inspector under Mac OS X. Figure 1 Appium Inspector On the left side the UI elements are shown, structured like a file system. You can either click on an element within the current screen of the app, which is shown on the right side, or go through the hierarchical structure, like going into folders and subfolders of a file system, to get the information of an element. Version: 1.0 vom 01.12.2010 Author: Kai Höher, MSc Status: Erstellt 3 / 20
Once one element is selected you see all necessary technical information of it in the Details box in the middle. Besides some general information, you can also see the useful XPath, which has already been explained in the previous chapter. Via checkboxes at the filters section (shown at the top) it s possible to activate and deactivate disabled and invisible objects. The record and refresh buttons as well as the other options at the bottom are used to record user interaction and create code, which can be used for tests. Details of this feature will be covered within an upcoming chapter. Version: 1.0 vom 01.12.2010 Author: Kai Höher, MSc Status: Erstellt 4 / 20
Thank you very much for downloading a public preview of our well known and highly appreciated tool studies. If you re interested in reading the whole document just apply here and request the document you want to read from our comprehensive set of studies already available. For further information on our tool studies visit our web site. Or, you can always use the following form to request the studies you want to read. Seite 1 von 2
Bestellformular für Tool-Studien/Order form for tool studies An/to Software Quality Lab GmbH Gewerbepark Urfahr 6 4040 Linz AUSTRIA Bitte ausgefüllt per Email an/ Please fill out and send to info@software-quality-lab.com Name/full name: Adresse/address: Firma/company: Email/email: Funktion/role: Telefon/phone: / [bitte füllen Sie die Daten vollständig und korrekt aus/please supply correct and complete data] Bestellliste/Order list [bitte kreuzen Sie die gewünschten Tools an/please select the tool studies] ALM, RM IBM Rational Requirements Composer 4.0.2 Jama Contour 3.61 NEU! Micro Focus Borland Caliber Microsoft Team Foundation Server 2013 Polarion ALM 2014 HP ALM 11 VersioneOne 13.0 Visure Solutions IRQA 4 Test Management Imbus TestBench 1.6.1 Micro Focus SilkCentral 2008 Microsoft VSTS 2010 Mozilla Testopia 2.1 Orcanos QPack 5 Polarion ALM 20121 NEU! Siemens SiTEMPPO 5.8 TestLink 1.9.12 Seapine TestTrack 2012 Static Code Analysis SonarQube 4.5 GUI Test Automation Appium 1.2.2 Bredex GUIdancer 4.2 HP UFT Professional 10 IBM Functional Tester 8.1.0.3 Microsoft VSTS 2010 QF-Test 3.5.1 NEU! Ranorex 3.3 SAP ecatt Selenium 2.0 SmartBear TestComplete 9.3 SmartBear SoapUI 5.1 Weitere Informationen auf unserer Website www.software-quality-lab.com. Embedded Systems LDRA 8.0 Razorcat Tessy 2.6 Load/Performance Apache JMeter 2.8 Grinder 3.4 HP LoadRunner 9.5 Neotys Neoload 3.0.3 SmartBear LoadUI 2.8.0 Unit Tests Google Test 1.5 JUnit 4.11 NUnit 2.5.7 Die Toolnamen und eingetragenen Warenzeichen sind Eigentum der jeweiligen Toolhersteller/Tool names are property of tool vendors. Die Studien sind grundsätzlich auf Anfrage frei erhältlich. Software Quality Lab behält sich jedoch vor, die Aufwände für gewisse Branchen und Privatpersonen in Rechnung zu stellen (z.b. Beratungsfirmen, Toolhersteller usw.) Studenten erhalten die Studie zum halben Preis/All studies are basically free, except for certain branches of industry or private persons, for whom we invoice at cost. Students get a discount of 50%. Seite 2 von 2
Tool Evaluation Center Efficient, goal-oriented and professional tool evaluation Unique in Europe What is TEC? The Tool Evaluation Center (TEC) is a neutral environment for evaluating software tools related to software development, through which you will receive a detailed, vendorindependent overview of the suitability of different tools for your software projects. Your Partner for software quality and testing Consulting Implementation Training Automation Evaluation Software Quality Lab is your competent partner in software quality and testing and one of the leading independent consulting companies in Austria. We specialize ourselves in the improvement of efficiency, quality and security in the fields of software development and system processes. All tools in TEC are up to date, installed and configured, furnished with examples and ready for demonstration. Practical work and getting to know the tools in a handson manner is also possible. Your Benefit EETime-saving: Tool selection in a few days. No time-consuming research and product requests, no installation and testing. EEPreparation of information for different target groups from technicians to the managing board. EESupport provided by specialists, ranging from requirements through to a proof of concept or a pilot project. Our services around the tool selection Tool categories in the TEC EEApplication Life Cycle Management EERequirements Management EETest Management EEGUI Test Automation EETest Data Management EEComprehensible decision criteria: Using special techniques we evaluate the tools together with you, basing on your requirements as a foundation for your investment decision. EELarge selection and direct comparison of products ranging from market leaders through newcomers to open source software and freeware. Linz / Vienna / Graz / Lustenau / Munich Requirements elicitation, Creating a list of criteria Tool review, Pre-selection of tools, Practical getting to know the tools in the TEC Workshop with 3-5 suitable tools, Proof of Concept, Planning and implementing the pilot project Integration with other tools Tools in TEC www.software-quality-lab.com Our TEC includes more then 40 installed tools from reputable manufacturer (e.g. IBM, HP, Micro Focus, Microsoft, Polarion, Siemens) as well as interesting newcomer products and alternatives from the open source area (e.g. JMeter, Selenium). Further details can be found at www.tool-evaluation.com. V. 2011-12 Software Quality Lab GmbH info@software-quality-lab.com www.software-quality-lab.com