一般情況下,我們都從命令行啟動appium。
windows下,dos命令窗口輸入
appium
如果該命令報錯,那么請重裝appium
npm install -g appium
如果安裝出錯,請自行更換npm源。
npm -g --registry http://registry.cnpmjs.org install appium
然后請打開android的模擬器,如果沒有請新建一個虛擬設備。請自行解除設備鎖定(手動把屏幕解鎖了),以防萬一。
本文版權歸乙醇所有,歡迎轉載,但請注明作者與出處,嚴禁用於任何商業用途
下面的代碼以啟動android原生的計算器程序為例
ruby篇
require 'appium_lib' caps = { caps: { platformName: 'Android', appActivity: '.Calculator', appPackage: 'com.android.calculator2' }, appium_lib: { sauce_username: nil, sauce_access_key: nil } } driver = Appium::Driver.new(caps).start_driver
討論:可以看出ruby lib里面的Appium::Driver類實際上就是原生的webdriver類的子類,當然了,由於ruby語法靈活,也可以使用monkey patch來實現類似功能。
python篇
from appium import webdriver
desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.2' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage'] = 'com.android.calculator2' desired_caps['appActivity'] = '.Calculator' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
討論:webdriver.Remote實際上就是原生webdriver的子類,另外Remote()構造函數的第一個參數中需要顯示指定appium server監聽的端口
java篇
新建java項目時候,請注意將selenium-webdriver以及appium client的jar包導入
import io.appium.java_client.AppiumDriver; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "");//這句不是必須的 capabilities.setCapability("deviceName","Android Emulator"); capabilities.setCapability("platformVersion", "4.4"); capabilities.setCapability("platformName","Android"); capabilities.setCapability("appPackage", "com.android.calculator2"); capabilities.setCapability("appActivity", ".Calculator"); AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
討論:AppiumDrvier是原生webdriver的子類。
在這里我們可以看到,新建driver的時候必須要指定一個DesiredCapabilities 對象,該對象究竟是何方神聖,我們下一節會仔細講解。
本文版權歸乙醇所有,歡迎轉載,但請注明作者與出處,嚴禁用於任何商業用途