Tool Options :
1. Appium --> only chrome browser
2. Selendroid --> only default browser
3. Chromedriiver with SDK --> only chrome browser
Limitations:
1, Supporting tools are not well developed
2, Device specific gesture are missing
3. Features are not equally supported on all versions
Future:
1. ChromeDriver will become strong contender, as chrome on android is getting more popular
2. Screencast and remote debugging by chromedriver
## Appium
#python-appium >> appium server should be running
from selenium import webdriver
capabilities = {
'device' : 'Android',
'platform' : 'WINDOWS',
'version' : '4.2.2',
'app': "Chrome"
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', capabilities)
driver.get('http://google.com')
inputElement = driver.find_element_by_name("q")
inputElement.send_keys("cheese!")
inputElement.submit()
driver.save_screenshot("some.png")
driver.quit()
#ruby-appium>> appium server should be running
require 'selenium-webdriver'
capabilities = {
'device' => 'Android',
'platform' => 'WINDOWS',
'version' => '4.2.2',
'app' => "Chrome"
}
server_url = "http://127.0.0.1:4723/wd/hub"
driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => server_url)
driver.get("http://www.google.com")
element = driver.find_element :name => "q"
element.send_keys "Cheese!"
element.submit
driver.save_screenshot "some.png"
driver.quit()
## Selendroid
#python-selendroid >> selendroid server should be running
from selenium import webdriver
driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
driver.get('http://google.com')
inputElement = driver.find_element_by_name("q")
inputElement.send_keys("cheese!")
inputElement.submit()
driver.save_screenshot("some.png")
driver.quit()
#ruby-selendroid >> selendroid server should be running
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :remote, :desired_capabilities => :android
driver.get("http://www.google.com")
element = driver.find_element :name => "q"
element.send_keys "Cheese!"
element.submit
driver.save_screenshot "some.png"
driver.quit()
## ChromeDriver
#python-chromedriver >> chromedriver server and adb server should be running
from selenium import webdriver
capabilities = {
'chromeOptions': {
'androidPackage': 'com.android.chrome',
}
}
driver = webdriver.Remote('http://localhost:9515', capabilities)
driver.get('http://google.com')
inputElement = driver.find_element_by_name("q")
inputElement.send_keys("cheese!")
inputElement.submit()
driver.save_screenshot("some.png")
driver.quit()
#ruby-chromedriver
require 'selenium-webdriver'
capabilities = {
'chromeOptions'=> {
'androidPackage' => 'com.android.chrome',
}
}
server_url = "http://127.0.0.1:9515/wd/hub"
driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => server_url)
driver.get("http://www.google.com")
element = driver.find_element :name => "q"
element.send_keys "Cheese!"
element.submit
driver.save_screenshot "some.png"
driver.quit()
Showing posts with label Mobile. Show all posts
Showing posts with label Mobile. Show all posts
Sunday, March 2, 2014
Monday, October 14, 2013
Appium on windows - Android automation using ruby
Prerequisite -
Here are Quick Steps to Setup and Run Sample App using ruby selenium webdriver.
-----------------------------------------------
- Android SDK with API level 17 and above is available.
- Ruby 1.9 and selenium - webdriver gem is installed.
- OS variable ANDROID_HOME is pointing to SDK folder
Here are Quick Steps to Setup and Run Sample App using ruby selenium webdriver.
- Download latest Appium for Windows from https://bitbucket.org/appium/appium.app/ , unzip it.
- Start Emulator or Connect your Device using USB.
- Download ContactManager.apk from https://github.com/appium/appium/tree/master/sample-code/apps/ContactManager
- adb install ContactManager.apk.
- Click on Appium.exe from unzipped folder and Start Appium Server by clicking on Launch Button with Default parameters.
- Run below ruby code from cmd / irb
------------------------------------------------------------
require 'selenium-webdriver'
capabilities = {
'device' => 'Android',
'browserName' => '',
'platform' => 'WINDOWS',
'version' => '4.2.2',
#'app' => 'http://localhost/ContactManager.apk',
'app-package' => 'com.example.android.contactmanager',
'app-activity' => 'ContactManager'
}
server_url = "http://127.0.0.1:4723/wd/hub"
@driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => server_url)
btadd = @driver.find_element(:name, "Add Contact")
btadd.click()
textfields = @driver.find_elements(:tag_name,"textfield")
textfields[0].send_keys("Android_Appium")
textfields[2].send_keys("Android@Appium.com")
@driver.find_element(:name, "Save").click()
@driver.quit()
Subscribe to:
Posts (Atom)