MacOS10.9平台配置Appium+Java環境

來源:互聯網
上載者:User

標籤:

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,作如下操作:

  1. 開啟終端進入你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

  線上安裝:(速度較慢,也可用第二種離線安裝方式。)

  1. 開啟Eclipse,功能表列Help->Install New Software
  2. 然後在彈出的視窗中,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

  1. 開啟Eclipse,功能表列Help->Install New Software
  2. 然後在彈出的視窗中,Work with的後面點擊Add
  3. 然後點擊Archive,添加剛才下載的ADT-23.0.6.zip
  4. OK後,再寫上一個名字,比如Android
  5. 經過解析後,選中列表中出現的ADT版本,按照提示安裝。重啟Eclipse生效。

 

10)     配置Appium client,Selenium

  :http://yunpan.cn/cVGaGYjF9mcgF   訪問密碼:2d90

  1. 在Eclipse建立項目appium(樣本名)步驟:File—New—點擊Java Project—輸入project name—點擊finish
  2. 進入前面設定的工程儲存目錄—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安裝:

  1. 開啟Eclipse,功能表列Help->Install New Software
  2. 然後在彈出的視窗中,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環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.