RBCN22
#ROBOCON2022
MAY 2022
Getting Started With The Robotframework-AppiumLibrary
:: RoboCon In-person Workshop Presented By ::
Joshua Gorospe
QA Tech Lead
Secureworks https://www.secureworks.com/
Linkedin Profile https://www.linkedin.com/in/joshua8481/
Twitter Profile https://twitter.com/8481jg
https://robocon.io
2
RBCN22
MAY 2022
Before We Begin...
I want to thank the following people and groups.
- Pekka Klarck
- Ed Manlove
- Serhat Bolsu
- Antti Karjalainen
- René Rohner
- James Bach
- Jonathan Bach
- Michael Bolton
- Cem Kaner
- Kristian Karl
- Harry Robinson
- Mikko Korpela
- Bryan Oakley
- Shiva Prasad Adirala
- The Appium development team
- The Graphwalker development team
- The thought-leaders who inspired me to learn model-based testing
- The thought-leaders of Rapid Software Testing Methodology
- The entire Robot Framework community and its contributors
https://robocon.io
3
MAY 2022
FYI Windows Users
The Robotframework-AppiumLibrary examples in this workshop use a lot of Bash scripting. Here are some possible options that may help you, but I have not tested them myself...
https://robocon.io
4
MAY 2022
Introduction And Workshop Outline
This will be a very hands on Workshop covering Robotframework-AppiumLibrary combined with various tools. I will be using an updated version of the same workshop material from RoboCon 2021, but it will have exclusive examples that can only be experienced in-person here in RoboCon 2022. I will be frequently moving back and forth between slides and running the examples from a terminal. From a high-level, the following Workshop areas will be covered in two parts.
5
MAY 2022
Part One: Technical Requirements Summary
The following are needed to run the Workshop Examples. Please follow instructions on each website to install them.��
- Python 3, this workshop was created using version 3.9.2 -> https://www.python.org/downloads/��
- NodeJS 14, this workshop was created using version 14.16.0 -> https://nodejs.org/en/ or https://github.com/nvm-sh/nvm��
- Java 11, this workshop was created using version 11.0.10 -> https://www.java.com/en/��
- Appium Server -> http://appium.io/docs/en/about-appium/getting-started/?lang=en#getting-started
�
- Android Studio -> https://developer.android.com/studio
�
- XCode, only available for MacOS users -> https://developer.apple.com/xcode/
�
- Robot Framework and Robotframework-AppiumLibrary -> https://robotframework.org
�
- PaBot -> https://github.com/mkorpela/pabot
�
- Charles Proxy -> https://www.charlesproxy.com/documentation/proxying
- Graphwalker -> https://github.com/GraphWalker/graphwalker-project
�
- Appium Desktop -> https://github.com/appium/appium-desktop
- wget -> https://www.gnu.org/software/wget/
�
- cURL -> https://curl.se/
�
- jq https://stedolan.github.io/jq/
�
- git https://git-scm.com/
https://robocon.io
6
MAY 2022
Part One: Technical Requirements Summary
Run the following commands to get the Workshop Examples (requires git).
https://robocon.io
7
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Please make sure you have reviewed all of the items in the Technical Requirements Summary slides.
Based on the Appium “Getting Started” instructions kept here -> http://appium.io/docs/en/about-appium/getting-started/index.html, you should be able to run the following commands successfully without issues.
https://robocon.io
8
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
From a Windows operating system the appium-doctor output should look similar to this.
https://robocon.io
9
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
From a Linux (Ubuntu) operating system the appium-doctor output should look similar to this.
https://robocon.io
10
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Pay attention to any red “X” output. Follow all of the instructions provided by appium-doctor.
https://robocon.io
11
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
After following all of the instructions, all of the appium-doctor output should eventually show green check marks. This is a MacOS example.
https://robocon.io
12
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Steps for setting up your Android Emulator.
https://robocon.io
13
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setup
Steps for setting up your Android Emulator.
https://robocon.io
14
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Steps for setting up your Android Emulator.
https://robocon.io
15
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Steps for setting up your Android Emulator.
https://robocon.io
16
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Steps for setting up your IOS Simulator.
https://robocon.io
17
MAY 2022
Part One: Appium Installation Advice, Android Emulator, IOS Simulator Setups
Steps for setting up your IOS Simulator.
https://robocon.io
18
MAY 2022
Questions About Part One (installation, device setup, etc.)?
https://robocon.io
19
MAY 2022
Part One: App automation workflows for IOS, and Android + adb shell
From your terminal or command-line.
After the teardown and setup scripts successfully completed, you should see the Android device that was set up earlier appear on the screen.
https://robocon.io
20
MAY 2022
Part One: App automation workflows for IOS, and Android + adb shell
The following will install and run simple Wikipedia app tests on an Android device.
The following will run various adb shell commands and native Calculator app tests on an Android device. The commands below come from this comprehensive and useful GitHub list -> https://gist.github.com/Pulimet/5013acf2cd5b28e55036c82c91bd56d8
https://robocon.io
21
MAY 2022
Part One: App automation workflows for IOS, and Android + adb shell
The following will run various adb shell commands and native Calculator app tests on an Android device. The commands below come from this comprehensive and useful GitHub list -> https://gist.github.com/Pulimet/5013acf2cd5b28e55036c82c91bd56d8
https://robocon.io
22
MAY 2022
Part One: Browser automation for IOS and Android
The following will run Safari and Chrome browser automation examples.
https://robocon.io
23
MAY 2022
Questions About Part One (examples etc.)?
https://robocon.io
24
MAY 2022
Part Two: Appium Desktop Walkthrough
There are useful Appium Desktop features that can assist you while you are building out your automation.�
https://robocon.io
25
MAY 2022
Part Two: Charles Proxy Combined With Robotframework-AppiumLibrary
Charles Proxy is a popular, well documented, and very useful web debugging proxy. It is not free software and requires a license key, but it’s very affordable. It has a large list of builtin tools and features.
The key features that we will be exploring in this Workshop are the following.
The following example commands requires a properly configured charles.config file, a generic file is provided in the Workshop repo. More information can be found here by searching for “charles.config” -> https://github.com/jg8481/Tool-Strategies-Lone-Testers-Test-Leadership-Congress-2019#ongoing-work
https://robocon.io
26
MAY 2022
Part Two: PaBot, Appium, And Graphwalker Combined With CPU Monitoring
The following examples will run an IOS and Android device in parallel using PaBot, a Robot Framework parallel test runner -> https://github.com/mkorpela/pabot
This command will run the PaBot automation.
Side Note: This same PaBot Android + Grahpwalker + adb shell CPU monitoring parallel running test can also be performed on a real Android device.
https://robocon.io
27
MAY 2022
Questions About Part Two (examples etc.)?
https://robocon.io
28
MAY 2022
Workshop Complete...
That’s
ROBOCON 2022
#ROBOCON2022