how to test your web app automatically and keep your testers sane

18
Giovanni Rago | TestObject How to Test your Web App Automatically and Keep Your Testers Sane

Upload: testobject-mobile-testing

Post on 12-Apr-2017

272 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 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

Page 2: 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;– …

Page 3: How to test your Web App automatically and keep your Testers sane
Page 4: How to test your Web App automatically and keep your Testers sane

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

Page 5: How to test your Web App automatically and keep your Testers sane

About TestObject• Berlin-based!

• Fast growing international team

• Fast growing customer base, going from small startups to multinational corporations

Page 6: How to test your Web App automatically and keep your Testers sane
Page 7: How to test your Web App automatically and keep your Testers sane

About AppiumOpen-source tool for automating native, web, and hybrid mobile applications on the iOS and Android platforms.

+CROSS PLATFORM CROSS TECHNOLOGY

Page 8: How to test your Web App automatically and keep your Testers sane

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

Page 9: How to test your Web App automatically and keep your Testers sane

How It Works – In Short

Page 10: How to test your Web App automatically and keep your Testers sane

• 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

Page 11: How to test your Web App automatically and keep your Testers sane

• 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

Page 12: How to test your Web App automatically and keep your Testers sane

• 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

Page 13: How to test your Web App automatically and keep your Testers sane

Typical Appium Test Script

Page 14: How to test your Web App automatically and keep your Testers sane

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

Page 15: How to test your Web App automatically and keep your Testers sane

The PageObject Pattern

Page 16: How to test your Web App automatically and keep your Testers sane

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

Page 17: How to test your Web App automatically and keep your Testers sane

Applying the Pattern

Page 18: How to test your Web App automatically and keep your Testers sane

Thank you!

Come find us atwww.testobject.com

Giovanni RagoTest Automation [email protected]