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

Post on 12-Apr-2017

273 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Thank you!

Come find us atwww.testobject.com

Giovanni RagoTest Automation Engineergiovanni.rago@testobject.com

top related