Slide 1

Slide 1 text

@rajivmanivannan Appium Mobile Automation and CI pipeline with Bitrise Android App + Appium + TestNG + Bitrise

Slide 2

Slide 2 text

• Appium is an open source test automation framework for use with native, hybrid and mobile web apps. • It drives iOS and Android apps using the WebDriver protocol. • It o ff ers the fl exibility to write automated tests using any testing framework and di ff erent languages including Java, JavaScript, Ruby, Python etc., • Appium is built on the idea that testing native apps shouldn't require including an SDK or recompiling your app. Appium

Slide 3

Slide 3 text

• UI Automator is a testing framework provided by Google for automated testing of Android applications. • XCUITest s a testing framework provided by Apple for automated testing of iOS applications. What is UI Automator & XCUITest ?

Slide 4

Slide 4 text

• Appium drivers are responsible for translating the commands and instructions given by the Appium server into actions that can be performed on the mobile device or emulator. • To use a driver, testers need to create an instance of the driver and provide the desired capabilities, such as the device name, platform version, and app location. • Once the driver is initialised, testers can use its methods to interact with the mobile app and automate the testing process. Appium Drivers Appium Drivers

Slide 5

Slide 5 text

• Appium plugins are extensions that can be added to the Appium framework to extend its functionality or to modify Appium’s behaviour. Appium Plugins Plugin Description Execute Driver Run entire batches of commands in a single call to the Appium server Images Image matching and comparison features OCR Find elements via OCR text AltUnity Target Unity games and apps for automation with a new context, via the AltUnityTester framework Appium Plugin

Slide 6

Slide 6 text

Architecture

Slide 7

Slide 7 text

Setup and Tools Requirements • macOS, Linux or Windows operating system • Node.js 14+ • NPM (Node Package Manager) 8+ Install and run > brew install node # get node.js > npm install -g appium@next # get appium 2.0 > appium driver list # get appium driver list > appium plugin list # get appium plugin list >appium # To run appium server Appium Server GUI is visual tool to con fi gure the simple and advances server con fi guration and to start and stop the server. Appium Inspector Tool is used for identifying the UI elements of the application under test.

Slide 8

Slide 8 text

• Xpath • Id To get the properties of the UI elements Appium supported Locaters • accessibilityId • classname

Slide 9

Slide 9 text

Android (The App) Appium (The App Test) Bitrise CI/CD Pipeline Setup Bitrise WorkFlow Demo

Slide 10

Slide 10 text

• http://appium.io • https://appium.github.io/appium/docs/en/2.0 • https://developer.android.com/training/testing/other- components/ui-automator • https://github.com/appium/appium-inspector/releases Reference