Successfully reported this slideshow.
Your SlideShare is downloading. ×

selenium-2-mobile-web-testing

Loading in …3
×

Check these out next

1 of 39
1 of 39

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

selenium-2-mobile-web-testing

  1. 1. Testing the Mobile Web with Selenium 2 Jason Huggins Co-creator, The Selenium Project Co-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 Web Total Application Market
  7. 7. Yesterday JS+HTML Total Application Market
  8. 8. Today JS+HTML5 Total Application Market
  9. 9. Data?
  10. 10. Sencha
  11. 11. SproutCore
  12. 12. PhoneGap
  13. 13. Today Selenium lives here! JS+HTML5 Total Application Market
  14. 14. Today Selenium lives here! JS+HTML5 Total Application Market
  15. 15. Tomorrow Selenium lives here! JS+HTML5 Total 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. Selenium 2 - The Movie http://www.youtube.com/watch?v=IUUcEIfkOEY
  33. 33. The Code: # Import the Selenium 2 namespace (aka "webdriver") from selenium import webdriver # Run one of the four following commands: # iPhone driver = webdriver.Remote(browser_name="iphone", command_executor='http://172.24.101.36:3001/hub') # Android driver = webdriver.Remote(browser_name="android", command_executor='http://127.0.0.1:8080/hub') # Google Chrome driver = webdriver.Chrome() # Firefox driver = webdriver.Firefox()
  34. 34. The Code: # The actual test scenario: Test the codepad.org code execution service. # Go to codepad.org driver.get('http://codepad.org') # Select the Python language option python_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. Isn't Python beautiful? assert "Hello, World!" in driver.get_page_source() # Close the browser! driver.quit()
  35. 35. Links For More Information: ✓http://seleniumhq.org ✓http://code.google.com/p/selenium ✓http://saucelabs.com/docs/selenium2 ✓http://twitter.com/hugs Demo Screencast: ✓http://www.youtube.com/watch?v=IUUcEIfkOEY Code: ✓http://gist.github.com/830011
  36. 36. One More Thing:
  37. 37. Thanks! Jason Huggins Co-creator, The Selenium Project Co-founder, CTO, Sauce Labs Inc twitter: @hugs email: hugs@saucelabs.com

×