標籤:路徑 blank 測試 appium span 開啟 密碼 原始碼 sel
本篇部落客要介紹java版本的appium入門demo。在開始demo之前,Android模擬器要安裝好,其實模擬器就是模擬器真機,除了不能打電話和發資訊,其他應該都可以的。模擬器的話在這裡還可以安裝genymotion,其實它不是普通的模擬器,嚴格來說,genymotion是虛擬機器,被網傳定義為模擬器。想安裝這款模擬器的話。我在這裡提供安裝檔案地址 http://yun.baidu.com/s/1pJC6ve7 和我自己在官網上註冊號的帳號和密碼:feimao ,feimao12345。genymotion安裝檔案比較多,效果確實比前面AVD.exe模擬器要快些。我就不再贅述模擬器了,下面開始正式appium入門demo。
使用Eclipse建立demo工程
1.開啟Eclipse,【File】-->【New】-->【Project】
2.選擇【Java Project】-->【Next】
3.輸入工程名稱AppiumDemo,點擊【Finish】
4.右鍵點擊工程 New-Folder,建立兩個檔案夾:apps和libs,目錄結構如下:
匯入測試的類庫
由於Appium 驅動蘋果的 UIAutomation 庫和 Android 的 UiAutomator 架構,使用 Selenium 的 WebDriver JSON 協議。所以selenium類庫是要匯入的。
1.Selenum2類庫: http://seleniumhq.org/downlod
做過selenium自動化的朋友這塊應該是熟悉的,就不多講了。
2.Appium類庫: http://appium.io/downloads.html
3.右鍵點擊工程空白處,選擇【Build Path】-->【Configure Build Path】
selenium的類庫我匯入比較多哈,不影響的。
下載測試APK
1.下載測試的檔案
ContactManager.apk https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager
2.將下載的apk直接複製黏貼到項目的apps目錄下
建立package包和demo檔案
1.在src檔案夾上按右鍵,【New】-->【package】,輸入包名: com.feimao.demo,點擊【Finish】
2.在package下建立類:ContactTest.java
如下:
https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium
代碼如下:
package com.feimao.demo;import java.io.File;import java.net.URL;import java.util.List;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import io.appium.java_client.AppiumDriver;import io.appium.java_client.android.AndroidDriver;public class ContactTest { private AndroidDriver driver; @Before public void setUp() throws Exception { //設定apk的路徑 File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "apps"); File app = new File(appDir, "ContactManager.apk"); //設定自動化相關參數 DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "Android Emulator"); //設定安卓系統版本 capabilities.setCapability("platformVersion", "4.4.2"); //設定apk路徑 capabilities.setCapability("app", app.getAbsolutePath()); //設定app的主包名和主類名 capabilities.setCapability("appPackage", "com.example.android.contactmanager"); capabilities.setCapability("appActivity", ".ContactManager"); //初始化 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void addContact(){ WebElement el = driver.findElement(By.name("Add Contact")); el.click(); List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText"); textFieldsList.get(0).sendKeys("feimaoyuzhubaobao"); textFieldsList.get(2).sendKeys("forever together"); driver.swipe(100, 500, 100, 100, 2); driver.findElementByName("Save").click(); } @After public void tearDown() throws Exception { driver.quit(); }}
啟動Android模擬器(也可以串連真機)
1.cmd輸入:android avd,選擇模擬器,點擊【Start】即可。如果你在eclipse中整合了外掛程式,那麼在eclipse中也可以直接啟。
2.啟動好後,cmd輸入:adb devices,確定裝置是否串連上,如串連成功:
啟動Appium
1.由於之前安裝好了appium,那麼直接雙擊,然後點擊啟動按鈕
2.cmd命令,appium 啟動
運行Appium入門demo
1.在eclipse中,項目右鍵>【Run As】>【JUnit Test】,運行過程如下:
到這裡appium的入門demo已經全部寫完了,這隻是一個類比呼叫連絡人的例子,然後可以類比此demo,寫登入啊、定位元素啊等等。appium定位元素的方法貌似有9種,後續還會寫一些工作中的例子和解決appium問題的方法。另外還可以去官網上下載原始碼來看,看它的原理,看它的API等。
分類: Appium
Appium--入門demo