How to test your Web App automatically and keep your Testers sane
-
Upload
testobject-mobile-testing -
Category
Technology
-
view
272 -
download
3
Transcript of How to test your Web App automatically and keep your Testers sane
Giovanni Rago | TestObject
How to Test your Web App Automatically and Keep Your Testers Sane
Your Speaker• Lead Test Automation Engineer @ TestObject
• Working with Appium since day one
• Responsible for– kickstarting customers' test automation infrastructure;– providing support on all related matters;– know-how transfer through both on-site and remote
workshops;– development tasks on testing API, product and plugins;– …
About TestObject• Mobile-oriented cloud testing platform
• The user can run manual and automated tests on hundreds of real Android and iOS devices which TestObject maintains
• Among the automation frameworks we support, Appium is our focus
About TestObject• Berlin-based!
• Fast growing international team
• Fast growing customer base, going from small startups to multinational corporations
About AppiumOpen-source tool for automating native, web, and hybrid mobile applications on the iOS and Android platforms.
+CROSS PLATFORM CROSS TECHNOLOGY
1. You write an automation script (programming skills required) in one of many supported languages
2. By running the script you instantiate an AppiumDriver –the client that connects to the AppiumServer
3. The driver asks the server to perform actions on the UI of the application
4. The server translates the commands for the underlying OS automation tools
5. The device on which the app is running is automatically remote controlled
How It Works – In Short
How It Works – In Short
• You shouldn't have to recompile your app or modify it in any way in order to automate it.
ØVendor-provided automation frameworks are used under the hood:
ØUIAutomation for iOS
ØGoogle’s UIAtomator and Instrumentation (bundled with Selendroid) for Android
Appium’s Philosophy
• You shouldn't be locked into a specific language or framework to write and run your tests.
ØVendor-provided frameworks are wrapped into the WebDriver (aka "Selenium WebDriver"), which specifies a client-server protocol (known as the JSON Wire Protocol). A client can be written in any language and be used to send the appropriate HTTP requests to the server.
Appium’s Philosophy
• A mobile automation framework should be open source, in spirit and practice as well as in name!
ØOpen source project, massive community, frequent fixes and many active committers.
Appium’s Philosophy
Typical Appium Test Script
Typical Appium Test Script
• Not using abstraction to our advantage: low level and high level mixed together
• Low readability
• Low maintainability: bad news if you have a new release every two weeks
The PageObject Pattern
The PageObject Pattern
“Page objects are a classic example of encapsulation -they hide the details of the UI structure and widgetryfrom other components (the tests).”
- Martin Fowler
Applying the Pattern