標籤:
1) 安裝JDK
:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安裝:JDK安裝很簡單,按預設安裝即可。
配置環境變數:
開啟終端建立.bash_profile檔案:touch .bash_profile
開啟bash_profile檔案:vi .bash_profile
配置JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
儲存退出後執行source .bash_profile
2) 安裝Xcode
:
安裝:安裝很簡單,直接添加到Application下。
3) 安裝Command Line Tools
安裝:開啟終端輸入xcode-select –install
彈出提示“…..您要現在安裝該工具嗎?”,點擊安裝。
同意安裝協議,靜待安裝完成。
4) 安裝Node.js
:https://nodejs.org
安裝:一路next,按預設安裝即可。
安裝完成以後,檢查Node版本安裝是否成功:進入終端,輸入node -v, 可以看到版本號碼,說明成功了。
5) 安裝SDK和Android api
:http://yunpan.cn/cV9RM3vzqySVP 訪問密碼:1cc9
安裝:壓縮包直接解壓到安裝目錄即可。
配置環境變數:
開啟bash_profile檔案:vi .bash_profile
配置ANDROID_HOME
export ANDROID_HOME="/Users/sun/adt-bundle-mac-x86_64-20140702/sdk" (改成你SDK的實際路徑)
儲存退出後執行source .bash_profile
安裝更新Android api,作如下操作:
- 開啟終端進入你sdk的安裝目錄,運行下面的命令
cd tools
./android
2. 在彈出的SDK Manager視窗,點擊功能表列Android SDK Manage—preferences,做如下修改
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. 進入安裝階段(可能略慢)
6) 連網安裝Appium
安裝:
進入終端,做如下操作
sudo chmod –R 777 /usr/local
npm install –g appium
多等幾分鐘,日誌輸出可以看到appium的版本及安裝目錄
7) 檢查環境
檢查並啟動Appium:
進入終端,輸入appium &
出現以下提示:Welcome to Appium… 說明安裝好了。
檢查依賴環境:
進入終端,輸入appium-doctor
出現以下提示:All Checks were successful 說明所需環境全部安裝成功。
8) 安裝Ecplise
:http://www.eclipse.org/downloads/
安裝:解壓縮到安裝目錄。
異常問題:啟動時會提示讓重新安裝java se 6 runtime…
解決辦法:進入終端,做如下操作
sudo chmod 777 /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist
vi /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist
將
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
修改為
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
ok 儲存重啟電腦 就ok鳥
配置workspace:進入Eclipse安裝目錄,點擊eclipse。第一次啟動會要求設定工程儲存目錄。比如:User/sun/workspace
9) 安裝ADT Plugin
線上安裝:(速度較慢,也可用第二種離線安裝方式。)
- 開啟Eclipse,功能表列Help->Install New Software
- 然後在彈出的視窗中,Work with的後面點擊Add
Name:Android
Location:https://dl-ssl.google.com/android/eclipse/
點擊OK。
3. 選中列表出現的ADT版本,按照提示安裝。重啟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) 最後貼個小例子 Android真機:
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 @Before17 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, "Mac"); //使用的是mac平台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 @After30 public void tearDown() throws Exception {31 driver.quit();32 }33 34 @Test35 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("[email protected]");40 driver.findElement(By.name("password")).sendKeys("111111");41 driver.findElement(By.xpath(".//*[@id=‘loginBtn‘]")).click(); 42 } 43 }
IOS模擬器:
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 10 import io.appium.java_client.AppiumDriver;11 import io.appium.java_client.ios.IOSDriver;12 13 import java.io.File;14 import java.net.URL;15 16 public class IOSDemo {17 private AppiumDriver driver;18 19 @Before20 public void setUp() throws Exception {21 File appDir = new File(System.getProperty("user.dir"));22 final File app = new File(appDir, "apps/TestApp/build/Release-iphonesimulator/TestApp.app");23 DesiredCapabilities capabilities = new DesiredCapabilities(); 24 capabilities.setCapability("platformName","IOS"); //手機os 25 capabilities.setCapability("platformVersion", "8.0"); //要啟動的手機OS版本26 capabilities.setCapability("deviceName", "iPhone Simulator"); //手機類型或模擬器類型,比如MI_2A/Android Emulator/iPhone Simulator27 // capabilities.setCapability("udid","94122ad8"); //物理機ID 28 capabilities.setCapability(CapabilityType.PLATFORM, "Mac"); //使用的是Mac平台29 capabilities.setCapability("app", app.getAbsolutePath()); //得到app絕對路徑30 driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 31 }32 33 @After34 public void tearDown() throws Exception {35 // driver.quit();36 }37 38 @Test39 public void allinLogin() throws InterruptedException { //登陸40 final WebElement text = driver.findElement(By.xpath("//UIATextField[1]"));41 } 42 }
MacOS10.9平台配置Appium+Java環境