Selenium, Appium, and Robots!

100 %
0 %
Information about Selenium, Appium, and Robots!

Published on January 27, 2014

Author: hugs



Presented at Tokyo Selenium Meetup, January 18, 2014

Selenium, Appium, and Robots! Jason Huggins @hugs Sauce Labs

A brief history of test automation...


Google Maps, Gmail, Rails, etc...



“Web 2.0”

“It’s now safe to use JavaScript!”

But how do you test it?

With Selenium!

What’s Selenium?

“It’s like a robot that tests your app!”


It’s popular!

More popular than the competition!

But now...

the game has changed.


2007: mobile

2008: mobile

2009: mobile

2010: mobile

2011: mobile

2012: mobile



But how do you test it?

What’s Appium?

Appium is the cross-platform solution for native and hybrid mobile automation @AppiumDevs

Appium Philosophy

Rule 1 Test the same app you submit to the marketplace

Rule 2 Write your tests in any language, using any framework

Rule 3 Use a standard automation specification and API

Rule 4 Build a large and thriving open- source community effort

Selenium WebDriver is the standard for browser automation, with libraries in every* language

Selenium WebDriver is used every single day by thousands of developers familiar with its model

Selenium WebDriver is a W3C working draft

Appium architecture

Appium is an HTTP server that creates and handles WebDriver sessions

On iOS, Appium proxies commands to a UIAutomation script running in Instruments

On Android, Appium proxies commands to a UiAutomator test case running on the device

Appium opens the door to cross- platform mobile testing: one test, two mobile platforms

(just like how Selenium started...)


Sample code:

Ready... var  wdSync  =  require("wd-­‐sync")    ,  assert  =  require("assert")    ,  appURL  =  ""; //  Define  the  environment var  desired  =  {    device:  'iPhone  Simulator'    ,  name:  "Appium:  Sync  WD"    ,  platform:'Mac  10.8'    ,  app:  appURL    ,  version:  ''    ,  browserName:  '' };

Set... //  Instantiate  a  new  wd  session var  client  =  wd.remote("localhost",  4723);    ,  browser  =  client.browser    ,  sync  =  client.sync;

sync(function()  {    //  Init  the  browser    browser.init(desired); Go!    //  Type  into  two  fields    var  fields  =  browser.elementsByTagName('textField');    fields[0].type('2');    fields[1].type('3');    //  Click  a  button    var  buttons  =  browser.elementsByTagName('button');    buttons[0].click();    //  Verify  results    var  texts  =  browser.elementsByTagName('staticText');    assert.equal(browser.text(texts[0]),  5);    //  quite  the  browser    browser.quit(); });

Now for something (not) completely different

Remember when I said “like a robot”?


2011 2011


2013 2013 @Tapsterbot


Sauce Labs?

Servers Time Unit of Work

Servers Time Unit of Work @saucelabs

Add a comment

Related presentations

Related pages

Appium: Mobile App Automation Made Awesome.

Appium. Automation for Apps. Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS and ...
Read more

Appium: Mobile App Automation Made Awesome.

Appium supports Android ... Appium drives various native automation frameworks and provides an API based on Selenium's ... Using Robots. Using Appium ...
Read more

Appium and Robot - YouTube

Jason and Saucelabs visited Intuit and showed a robot demo for testing a native application in a real device. Appium drives the testing
Read more - Use Selenium Appium Automation For ...

In this example, I will explain how to use Selenium Appium Automation for mobile app testing. Appium is an open source test automation framework for use ...
Read more

What is Robot Class in Selenium Webdriver-Selenium Tutorial

You must have heard of Robot class in Selenium and Robot class in Java as well. Today we will discuss how we can use Robot class in Selenium Webdriver.
Read more

Tapster Mobile Testing Robot Hackathon | Selenium Testing ...

Join Sauce Labs for a mobile testing robot hackathon using Appium in NYC.
Read more

Connecting appium server to selenium grid for android with ...

Hi, Is there a way to integrate appium with selenium grid? I have test script with Robot Framework and I want to run parallel testing on multiple android ...
Read more

robotframework - Robot Framework - passing Appium driver ...

I'm working on integrating Robot Framework with Appium, using Python. However I can't figure out how to pass the Appium driver created in the Robot ...
Read more

Java-Selenium/appium · GitHub

appium - Automation for iOS and Android Apps. appium ... Java-Selenium / appium forked from appium/appium. Code Pull requests 0 Pulse Graphs
Read more