Appium環境搭建已經在在博客中寫出
http://www.cnblogs.com/feimaoyuzhubaobao/p/5057832.html 那么本篇博客主要介紹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
下載地址如下:
代碼如下:
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等。