Appium小试

来源:互联网 发布:淘宝自动确认收货是几天 编辑:程序博客网 时间:2024/06/05 21:57

最近有空玩了一下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   <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     @Before21     public void setUp() throws Exception {22         // set up appium23         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     @After38     public void tearDown() throws Exception {39         driver.quit();40     }41 42     @Test43     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在运行了,

同时Appium的命令行有对应的输出

7. 更多信息请参考Appium的Github

https://github.com/appium/appium

建议可以Clone下这个项目,在Sample-code文件夹下有示例

https://github.com/appium/appium/tree/master/sample-code

同时Testerhome发起翻译活动的中文文档也提交进去了

https://github.com/appium/appium/tree/master/docs/cn

OscarXie.net

关注质量与体验——电子商务与自动化测试
http://www.cnblogs.com/oscarxie/

1 0
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝45天不拉屎怎么办 儿童4天不大便怎么办 4一5天不大便怎么办 俩月的宝宝便秘怎么办 宝宝6天没大便怎么办 新生儿3天不大便怎么办 50天宝宝几天没有大便怎么办 宝宝一吃奶就拉怎么办 2个月宝宝不拉屎怎么办 吃苹果呛到气管怎么办 三个月宝宝五天没拉大便了怎么办 三个月的宝宝五天不大便怎么办 十天婴儿不大便怎么办 宝宝断奶不喝牛奶怎么办 宝宝喝羊奶大便干燥怎么办 4个月宝宝睡眠少怎么办 8个月婴儿不吃奶粉怎么办 满月的宝宝黄疸高怎么办 刚满月的宝宝黄疸高怎么办 换奶粉孩子不喝怎么办 宝宝整夜哭闹不睡觉怎么办 满月宝宝整夜不睡觉怎么办 6个半月宝宝一喂粥就哭怎么办 宝宝敷鸡蛋白过敏怎么办 七个月宝宝不吃米糊怎么办 涨奶引起的发烧怎么办 8个月宝宝积食怎么办 宝宝吃奶一会就睡了怎么办 宝宝喝凉酸奶拉肚子怎么办 宝宝戒奶不吃奶粉怎么办 三个月大婴儿不吃奶粉怎么办 三个月大的婴儿不吃奶粉怎么办 40天宝宝肚脐凸怎么办 6个月婴儿消化不好怎么办 2个月婴儿消化不好怎么办 10月婴儿不吃饭怎么办 9个月宝宝不吃饭怎么办 十个多月的宝宝便秘怎么办 十个多月宝宝便秘怎么办 8个月宝宝过敏怎么办 宝宝二十个月便秘怎么办