LOGO Tech propulsion Labs Android Webdriver LOGO Test automation - Selenium 2 Masud Parvez SQA Architect Tech Propulsion Labs Email:[email protected] All copyright is reserved by Tech propulsion labs Contents 1 What is Selenium ? 2 Selenium Versions 3 Life of Web story 4 Impact of JS Contents 5 Mobile application testing 6 Android and Selenium 2 7 WebDriver 8 Why Webdriver ? Contents 9 Android Test architecture 10 Setup selenium for Android 11 How are we doing? 12 Limitations Contents 13 Demo 14 Guide line for python 15 Way to walk in the future with us 16 Questions and Answers What is selenium ? Selenium is a suite of tools to automate web app(!!!!) testing across many platforms. Selenium runs in many browsers and operating systems. Free wear Selenium versions 2004 2008 2011 2011 Updates in Selenium 2 1 Mobile application testing . 2 Fire fox 4, 5, 6, 7 3 Experimental IE9 and chrome support 4 WebDriver Why do we need Selenium? ? ? ? Selenium ? Life before the Web Total Application Market Yesterday HTML +JS Total Application Market Data Total Application Market Today HTML JS Total Application Market Tomorrow HTML JS Total Application Market Today Selenium Lives here HTML JS Total Application Market Tomorrow Selenium Lives here HTML JS Total Application Market Mobile application testing 1 2 3 iPhone/ iPad Android WP7 Android and selenium 2 Android driver Webdriver New tech that Selenium 2 Test direct access browser No proxy server New API Why Webdriver ? WebElement.findElement is universal - all UIs are trees Web has DOM (elements) Windows has HWND Android has Views Why Webdriver ? Many operations are universal between all UIs Matching: clear click findElement(By.id) Why Webdriver ? Extensible API WebDriver API extensions, such as Rotatable, RenderedWebElement, are implemented by a subset of drivers. Creating a new API for every platform is cumbersome instead: Emphasize the similarities with the core WebDriver API Supply simple platform-specific extensions as needed. Facilitate piece-wise code re-usage Android-Driver Interaction architecture Setup selenium for Android Phase 1 Set up SDK Phase 2 Set up Emulator Phase 3 Start Emulator Setup selenium for Android Phase 4 Install the App Phase 5 Port Forwarding Phase 6 Run your test Download Android SDK Web link: www. http://developer.android.com/sdk/index.html Installation Command Update SDK ./android update sdk Create Emulator ./android create avd --target 2 --name newavd Run emulator ./emulator.exe -avd newavd Installation Command Install android driver in emulator ./adb install name_and Forward port ./adb forward tcp:8080 tcp:8080 If You are using eclipse then install ADT kit Script // Calling android driver AndroidDriver driver = new AndroidDriver(); // And now use this to visit Google driver.get("http://google.com"); // Find the text input element by its name WebElement element = driver.findElement(By.name("q")); // Enter something to search for element.sendKeys("Tech Propulsion Labs"); Script // Now submit the form. WebDriver will find the form for us from the element element.submit(); // Check the title of the page System.out.println("Page title is: " + driver.getTitle()); //Turn off the driver driver.quit(); Limitations Slower than Headless WebKit Driver Support for SDK versions 2.2 and prior, has been deprecated Does not work on emulators running 2.3 because of an emulator bug that should be fixed soon by Android. However it works on Devices running 2.3 and higher DEMO QUESTION By python To install the Python client library: # pip install -U selenium Import the Selenium 2 namespace from selenium import webdriver 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() Way to walk in the future with us Blog: www.masudparvez.weebly.com/blog Post in blog regarding this topic http://masudparvez.weebly.com/1/post/2011/08/an driod-webdriver-want-to-test.html Way to walk in the future with us Android .apk Automation Test link: http://www.youtube.com/watch?v=yi6Z3l0ci1o&fe ature=mfu_in_order&list=UL Selenium automation framework Link: http://www.youtube.com/watch?v=wpudDb3ECPA &feature=mfu_in_order&list=UL tech propulsion labs Masud Parvez SQA Architect Email: [email protected] Copyright 2011 Tech Propulsion Labs, Inc.