Appium小试
2016-03-01 18:02
225 查看
最近有空玩了一下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添加如下依赖
编写AndroidContactsTest
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
转载自:http://www.cnblogs.com/oscarxie/p/3488262.html
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 @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在运行了,
同时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
转载自:http://www.cnblogs.com/oscarxie/p/3488262.html
相关文章推荐
- Android.mk里添加 LOCAL_SDK_VERSION := current 后不能使用@hide API
- Android Studio中文组(中文社区)
- 微信JSSDK开发JAVA版实现
- Android项目:手机安全卫士(4)—— 自定义(组合)控件、属性
- IOS 用lipo ar 拆分 合并 .a
- 《从零开始学Swift》学习笔记(Day 24)——枚举(Day 24)——枚举
- APP 签名
- Android开发技巧——Camera拍照功能
- Android开发技巧——Camera拍照功能
- android 深入浅出 群内“每日一问” 问答总结
- Android开发技巧——Camera拍照功能
- IOS上架(九) 上传ipa文件
- 微信支付(掃碼支付),開發日誌
- iOS App集成AirKiss技术
- 坚果部分机型屏幕亮度调整问题
- Android 5.0 MaterialDesigh资源整理
- IOS CGAffineTransform
- ios 扫码功能
- 移动端通讯录选择功能
- 《从零开始学Swift》学习笔记(Day 23)——尾随闭包