SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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
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 Year!
“This is not meant for full application
acceptance tests. Therefore you should not
let the application launch as normal.”
RubyMotion Testing
•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 Front-end
Appium is configured with a simple hash.
Simple Configuration
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

}
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

}
Appium is configured with a simple hash.
Simple Configuration
def desired_caps

{

'platformName' => 'iOS',

'deviceName' => 'iPad',

'platformVersion' => '7.1',

'app' => absolute_app_path

}
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
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
http://appium.io

https://github.com/appium/appium

https://github.com/imurchie/AppiumDemo
Resources

Contenu connexe

Tendances

App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments ReloadedErnest Mueller
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauce Labs
 
Mobile Apps Delivery - Evolution and Tools
Mobile Apps Delivery - Evolution and ToolsMobile Apps Delivery - Evolution and Tools
Mobile Apps Delivery - Evolution and ToolsAsaf Saar
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Sauce Labs
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec Program
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec ProgramAppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec Program
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec ProgramMatt Tesauro
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptSauce Labs
 
Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)Sauce Labs
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...Federico Toledo
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationFred Beringer
 
Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Andy Zaidman
 
Why is mobile testing important?
Why is mobile testing important?Why is mobile testing important?
Why is mobile testing important?TobieDk
 
Continuous Integration & deployment for your Xamarin app
Continuous Integration & deployment for your Xamarin appContinuous Integration & deployment for your Xamarin app
Continuous Integration & deployment for your Xamarin appGerald Versluis
 
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App TestingContinuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App TestingSauce Labs
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesSauce Labs
 
Shifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and SolutionsShifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and SolutionsJames Farrier
 
SauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauce Labs
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test AutomationAndreas Jakl
 

Tendances (20)

App Assessments Reloaded
App Assessments ReloadedApp Assessments Reloaded
App Assessments Reloaded
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
 
Mobile Apps Delivery - Evolution and Tools
Mobile Apps Delivery - Evolution and ToolsMobile Apps Delivery - Evolution and Tools
Mobile Apps Delivery - Evolution and Tools
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec Program
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec ProgramAppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec Program
AppSec++ Take the best of Agile, DevOps and CI/CD into your AppSec Program
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One Script
 
Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?
 
Why is mobile testing important?
Why is mobile testing important?Why is mobile testing important?
Why is mobile testing important?
 
Continuous Integration & deployment for your Xamarin app
Continuous Integration & deployment for your Xamarin appContinuous Integration & deployment for your Xamarin app
Continuous Integration & deployment for your Xamarin app
 
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App TestingContinuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
Continuous Testing Odyssey: Learn Best Practices for End-to-End Web App Testing
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
Shifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and SolutionsShifting Testing Left - The Pain Points and Solutions
Shifting Testing Left - The Pain Points and Solutions
 
SauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital EditionSauceCon 2017: test.allTheThings(): Digital Edition
SauceCon 2017: test.allTheThings(): Digital Edition
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 

Similaire à Appium for RubyMotion

Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsMahesh Arali
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudIstanbul Tech Talks
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Niels Frydenholm
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsIsaac Murchie
 
Continuous Integration (CI) is about more than releases
Continuous Integration (CI) is about more than releasesContinuous Integration (CI) is about more than releases
Continuous Integration (CI) is about more than releasesChris Riley ☁
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesCentric Consulting
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationClever Moe
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsulaadamcarmi
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
Anne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingAnne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingDavid O'Dowd
 
Uncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applicationsUncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applicationsKazuaki Matsuo
 
DevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps EastDevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps EastChris Riley ☁
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentationLONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentationSriram Angajala
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPhil Leggetter
 

Similaire à Appium for RubyMotion (20)

Appium 1.0
Appium 1.0Appium 1.0
Appium 1.0
 
Dev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teamsDev ops for mobile apps at microsoft teams
Dev ops for mobile apps at microsoft teams
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloudITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
ITT 2015 - Vincent Garrigues - Continuous Integration at SoundCloud
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce Labs
 
Continuous Integration (CI) is about more than releases
Continuous Integration (CI) is about more than releasesContinuous Integration (CI) is about more than releases
Continuous Integration (CI) is about more than releases
 
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud PiesDevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
DevOps: Sprinkle Dev, Sprinkle Ops, Let's make Cake, not Mud Pies
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Startups And Software Testing
Startups And Software TestingStartups And Software Testing
Startups And Software Testing
 
Anne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software TestingAnne-Marie Charrett - Startups and Software Testing
Anne-Marie Charrett - Startups and Software Testing
 
Uncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applicationsUncovering breaking changes behind UI on mobile applications
Uncovering breaking changes behind UI on mobile applications
 
DevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps EastDevOps is for Everyone - DevOps East
DevOps is for Everyone - DevOps East
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentationLONDON SDET MEETUP - Difference between Selenium and Cypress presentation
LONDON SDET MEETUP - Difference between Selenium and Cypress presentation
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
 

Dernier

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Dernier (20)

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

Appium for RubyMotion

  • 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
  • 3. More than 4,200 commits
  • 4. More than 4,200 commits 2,300 issues closed
  • 5. More than 4,200 commits 1200 pull requests 2,300 issues closed
  • 6. More than 4,200 commits 1,139 stars 1200 pull requests 2,300 issues closed
  • 7. More than 4,200 commits 1,139 stars 922 forks 1200 pull requests 2,300 issues closed
  • 8. More than 4,200 commits 1,139 stars 922 forks 105 contributors 1200 pull requests 2,300 issues closed
  • 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. “This is not meant for full application acceptance tests. Therefore you should not let the application launch as normal.” RubyMotion Testing
  • 11. •No need to recompile/change app •Language agnostic •Device independent •Selenium WebDriver based Philosophy
  • 12. Give you access to Apple’s UIAutomation framework without locking you into writing your tests in JavaScript. UIAutomation Front-end
  • 13. Appium is configured with a simple hash. Simple Configuration
  • 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. 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. Appium is configured with a simple hash. Simple Configuration def desired_caps { 'platformName' => 'iOS', 'deviceName' => 'iPad', 'platformVersion' => '7.1', 'app' => absolute_app_path }
  • 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. 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