APPium入门笔记
环境配置
1.首先安装Appium所需要的插件
l Install node.js (includesnpm, the node.js package manager).
l java运行环境
http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp
此为必须环境,请优先安装,IOS和WIN7一样需要(使用稳定的最新版即可)
2.请明确自己的机器配置环境
iOS
Mac OSX 10.7+
XCode 4.5+ w/ Command Line Tools
Android
Mac OSX 10.7+ or Windows 7+ or Linux
Android SDK ≥ 16 (SDK < 16 in Selendroidmode)
3.下载Appium for windows,现在是1.0.0版本
https://bitbucket.org/appium/appium.app/downloads/
解压后如下图
双击Appium.exe就能启动Appium界面
点击Launch开启服务(小火箭图标)
4.下载Android SDK
https://developer.android.com/sdk/index.html
解压到本地C:盘,配置环境运行变量
ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk
这里需要填写你把Android SDK放在你本地的地址
Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
这个地址必须加
5.下载maven3
http://maven.apache.org/download.cgi
最新版本 Maven 3.2.1,下载完成之后将其解压,我将解压后的文件夹重命名成 maven,并将它放在 D:\Server 目录下,即 maven最终的路径是:D:\Server\maven
配置环境运行变量
系统变量:MAVEN_HOME = D:\Server\maven
用户变量:path = %MAVEN_HOME%\bin
6.下载eclipse
https://www.eclipse.org/downloads/
Eclipse IDE for Java Developers, java版
随便选一个都行
安装eclipse插件,这个是必选,代码运行环境需要
找到下面需要安装的插件,点击Install
l Maven插件
l TestNG
l Android
注:如果需要特殊的系统版本模拟器,自己去选择
启动第一个例子
1. 启动AVD(根据自己的要求来选择模拟器)
(注意调试脚步的时候,最好是解锁状态)
2. 启动eclipse,创建一个MAV项目,注意配置运行环境
3.添加引用项
我使用了一个插件报表插件Arrow,需要在这里把相关内容引入进项目,可以去互联网上下载最新资源包。
https://github.com/NetEase/arrow
http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22testng%22
http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22testng%22
3个资源都可以下到对应的版本
4.修改配置文件
创建一个AndroidCtripTest.java文件,详细情况见我的程序包
l AndroidCtripTest.java是第一个测试携程apk的实例
l apps目录下放入所有待测试APK文件
l class是系统生成的目录
l libs放入框架内需要引入的插件
l log目录是代码运行日志
l src存放部分引用的源码
l test-output存放运行报告,主要看power-emailable-report.html
l build.xml是采用ant集成的时候需要
l config.properties是测试框架配置
l log4j.properties是日志配置文件,很多地方需要此文件
l pom.xml项目配置文件
pom.xml添加如下依赖
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>LATEST</version> <scope>test</scope> </dependency> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>1.0.2</version> </dependency> </dependencies> |
config.properties文件
retrycount=0 #定义重跑次数,不是必填项,默认值是0,即失败不重跑 sourcecodedir=src #定义源代码路径,不是必填项,默认值是src sourcecodeencoding=UTF-8 #定义源代码编码,不是必填项,默认值是utf-8 |
testng.xml文件,这个是使用testNG框架,这样可以右键直接运行想运行的测试用例
<?xmlversion="1.0"encoding="utf-8"?> <!DOCTYPEsuiteSYSTEM "http://testng.org/testng-1.0.dtd">
<suitename="Pris_AOS_UI_AutoTest"annotations="JDK"thread-count="1" verbose="1"> <testname="Test"> <classes> <classname="appiumdome.appiumdome.AndroidContactsTest"/> </classes> </test>
<listeners> <listenerclass-name="com.netease.qa.testng.TestResultListener"/> <listenerclass-name="com.netease.qa.testng.RetryListener"/> <listenerclass-name="com.netease.qa.testng.PowerEmailableReporter"/> </listeners> </suite> |
5.调试代码
实例代码:
如果有不明白的地方,欢迎一起讨论。 [email protected]
设置appium代码
原生控件设置驱动"device","Android"
// set up appium File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot,"apps/ContactManager"); File app = new File(appDir,"p_9013.apk");
// new 1.0 vison DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME,""); capabilities.setCapability("device","Android");// capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage","android.view"); capabilities.setCapability("appActivity","home.HomeActivity"); driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); |
混合控件设置驱动"device","Android"
// set up appium File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot,"apps/ContactManager"); File app = new File(appDir,"p_9013.apk");
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("automationName","selendroid"); capabilities.setCapability(CapabilityType.PLATFORM, "android"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage"," android.view"); capabilities.setCapability("appActivity"," home.HomeActivity"); driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); |
这里还需要多看sample-code还有java-client的API
运行成功日志:
[INFO ]15:46:44, retrycount=0 [INFO ]15:46:44, sourceCodeDir=/src/com/netease/qa/testng [INFO ]15:46:44, sourceCodeEncoding=UTF-8 [TestNG] Running: D:\workspace\appiumdome\testng.xml
[INFO ]15:47:10, AndroidContactsTest setUp [INFO ]15:47:10, addContact Start [INFO ]15:50:10, addContact Failure [INFO ]15:50:11, failedTest = addContact
=============================================== Pris_AOS_UI_AutoTest Total tests run: 1, Failures: 1, Skips: 0 Configuration Failures: 1, Skips: 0 =============================================== |
运行后的报表
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。