Windows平台配置Appium+Java环境
2016-02-26 14:56
696 查看
1、搭建Android环境http://blog.csdn.net/u010725670/article/details/50750293注:需要设置系统变量“ANDROID_HOME”。2、安装Node.jshttp://www.nodejs.org/download/下载相关操作系统的版本
安装过程,一路“Next”。3、安装Appium(1)下载地址:http://appium.io/下载完毕后解压到pc本地,将压缩包里有appium.cmd文件的路径设置到环境变量path中。
(2)进入命令行,输入appium-doctor
另外也可在线安装(可选,网络不好还是选上面的好些)(1)进入命令行(2)输入命令:npm install -g appium注:翻墙下载比较靠谱(3)等待更新完毕(4)安装后验证:appium-doctor4、创建虚拟机或使用实际设备创建一个4.4.2的虚拟机不熟悉这块的朋友参考:http://blog.csdn.net/jlminghui/article/details/395828955、创建Java工程(Eclipse)(1)导入Selenium类库http://selenium-release.storage.googleapis.com/2.44/selenium-java-2.44.0.ziphttp://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar(确认2014.11.14有效,如无效请访问http://docs.seleniumhq.org/download/ 进行下载 )注:需要导入两个,一个是客户端,一个是服务端,服务端库不导入会导致运行时报错。(2)导入Appium类库https://search.maven.org/remotecontent?filepath=io/appium/java-client/1.2.1/java-client-1.2.1.jar(确认2014.11.14有效,如无效请访问http://appium.io/downloads.html 进行下载 )注:此处如果选择下载最新的2.0以上的版本,会导致编译
6、运行Appium示列(1)下载示例程序https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager上面链接中下载ContactManager.apk并将该apps放到当前项目的apps目录下(目录自行创建)
(2)下载示例程序测试地址:https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appiumjava文件为“AndroidContactsTest.java”内容经过更改如下[java]view plaincopyprint?package com.Demo;import io.appium.java_client.AppiumDriver;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import java.io.File;import java.net.URL;import java.util.List;public class AppDemo {private AppiumDriver driver;@Beforepublic void setUp()throws Exception {// set up appiumFile classpathRoot = new File(System.getProperty("user.dir"));File appDir = new File(classpathRoot,"apps");File app = new File(appDir,"ContactManager.apk");DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME,"");capabilities.setCapability("platformName","Android");capabilities.setCapability("deviceName","Android Emulator");capabilities.setCapability("platformVersion","4.4");capabilities.setCapability("app", app.getAbsolutePath());capabilities.setCapability("appPackage","com.example.android.contactmanager");capabilities.setCapability("appActivity",".ContactManager");driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);}@Afterpublic void tearDown()throws Exception {driver.quit();}@Testpublic void addContact(){WebElement el = driver.findElement(By.name("Add Contact"));el.click();List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");textFieldsList.get(0).sendKeys("Some Name");textFieldsList.get(2).sendKeys("Some@example.com");driver.swipe(100, 500,100, 100,2);driver.findElementByName("Save").click();}}
(5)项目右键>“Run As”>“JUnit Test”(选择Eclipse JUnit Launcher)以上步骤确认可以运行成功,但由于笔者也是刚接触Appium,可能存在遗漏,也请大家帮忙指出,另外也可以使用maven和相关Eclipse插件会更方便些,网上例子很多可自行查找
new
AppiumDriver时报错。解决办法见:
http://blog.csdn.net/zhubaitian/article/details/39717889
package com.Demo;import io.appium.java_client.AppiumDriver;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import java.io.File;import java.net.URL;import java.util.List;public class AppDemo {private AppiumDriver driver;@Beforepublic void setUp() throws Exception {// set up appiumFile classpathRoot = new File(System.getProperty("user.dir"));File appDir = new File(classpathRoot, "apps");File app = new File(appDir, "ContactManager.apk");DesiredCapabilities capabilities = new DesiredCapabilities();capabilities.setCapability(CapabilityType.BROWSER_NAME, "");capabilities.setCapability("platformName", "Android");capabilities.setCapability("deviceName","Android Emulator");capabilities.setCapability("platformVersion", "4.4");capabilities.setCapability("app", app.getAbsolutePath());capabilities.setCapability("appPackage", "com.example.android.contactmanager");capabilities.setCapability("appActivity", ".ContactManager");driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);}@Afterpublic void tearDown() throws Exception {driver.quit();}@Testpublic void addContact(){WebElement el = driver.findElement(By.name("Add Contact"));el.click();List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");textFieldsList.get(0).sendKeys("Some Name");textFieldsList.get(2).sendKeys("Some@example.com");driver.swipe(100, 500, 100, 100, 2);driver.findElementByName("Save").click();}}(3)启动android4.4.2虚拟机(4)命令行启动后输入:appium
相关文章推荐
- Android AIDL Service调试方法
- Android Framework
- iOS LGMagicRefresh 很好用的刷新控件
- unity 固定管线shader转换到顶点片段着色器
- 此证书的签发者无效Missing iOS Distribution signing identity问题解决
- 在Android Studio中如何导入工程库
- 给 iOS 开发者的 Sketch 入门教程
- iOS Xcode编译文件存在却说找不到
- SVG动画演示贝塞尔曲线(1-4阶)绘制过程
- android 沉浸式状态栏(像ios那样的状态栏与应用统一颜色样式)
- iOS 中建立 PCH 头文件
- 生成APP图标软件
- android studio中开发百度地图导入.os和.jar方法
- iOS程序猿之图片压缩
- android:clipChildren属性
- Android Matrix(坐标矩阵)
- IOS运行时传递对象或者添加属性
- android热补丁初探
- IOS Apps 开发(Swift)(6)——Implement a Custom Control(2)
- ANDROID安卓activity与fragment,activity之间互相传值(三)