首页 > 移动平台 > 详细

安装运行Appium初体验

时间:2014-11-28 02:03:01      阅读:324      评论:0      收藏:0      [点我收藏+]

安装运行Appium初体验

 最近有空玩了一下Appium,记录一下
  1.下载Appium for windows,现在是0.12.3版本
  解压后如下图
bubuko.com,布布扣
  双击Appium.exe就能启动Appium界面
bubuko.com,布布扣
  点击Launch开启服务
bubuko.com,布布扣
  2. 下载Android SDK
  解压后
bubuko.com,布布扣
  3. 配置系统环境变量
  ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk
bubuko.com,布布扣
  Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
 4. 启动AVD,耗资源啊,这时候我T400的CPU已经100%了
bubuko.com,布布扣
bubuko.com,布布扣
  5. 编写Test,使用ADT安装好Maven插件,创建一个Maven项目,添加一个文件夹apps用来存放被测的app,这里测试的是ContactManager.apk
bubuko.com,布布扣
  pom.xml添加如下依赖
1   <dependencies>
2     <dependency>
3             <groupId>junit</groupId>
4             <artifactId>junit</artifactId>
5             <version>4.11</version>
6             <scope>test</scope>
7         </dependency>
8         <dependency>
9             <groupId>org.seleniumhq.selenium</groupId>
10             <artifactId>selenium-java</artifactId>
11             <version>LATEST</version>
12             <scope>test</scope>
13         </dependency>
14   </dependencies>
 编写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<WebElement> textFieldsList = driver.findElements(By.tagName("textfield"));
47         textFieldsList.get(0).sendKeys("Some Name");
48         textFieldsList.get(2).sendKeys("Some@example.com");
49         driver.findElement(By.name("Save")).click();
50     }
51
52     public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen {
53         private RemoteTouchScreen touch;
54
55         public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) {
56             super(remoteAddress, desiredCapabilities);
57             touch = new RemoteTouchScreen(getExecuteMethod());
58         }
59
60         public TouchScreen getTouch() {
61             return touch;
62         }
63     }
64 }
  6. 运行Test,注意AVD里的Android如果没有解锁需要先解锁
  这时候我们可以看到AVD在运行了,
bubuko.com,布布扣
  同时Appium的命令行有对应的输出
bubuko.com,布布扣
  7. 更多信息请参考Appium的Github

安装运行Appium初体验

原文:http://www.blogjava.net/qileilove/archive/2014/11/27/420696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!