知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述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配置如下
文章图片
系统变量Path配置如下:
文章图片
下载、安装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实例: 新建mvn项目:
文章图片
修改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();
}}
推荐阅读
- Android Studio出现:Cause: unable to find valid certification path to requested target问题解决
- 配置mysql数据库时出再错误:LookupError: No installed app with label 'admin'.
- 微信删除后聊天纪录怎样恢复?微信聊天纪录恢复办法_微信
- 微信聊天记录手机端与电脑怎样同步?_微信
- 狗年祝福语动态表情包图片_微信
- 微信猜图达人答案大全_微信
- 跳一跳多人游戏怎样玩?微信跳一跳多人游戏玩法_微信
- 微信猜图达人怎样玩?微信猜图达人答案大全_微信
- 微信零钱通在啥地方里?微信零钱通打开办法图文详细教程_微信