本文主要讲述的是在win7环境下安装appium集成到eclipse并使用eclipse写一个小脚本,使用java语言编写:启动QQ停滞2s后关掉。
目前学习的是java语言,仅供java语言学习者。
Appium介绍
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。
Appium官网地址:http://appium.io/
Appium环境安装
搭建Java环境
Java 语言基础,就需要准备java环境
安装appium Server
下载地址:https://bitbucket.org/appium/appium.app/downloads/
AppiumForWindows.zip 进行解压,点击 appium-installer.exe 根据提示一步步进行安装。安装的时候可能会碰到node.js或者.net环境缺失根据提示下载安装即可。
安装完毕后验证:cmd输入appium-doctor
若提示'node'不是内部或外部命令,先按照下面步骤操作:
1、设置APPIUM_HOME系统变量,值为当前appium安装目录,例如:D:\software_install\Appium
2、设置path环境变量,值为:%APPIUM_HOME%;
3、重新打开cmd命令行,执行appium,可以打开appium应用,但是此时输入appium-doctor,仍然报错“appium-doctor不是内部或外部命令”。
提示'appium-doctor'不是内部或外部命令,按照下面操作:
1、找到appium安装目录,将路径D:\software_install\Appium\node_modules\.bin添加到环境变量path下面,就可以运行成功了。
安装Java-client
下载地址:https://github.com/appium/java-client
安装模拟器
百度下载夜神模拟器
安装AndroidSDK:
AndroidSDK下载地址:http://tools.android-studio.org/index.php/sdk
测试运行环境:
你需要一个Android模拟器(我使用的夜神),手机(Android 手机、 iPhone 手机。)
使用Android模拟器进行测试的话,需要安装AndroidSDK,手机自己有自己的环境,模拟器想在电脑上运行app,需要给它一个环境。
设置环境变量
“我的电脑” 右键菜单 —> 属性 —> 高级 —> 环境变量 —> 系统变量 —> 新建…
ANDROID_HOME:SDK安装目录
PATH:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
示例代码(启动QQ)
将Java-client集成到eclipse中就简单的可以写点小东西了,想想还有点小激动
新建java项目时候,请注意将selenium-webdriver以及appium client的jar包导入
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","127.0.0.1:62001" );
capabilities.setCapability("automationName", "Appium");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("appPackage", "com.tencent.mobileqq");
capabilities.setCapability("appActivity", "com.tencent.mobileqq.activity.SplashActivity");
AndroidDriver driver = null;
try {
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Thread.sleep(2000);
driver.quit();
这段代码的意思是:启动QQ两秒后,关掉QQ
参数解释如下
① deviceName:启动哪种设备,是真机还是模拟器?
② automationName:使用哪种自动化引擎。appium(默认)
③ platformName:使用哪种移动平台。iOS, Android, orFirefoxOS。
④ platformVersion:指定平台的系统版本。例如指的Android平台,版本为5.1。
⑤ appActivity:待测试的app的Activity名字”.“。
⑥ appPackage:待测试的app的Java package
获取package和activity:
使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.cmd,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk\es3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
adb shell pm list packages -3