Upload
codefest
View
756
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
IOS UI Automation
François Reynaud
Test engineer, eBay
2
Agenda
• Introduction
• Selenium
• Native
• Hybrid
• Real device
• Scaling
François Reynaud- EBAY INTERNATIONAL
3
Introduction
• EUQE
• Selenium committer
• History
• Current focus
François Reynaud- EBAY INTERNATIONAL
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
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
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
7
The team
François Reynaud- EBAY INTERNATIONAL
Luke Inman Semerau
IPhone driver
Graham Abell
NativeDriver fork
François Reynaud
Grid2, TWIN
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
9
Native : Instruments
François Reynaud- EBAY INTERNATIONAL
10
Instruments – integration capabilities
François Reynaud- EBAY INTERNATIONAL
11
Design
François Reynaud- EBAY INTERNATIONAL
Client Server
WebDriver API
ios-driver
Java
C#
Ruby
Python
12
Writing tests
François Reynaud- EBAY INTERNATIONAL
13
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL
14
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL
15
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL
16
Challenge 2 - inspector
François Reynaud- EBAY INTERNATIONAL
Hybrid - UIWebView
17François Reynaud- EBAY INTERNATIONAL
WebKit Remote Debug Protocol
18François Reynaud- EBAY INTERNATIONAL
integration
19François Reynaud- EBAY INTERNATIONAL
Safari
20François Reynaud- EBAY INTERNATIONAL
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
22
Scaling using Selenium Grid
François Reynaud- EBAY INTERNATIONAL
Client
serverHubClient
CI
server
server
THANK YOU!
QUESTIONS?