Appium小试
来源:互联网 发布:mysql navicat 破解码 编辑:程序博客网 时间:2024/06/05 15:07
最近有空玩了一下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/
- Appium小试
- Appium小试
- Appium小试
- Appium小试
- appium小试用
- appium小范例
- appium Androiddriver小demo
- appium跑一个小demo
- appium小知识-持续更新
- Appium基于自动化测试的小实例
- appium
- Appium
- Appium
- Appium
- Appium
- appium
- Appium
- Appium
- swift Array 排序
- Android各大网络请求库的比较及实战
- ASP.NET链接MySQL
- 3.Spring学习笔记_配置Bean(by尚硅谷_佟刚)
- android studio 更新 Gradle错误解决方法(按键灰色,rebuild和clean都没有问题,被这个问题困扰了一天)
- Appium小试
- Printer Queue
- [转载]Java面试题全集(中)
- 从Trimble服务器下载历书
- Android 3D立体无限旋转滚动容器
- IP协议详解
- OpenGLES 版本
- MinGW for windows
- redis常用命令、常见错误、配置技巧等分享