最近有空玩了一下Appium,記錄一下
1.下載Appium for windows,現在是0.12.3版本
https://bitbucket.org/appium/appium.app/downloads/
解壓后如下圖
雙擊Appium.exe就能啟動Appium界面
點擊Launch開啟服務
2. 下載Android SDK
https://developer.android.com/sdk/index.html
解壓后
3. 配置系統環境變量
ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk
Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
4. 啟動AVD,耗資源啊,這時候我T400的CPU已經100%了
5. 編寫Test,使用ADT安裝好Maven插件,創建一個Maven項目,添加一個文件夾apps用來存放被測的app,這里測試的是ContactManager.apk
pom.xml添加如下依賴
1
2
3 junit
4 junit
5 4.11
6 test
7
8
9 org.seleniumhq.selenium
10 selenium-java
11 LATEST
12 test
13
14
編寫AndroidContactsTest
1 package com.guowen.appiumdemo;
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.interactions.HasTouchScreen;
8 import org.openqa.selenium.interactions.TouchScreen;
9 import org.openqa.selenium.remote.CapabilityType;
10 import org.openqa.selenium.remote.DesiredCapabilities;
11 import org.openqa.selenium.remote.RemoteTouchScreen;
12 import org.openqa.selenium.remote.RemoteWebDriver;
13 import java.io.File;
14 import java.net.URL;
15 import java.util.List;
16
17 public class AndroidContactsTest {
18 private WebDriver driver;
19
20 @Before
21 public void setUp() throws Exception {
22 // set up appium
23 File classpathRoot = new File(System.getProperty("user.dir"));
24 File appDir = new File(classpathRoot, "apps/ContactManager");
25 File app = new File(appDir, "ContactManager.apk");
26 DesiredCapabilities capabilities = new DesiredCapabilities();
27 capabilities.setCapability("device","Android");
28 capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
29 capabilities.setCapability(CapabilityType.VERSION, "4.4");
30 capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");
31 capabilities.setCapability("app", app.getAbsolutePath());
32 capabilities.setCapability("app-package", "com.example.android.contactmanager");
33 capabilities.setCapability("app-activity", ".ContactManager");
34 driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
35 }
36
37 @After
38 public void tearDown() throws Exception {
39 driver.quit();
40 }
41
42 @Test
43 public void addContact(){
44 WebElement el = driver.findElement(By.name("Add Contact"));
45 el.click();
46 List textFieldsList = driver.findElements(By.tagName("textfield"));
47 textFieldsList.get(0).sendKeys("Some Name");
原文轉自:http://www.cnblogs.com/oscarxie/p/3488262.html