appium环境的搭建

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述appium环境的搭建相关的知识,希望能为你提供帮助。
appium环境的搭建 下载、安装JDK& 配置java环境变量JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
配置环境变量:
?1、右键我的电脑--属性--高级--环境变量
?2、新建系统变量JAVA_HOME 和CLASSPATH
?变量名:JAVA_HOME
?变量值:C:\\Program Files\\Java\\jdk1.7.0
?变量名:CLASSPATH
?变量值:.; %JAVA_HOME%\\lib\\dt.jar; %JAVA_HOME%\\lib\\tools.jar;
?3、选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加 到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
?变量名:Path
?变量值:%JAVA_HOME%\\bin; %JAVA_HOME%\\jre\\bin;
验证配置是否成功:重新打开控制台输入:java -verison,如果显示Java版本信息表示安装成功。
下载、安装SDK、ADT& 配置android环境变量ADT:[http://developer.android.com/sdk/index.html](file:///D:/Users/dctang/Desktop/doc/http:/developer.android.com/sdk/index.html)
【appium环境的搭建】配置环境变量:1、右键我的电脑--属性--高级--环境变量
?2、在系统变量域中新建ANDROID_HOME变量
?变量名:ANDROID_HOME
?变量值:E:\\appium\\adt-bundle-windows-x86_64-20131030\\sdk\\(根据实际情况而定)
?3、选择“系统变量”中变量名为“Path”的环境变量,双击该变量
?变量名:path
?变量值:; %Android_Home%\\build-tools\\android-4.4; %Android_Home%\\tools; %Android_Home%\\platform-tools(注意:android-4.4要视情况而定)
最后结果如图:
ANDROID_HOME配置如下

appium环境的搭建

文章图片

系统变量Path配置如下:
appium环境的搭建

文章图片

下载、安装Appiumcmd版本
安装Node.js
下载地址:http://www.nodejs.org/
1、配置环境变量:
?右键我的电脑--属性--高级--环境变量—用户变量
?变量名:Path
?变量值:D:\\nodejs; d:\\Users\\lcding\\AppData\\Roaming\\npm
2、联网安装Appium 进入cmd命令行
输入: npm install –g appium 或者 npm --registry http://registry.cnpmjs.org install -g appium (推荐这种,npm的国内镜像)
如果需要装1.2.4:npm --registry http://registry.cnpmjs.org install -g appium@1.2.4
注:-g全局参数 多等几分钟,可以看到appium的版本1.xx.xx及安装目录
检查一下appium是否安装成功。 进入cmd命令行,输入appium 提示:Welcome to Appium 说明安装好了
检查appium所需的环境是否OK(这步很重要) 进入Cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。
exe****版本
下载Windows版本的Appium地址:[https://bitbucket.org/appium/appium.app/downloads/](file:///D:/Users/dctang/Desktop/doc/https:/bitbucket.org/appium/appium.app/downloads/)下载安装即可
注意:AppiumForWindow版本需要Microsoft .Net Framework 4.5.1支持,在安装Appium的过程中如果没有安装会提示用户安装并跳转到“.Net Framework”下载地址。
安装成功之后点击”Appium.exe”运行即可,运行界面如图:
appium环境的搭建

文章图片

appium实例: 新建mvn项目:
appium环境的搭建

文章图片

修改pom.xml文件:
< ?xml version="1.0" encoding="UTF-8"?> < project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> < modelVersion> 4.0.0< /modelVersion> < groupId> org.example< /groupId> < artifactId> APPUiTest< /artifactId> < version> 1.0-SNAPSHOT< /version> < properties> < aspectj.version> 1.8.10< /aspectj.version> < project.build.sourceEncoding> UTF-8< /project.build.sourceEncoding> < project.reporting.outputEncoding> UTF-8< /project.reporting.outputEncoding> < /properties> < dependencies> < dependency> < groupId> org.testng< /groupId> < artifactId> testng< /artifactId> < version> 6.14.3< /version> < /dependency> < dependency> < groupId> org.darkphoenixs< /groupId> < artifactId> log4j< /artifactId> < version> 1.2.17< /version> < /dependency> < !-- https://mvnrepository.com/artifact/io.appium/java-client --> < dependency> < groupId> io.appium< /groupId> < artifactId> java-client< /artifactId> < version> 7.0.0< /version> < /dependency> < /dependencies> < /project>

代码:
初始化driver:
import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.AndroidMobileCapabilityType; import io.appium.java_client.remote.iosMobileCapabilityType; import io.appium.java_client.remote.MobileCapabilityType; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.DesiredCapabilities; public class InitDriver { public static voidinitDriver() throws Exception { File app=new File("C:/Users/Desktop/zhihu.apk"); DesiredCapabilities caps=new DesiredCapabilities(); //deviceName是必须项,但是值可以随便写 caps.setCapability("deviceName", "moniqi"); //要安装的app路径,路径必须是服务端所在的电脑上存放的apk文件路径 caps.setCapability("app", app.getAbsolutePath()); //如果你的安卓是4.2以下,需要使用automationName指定Selendroid //caps.setCapability("automationName", "Selendroid"); //使用appium的输入法,支持中文并隐藏键盘 caps.setCapability("unicodeKeyboard", true); //将输入法重置回设备默认的输入法 caps.setCapability("resetKeyboard", true); //不重签名app caps.setCapability("noSign", true); //设置driver超时时间,单位s caps.setCapability("newCommandTimeout", 600); //appPackage表示要启动的应用的包名 //caps.setCapability("appPackage", "com.zhihu.android"); ////appActivity表示要启动的应用的起始activity //caps.setCapability("appActivity", "com.zhihu.android.app.ui.activity.MainActivity"); ////appWaitActivity,这个参数的值写的是app启动后真正的界面activity caps.setCapability("appWaitActivity", "com.zhihu.android.app.ui.activity.MainActivity1"); //deviceReadyTimeout修改appium判断设备正常响应的超时时间,默认是5秒 caps.setCapability("deviceReadyTimeout",30); //browserName手机web自动化的浏览器的名字 //caps.setCapability("browserName", "Chrome"); //udid表示指定连接某台设备 caps.setCapability("udid", "127.0.0.1:62001"); //caps.setCapability("noReset", false); caps.setCapability("fullReset", true); AndroidDriver< AndroidElement> driver=new AndroidDriver< AndroidElement> ( new URL("http://127.0.0.1:4723/wd/hub"), caps); } public static AndroidDriver< AndroidElement> initDriver1() throws Exception{ File app=new File("C:/Users/LXG/Desktop/zhihu.apk"); DesiredCapabilities caps=new DesiredCapabilities(); caps.setCapability(MobileCapabilityType.DEVICE_NAME, "xxx"); caps.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); caps.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium"); caps.setCapability(MobileCapabilityType.UDID, "127.0.0.1:62001"); caps.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 600); caps.setCapability(MobileCapabilityType.FULL_RESET, true); caps.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.zhihu.android"); caps.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.zhihu.android.app.ui.activity.MainActivity"); caps.setCapability(AndroidMobileCapabilityType.UNICODE_KEYBOARD, true); caps.setCapability(AndroidMobileCapabilityType.RESET_KEYBOARD, true); caps.setCapability(AndroidMobileCapabilityType.NO_SIGN, true); AndroidDriver< AndroidElement> driver=new AndroidDriver< AndroidElement> ( new URL("http://127.0.0.1:4723/wd/hub"), caps); return driver; } public static void main(String[] args) { try { InitDriver.initDriver(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}

登录
publicvoid login(){ AndroidElement ignore=driver.findElementById("com.zhihu.android:id/is_private"); ignore.click(); AndroidElement cancue=driver.findElementById("android:id/button3"); cancue.click(); AndroidElement login=driver.findElementById("com.zhihu.android:id/login_btn"); login.click(); }}


    推荐阅读