23
IOS UI Automation François Reynaud Test engineer, eBay

CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

IOS UI Automation

François Reynaud

Test engineer, eBay

Page 2: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

2

Agenda

• Introduction

• Selenium

• Native

• Hybrid

• Real device

• Scaling

François Reynaud- EBAY INTERNATIONAL

Page 3: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

3

Introduction

• EUQE

• Selenium committer

• History

• Current focus

François Reynaud- EBAY INTERNATIONAL

Page 4: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

4

Selenium

• What selenium is about

– Browser automation tool

– Clean API, draft for the W3C

• Why Selenium for mobile testing ?

– API works for mobile

– API stability makes development easy

– Reusability

François Reynaud- EBAY INTERNATIONAL

Page 5: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

5

Goal

Cut down regression time for the eBay IOS products.

• 4 Native apps

• Hybrid apps and mobile web

• reuse existing tools if possible

• open source ( = no eBay specific features )

François Reynaud- EBAY INTERNATIONAL

Page 6: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

6

The project

Status : version 0.6

Visible on github

• https://github.com/ios-driver/ios-driver

Documentation

• http://ios-driver.github.com/ios-driver/

Getting help

• IRC : #ios-driver on freenode

• Google group : ios-driver

François Reynaud- EBAY INTERNATIONAL

Page 7: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

7

The team

François Reynaud- EBAY INTERNATIONAL

Luke Inman Semerau

IPhone driver

Graham Abell

NativeDriver fork

François Reynaud

Grid2, TWIN

Page 8: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

8

Technical choices - Selenium

– No modification of the application

– Language / test framework shouldn’t matter

– A stable API / recognized is the key

François Reynaud- EBAY INTERNATIONAL

Page 9: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

9

Native : Instruments

François Reynaud- EBAY INTERNATIONAL

Page 10: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

10

Instruments – integration capabilities

François Reynaud- EBAY INTERNATIONAL

Page 11: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

11

Design

François Reynaud- EBAY INTERNATIONAL

Client Server

WebDriver API

ios-driver

Java

C#

Ruby

Python

Page 12: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

12

Writing tests

François Reynaud- EBAY INTERNATIONAL

Page 13: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

13

Challenge 1 - content

François Reynaud- EBAY INTERNATIONAL

Page 14: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

14

Challenge 1 - content

François Reynaud- EBAY INTERNATIONAL

Page 15: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

15

Challenge 1 - content

François Reynaud- EBAY INTERNATIONAL

Page 16: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

16

Challenge 2 - inspector

François Reynaud- EBAY INTERNATIONAL

Page 17: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

Hybrid - UIWebView

17François Reynaud- EBAY INTERNATIONAL

Page 18: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

WebKit Remote Debug Protocol

18François Reynaud- EBAY INTERNATIONAL

Page 19: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

integration

19François Reynaud- EBAY INTERNATIONAL

Page 20: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

Safari

20François Reynaud- EBAY INTERNATIONAL

Page 21: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

21

Real device

Not very different :

– Instruments works on real device

– WKRDP works on real device

Limitation :

– Cannot change global settings

– Need to handle app signing

François Reynaud- EBAY INTERNATIONAL

Page 22: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

22

Scaling using Selenium Grid

François Reynaud- EBAY INTERNATIONAL

Client

serverHubClient

CI

server

server

Page 23: CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

THANK YOU!

QUESTIONS?