1) 安裝JDK
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安裝:JDK安裝很簡單,按默認安裝即可。
配置環境變量:
添加JAVA_HOME變量, 值:Jdk的安裝路徑,如:D:\Java\jdk1.7.0_45(只是例子,改成你的安裝目錄)
添加CLASSPATH變量,值 .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
修改path變量,加上這句 %JAVA_HOME%\bin;
檢查JAVA環境是否配置好,進入CMD命令行,輸入java或javac,可以看到好多的命令提示,說明成功了。
2) 安裝Node.js
下載地址:https://nodejs.org
安裝:按默認安裝即可,可以改變安裝的路徑。
安裝完成以后,檢查Node版本安裝是否成功:進入CMD,輸入node -v, 可以看到版本號,說明成功了。
3) 安裝SDK和Android api
下載地址:http://yunpan.cn/cV9RtJIQ9vd3v 訪問密碼:2c91 (只有win64)
安裝:壓縮包直接解壓到安裝目錄即可。
配置環境變量:
新建變量:ANDROID_HOME 值: D:\AutoTest\adt\sdk(只是例子,改成你的安裝目錄)
修改Path值: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
- 進入SDK安裝目錄,運行SDK Manager.exe
- 進入Tools—Options ,做如下設置。
HTTP Proxy Server輸入mirrors.neusoft.edu.cn
HTTP Proxy Port 輸入80
並且選中 Force https:sources to be fetched using http…….
最后點擊close關閉setting彈窗
3. 回到主界面選中你要安裝的Android api版本,點擊Install N package。如下圖:
4. 然后出現下面這個DLG,選“accept lisense”,將所有的都打勾勾,點擊Install。
5. 進入安裝階段(可能略慢)
4) 聯網安裝Appium
安裝:進入cmd命令行,輸入:
npm install –g appium 或者
多等幾分鍾,日志輸出可以看到appium的版本1.1.0及安裝目錄
5) 檢查環境
啟動並檢查Appium:
進入cmd命令行,輸入appium
出現以下提示:Welcome to Appium… 說明安裝好了。
檢查依賴環境:
進入cmd命令行,輸入appium-doctor
出現以下提示:All Checks were successful 說明所需環境全部安裝成功。
6) 安裝Apache Ant (這一步可省)
安裝:解壓縮到安裝目錄。
配置環境變量:
變量ANT_HOME 值:D:\AutoTest\ant-1.9.4(只是例子,改成你的安裝目錄)
設置Path: %ANT_HOME%\bin;
測試是否安裝成功,進入cmd命令行,輸入ant,如果沒有指定build.xml就會輸出:Buildfile: build.xml does notexist! Build failed
7) 安裝Apache Maven (這一步可省)
下載地址:http://maven.apache.org/download.cgi
安裝:解壓縮到安裝目錄。
配置環境變量:
變量M2_HOME 值:D:\AutoTest\maven-3.1.1(只是例子,改成你的安裝目錄)
設置Path: %M2_HOME%\bin;
測試Maven是否成功,運行cmd,輸入mvn -version如果成功,則出現maven版本等環境信息。
8) 安裝Ecplise
下載地址:http://www.eclipse.org/downloads
安裝:解壓縮到安裝目錄。
配置workspace:進入Eclipse安裝目錄,點擊eclipse.exe。第一次啟動會要求設置工程存儲目錄。比如:E:\workspace\
9) 安裝ADT Plugin
在線安裝:(速度較慢,也可用第二種離線安裝方式。)
- 打開Eclipse,菜單欄Help->Install New Software
- 然后在彈出的窗口中,Work with的后面點擊Add
Name:Android
Location:https://dl-ssl.google.com/android/eclipse/
點擊OK。
3. 選中列表出現的AD
4. T版本,按照提示安裝。重啟Eclipse生效。
離線安裝:
下載地址:https://dl.google.com/android/ADT-23.0.6.zip
- 打開Eclipse,菜單欄Help->Install New Software
- 然后在彈出的窗口中,Work with的后面點擊Add
- 然后點擊Archive,添加剛才下載的ADT-23.0.6.zip
- OK后,再寫上一個名字,比如Android
- 經過解析后,選中列表中出現的ADT版本,按照提示安裝。重啟Eclipse生效。
10) 配置Appium client,Selenium
下載地址:http://yunpan.cn/cVGaGYjF9mcgF 訪問密碼:2d90
- 在Eclipse新建項目appium(示例名)步驟:File—New—點擊Java Project—輸入project name—點擊finish
- 進入前面設置的工程存儲目錄—appium文件夾下,比如:E:\workspace\appium
新建lib目錄,並把java-client-2.2.0.jar,selenium-java-2.43.1.jar,selenium-server-standalone-2.41.0.jar三個jar包丟在lib目錄下。
3. 返回Eclipse界面,右鍵appium刷新,直到顯示lib目錄。右鍵lib目錄下的java-client-2.2.0.jar—Build Path—點擊Add to Build Path
其他兩個jar包重復此步驟。
11) 配置Junit或者TestNG(自己選個喜歡的吧)
Junit安裝:高版本Eclipse自帶,不需要安裝。
TestNG在線安裝:
- 打開Eclipse,菜單欄Help->Install New Software
- 然后在彈出的窗口中,Work with的后面點擊Add
Name:TestNG
Location:http://beust.com/eclipse
點擊OK。
3. 選中列表出現的TestNG版本,按照提示安裝。重啟Eclipse生效。
12) Appium相關API文檔
Appium客戶端部分方法:http://appium.io/slate/cn/master/?java#appium-客戶端庫
Appium服務關鍵字:http://appium.io/slate/cn/master/?java#appium-服務關鍵字
Appium元素定位與交互:http://appium.io/slate/cn/master/?java#元素定位與交互
Selenium 官方API:https://selenium.googlecode.com/svn/trunk/docs/api/java/index.html?overview-summary.html
13) 最后貼個小例子
1 package com.allinmd.android; 2 3 import org.junit.After; 4 import org.junit.Before; 5 import org.junit.Test; 6 import org.openqa.selenium.*; 7 import org.openqa.selenium.remote.CapabilityType; 8 import org.openqa.selenium.remote.DesiredCapabilities; 9 import io.appium.java_client.android.AndroidDriver; 10 import java.net.URL; 11 import java.util.concurrent.TimeUnit; 12 13 public class AndroidBrowserTest { 14 private WebDriver driver; 15 16 @Before 17 public void setUp() throws Exception { 18 DesiredCapabilities capabilities = new DesiredCapabilities(); 19 capabilities.setCapability("automationName","Selendroid"); //自動化引擎 20 capabilities.setCapability("platformName","Android"); //手機os 21 capabilities.setCapability("platformVersion", "4.1.1"); //真機的Android版本 22 capabilities.setCapability("udid","94122ad8"); //物理機ID 23 capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS"); //使用的是windows平台 24 capabilities.setCapability("browserName", "Chrome"); //要啟動的手機瀏覽器 25 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 26 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 27 } 28 29 @After 30 public void tearDown() throws Exception { 31 driver.quit(); 32 } 33 34 @Test 35 public void allinLogin() throws InterruptedException { //登陸 36 driver.get("http://m.xxx.cn"); 37 driver.findElement(By.xpath("html/body/section/div[1]/div[2]/a/div")).click(); 38 driver.findElement(By.xpath(".//*[@id='allinLoginPage']/div[2]/div[1]/a[2]")).click(); 39 driver.findElement(By.id("email")).sendKeys("test@smc.com"); 40 driver.findElement(By.name("password")).sendKeys("111111"); 41 driver.findElement(By.xpath(".//*[@id='loginBtn']")).click(); 42 } 43 }