mdc2011 android_ webdriver automation test
Embed Size (px)
TRANSCRIPT

LOGO
LOGO Tech propulsion Labs
Android Webdriver Test automation - Selenium 2
Masud Parvez
Email:[email protected]

All copyright is reserved by Tech propulsion labs
Contents
What is Selenium ?1
Selenium Versions2
Life of Web story3
Impact of JS4

Contents
Mobile application testing5
Android and Selenium 26
WebDriver7
Why Webdriver ?8

Contents
Android Test architecture9
Setup selenium for Android10
How are we doing?11
Limitations12

Contents
Demo13
Guide line for python14
Way to walk in the future with us15
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
Selenium 1
-----------------------------
Selenium 2 b-1
January
Selenium 2
July
2004 2008 2011 2011

Updates in Selenium 2
1 2 3 4
Mobile application testing .
Fire fox 4, 5, 6, 7
ExperimentalIE9 and chrome support
WebDriver

Why do we need Selenium?
?
?
?
?Selenium

Life before the Web
Total Application Market

Yesterday
Total Application Market
HTML +JS

Data
Total Application Market

Today
HTMLJS
Total Application Market

Tomorrow
HTML JS
Total Application Market

Today
HTMLJS
Total Application Market
Selenium Lives here

Tomorrow
HTML JS
Total Application Market
Selenium Lives here

Mobile application testing
1
iPhone/ iPad
2
Android
3
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 UIsMatching:
clearclickfindElement(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 Phase 2 Phase 3
Set up EmulatorSet up SDK Start Emulator

Setup selenium for Android
Phase 4 Phase 5 Phase 6
Port ForwardingInstall the App 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 (aka "webdriver") 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/andriod-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&feature=mfu_in_order&list=UL
Selenium automation framework Link: http://www.youtube.com/watch?
v=wpudDb3ECPA&feature=mfu_in_order&list=UL