mobile automation made awesome
Isaac Murchie • Developer, Ecosystem & Integrations • Sauce Labs



@AppiumDevs • @imurchie...
After 16 months...
More than 4,200 commits
More than 4,200 commits
2,300 issues closed
More than 4,200 commits
1200 pull requests
2,300 issues closed
More than 4,200 commits
1,139 stars
1200 pull requests
2,300 issues closed
More than 4,200 commits
1,139 stars
922 forks
1200 pull requests
2,300 issues closed
More than 4,200 commits
1,139 stars
922 forks
105 contributors
1200 pull requests
2,300 issues closed
More than 4,200 commits
1,139 stars
922 forks
105 contributors
1200 pull requests
2,300 issues closed
OSS Rookie of the Ye...
“This is not meant for full application
acceptance tests. Therefore you should not
let the application launch as normal.”
...
•No need to recompile/change app

•Language agnostic

•Device independent

•Selenium WebDriver based
Philosophy
Give you access to Apple’s UIAutomation
framework without locking you into writing
your tests in JavaScript.
UIAutomation ...
Appium is configured with a simple hash.
Simple Configuration
Appium is configured with a simple hash.
Simple Configuration
def desired_caps

{

'platformName' => 'iOS',

'deviceName' =>...
Appium is configured with a simple hash.
Simple Configuration
def desired_caps

{

'platformName' => 'iOS',

'deviceName' =>...
Appium is configured with a simple hash.
Simple Configuration
def desired_caps

{

'platformName' => 'iOS',

'deviceName' =>...
Apple only supports a single instance of
Instruments at a time. This doesn’t scale
well.

!
• Continuous Integration integ...
describe "Handling UITextFields" do

it "should be able to fill in text fields" do

rnd = Random.new

n1 = rnd.rand(100)

n2...
http://appium.io

https://github.com/appium/appium

https://github.com/imurchie/AppiumDemo
Resources
Upcoming SlideShare
Loading in...5
×

Appium for RubyMotion

392

Published on

RubyMotion #inspect 2014

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
392
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Appium for RubyMotion

  1. 1. mobile automation made awesome Isaac Murchie • Developer, Ecosystem & Integrations • Sauce Labs 
 @AppiumDevs • @imurchie • @saucelabs Testing RubyMotion Applications Using Appium RubyMotion #inspect • San Francisco, CA May 28, 2014
  2. 2. After 16 months...
  3. 3. More than 4,200 commits
  4. 4. More than 4,200 commits 2,300 issues closed
  5. 5. More than 4,200 commits 1200 pull requests 2,300 issues closed
  6. 6. More than 4,200 commits 1,139 stars 1200 pull requests 2,300 issues closed
  7. 7. More than 4,200 commits 1,139 stars 922 forks 1200 pull requests 2,300 issues closed
  8. 8. More than 4,200 commits 1,139 stars 922 forks 105 contributors 1200 pull requests 2,300 issues closed
  9. 9. More than 4,200 commits 1,139 stars 922 forks 105 contributors 1200 pull requests 2,300 issues closed OSS Rookie of the Year!
  10. 10. “This is not meant for full application acceptance tests. Therefore you should not let the application launch as normal.” RubyMotion Testing
  11. 11. •No need to recompile/change app •Language agnostic •Device independent •Selenium WebDriver based Philosophy
  12. 12. Give you access to Apple’s UIAutomation framework without locking you into writing your tests in JavaScript. UIAutomation Front-end
  13. 13. Appium is configured with a simple hash. Simple Configuration
  14. 14. Appium is configured with a simple hash. Simple Configuration def desired_caps { 'platformName' => 'iOS', 'deviceName' => 'iPhone Retina (4-inch)', 'platformVersion' => '7.1', 'app' => absolute_app_path }
  15. 15. Appium is configured with a simple hash. Simple Configuration def desired_caps { 'platformName' => 'iOS', 'deviceName' => 'iPhone Retina (4-inch)', 'platformVersion' => '6.1', 'app' => absolute_app_path }
  16. 16. Appium is configured with a simple hash. Simple Configuration def desired_caps { 'platformName' => 'iOS', 'deviceName' => 'iPad', 'platformVersion' => '7.1', 'app' => absolute_app_path }
  17. 17. Apple only supports a single instance of Instruments at a time. This doesn’t scale well. ! • Continuous Integration integration • Client-server architecture allows for cloud-based solutions Scaling
  18. 18. describe "Handling UITextFields" do it "should be able to fill in text fields" do rnd = Random.new n1 = rnd.rand(100) n2 = rnd.rand(100) ! find_element(:name, "Editing").click ! sum_el = find_element(:name, "Sum") sum_el.text.should eq "" ! add_btn = find_element(:name, "Add") add_btn.enabled?.should be_false ! el = find_element(:name, "TextField 1") el.send_keys("#{n1}") ! sum_el.text.should eq "" add_btn.enabled?.should be_false ! el = find_element(:name, "TextField 2") el.send_keys("#{n2}") ! sum_el.text.should eq "" add_btn.enabled?.should be_true ! add_btn.click ! sum_el.text.should eq "#{n1 + n2}" end end
  19. 19. http://appium.io https://github.com/appium/appium https://github.com/imurchie/AppiumDemo Resources
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×