Mobile Testing with Selenium 2 by Jason Huggins

17,991 views

Published on

See the slides from Jason Huggins' March 16 presentation at the San Francisco Selenium Meetup on using Selenium 2 for mobile testing.

1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
17,991
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
426
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Mobile Testing with Selenium 2 by Jason Huggins

  1. 1. Selenium 2 Jason HugginsCo-creator, The Selenium ProjectCo-founder, CTO, Sauce Labs Inc twitter: @hugs email: hugs@saucelabs.com
  2. 2. Selenium 2: Why and What
  3. 3. Mobile
  4. 4. Types of Mobile Testing• Emulator• Real device (tethered to workstation)• Real device in a real location on a real network
  5. 5. Native vs Web
  6. 6. Life before the WebTotal Application Market
  7. 7. Yesterday JS+HTMLTotal Application Market
  8. 8. Today JS+HTML5Total Application Market
  9. 9. Data?
  10. 10. Sencha
  11. 11. SproutCore
  12. 12. PhoneGap
  13. 13. Today Selenium lives here! JS+HTML5Total Application Market
  14. 14. Today Selenium lives here! JS+HTML5Total Application Market
  15. 15. Tomorrow Selenium lives here! JS+HTML5Total Application Market
  16. 16. Mobile - How?
  17. 17. Checkout Selenium
  18. 18. Android
  19. 19. Download Android SDK
  20. 20. Unpack~/android_sdk
  21. 21. Update$ cd ~/android_sdk/tools$ ./android update sdk
  22. 22. Create AVD$ ./android create avd -n my_android -t 8 -c 100M
  23. 23. Start Emulator$ ./emulator -avd my_android -no-audio -no-boot-anim -scale .8 &
  24. 24. Install Selenium APK$ cd ~/android_sdk/platform-tools/$ ./adb -e install -r ~/selenium/android/prebuilt/android-server.apk
  25. 25. Port Forwarding$ ./adb forward tcp:8080 tcp:8080
  26. 26. Launch App$ adb -s shell am start -n org.openqa.selenium.android.app/ org.openqa.selenium.android.app.MainActivity
  27. 27. iPhone
  28. 28. Open in XCode$ open ~/selenium/iphone/iWebDriver.xcodeproj/
  29. 29. Build & Run
  30. 30. iphonesim
  31. 31. Demo!
  32. 32. The Code:# Import the Selenium 2 namespace (aka "webdriver")from selenium import webdriver# Run one of the four following commands:# iPhonedriver = webdriver.Remote(browser_name="iphone", command_executor=http://172.24.101.36:3001/hub)# Androiddriver = webdriver.Remote(browser_name="android", command_executor=http://127.0.0.1:8080/hub)# Google Chromedriver = webdriver.Chrome()# Firefoxdriver = webdriver.Firefox()
  33. 33. The Code:# The actual test scenario: Test the codepad.org code execution service.# Go to codepad.orgdriver.get(http://codepad.org)# Select the Python language optionpython_link = driver.find_elements_by_xpath("//input[@name=lang and @value=Python]")[0]python_link.click()# Enter some text!text_area = driver.find_element_by_id(textarea)text_area.send_keys("print Hello, + World!")# Submit the form!submit_button = driver.find_element_by_name(submit)submit_button.click()# Make this an actual test. Isnt Python beautiful?assert "Hello, World!" in driver.get_page_source()# Close the browser!driver.quit()
  34. 34. Selenium 2 - The Movie http://www.youtube.com/watch?v=IUUcEIfkOEY
  35. 35. LinksFor More Information:✓http://seleniumhq.org✓http://code.google.com/p/selenium✓http://saucelabs.com/docs/selenium2✓http://twitter.com/hugsDemo Screencast:✓http://www.youtube.com/watch?v=IUUcEIfkOEYCode:✓http://gist.github.com/830011
  36. 36. One More Thing:
  37. 37. Thanks! Jason HugginsCo-creator, The Selenium ProjectCo-founder, CTO, Sauce Labs Inc twitter: @hugs email: hugs@saucelabs.com

×