APP自动化测试的环境配置
什么是Appium?
第三方自动化框架(工具),扩充了selenium webdriver 协议,在原有的基础上添加了移动端测试API
selenium webdriver 指定了客户端到服务端的协议
appium 是一个开源的、跨平台的自动化测试工具,用于app的自动化测试
appium 是跨平台的,支持android,ios,firefoxos等操作系统下的app测试
什么是selenium?
用于web应用程序测试工具,直接运行在浏览器,模拟用户操作,覆盖Windows、Linux、Mac,覆盖 IE、Chrome、firefox等浏览器,Java、Python多种语言进行脚本编写
官网:https://docs.seleniumhq.org/download/
版本:http://selenium-release.storage.googleapis.com/index.html
什么情况适合做自动化:
周期比较长的、需求比较稳定的、迭代周期比较长的
使用appium 做APP自动化测试的原理:
1)appium 的核心其实是一个暴露了一系列rest api的server
2)这个server的功能其实很简单:监听一个端口(4723),然后接受由client发送的command
3)然后翻译 这些command,把这些command 转成移动设备可以理解的形式发送给移动设备
4)移动设备执行完这些command后把执行结果返回给appium server
5)最后appium server 再把执行结果返回给client
1、APP自动化测试的环境配置:
1) 安装nodejs:https://nodejs.org/en/download/ 官网下载,安装好之后 cmd 里输入node -v 确定是否安装好(appium 是使用node js实现的,所以node是解释器)
2) 配置Android sdk 环境(monkey 工具下)
概念:
ADT(Android develpoment tools),安卓测试开发环境
adb(Android debug bridge) 是Android sdk 的一个工具,用来连接安卓手机和pc端的桥梁
创建ANDROID_HOME 系统环境变量,值为ADT下的sdk目录(D:\Program Files (x86)\adt-bundle-windows-x86_64-20140702\sdk)
将ANDROID_HOME 下的tools和platform-tools配置进path变量,即在path变量的值后面加上“;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;”
打开模拟器通过在Windows命令输入adb devices,检查是否可以检测到连接的设备信息(真机下需要用usb先连接电脑并在开发者模式下打开usb调试):127.0.0.1:62001
3)安装Appium:https://bitbucket.org/appium/appium.app/downloads/
安装完成之后需要配置环境变量,将appium安装路径下的node_modules/.bin目录配置到环境变量path后面
输入appium-doctor 检查appium做自动化需要依赖的环境ANDROID_HOME,JAVA_HMOE等是否都已准备好
出现这种就表示所需环境以及配置好了。
代码:
deviceName:设备名:127.0.0.1:62001
APPpackage:因为一个设备有很多APP,通过包名确定app--->com.tencent.mm
cmd输入:adb shell dumpsys activity | find “mFocusedActivity”
appActivity:app的一个页面--->com.tencent.mm/
monkey 是Android的一个内置程序
2、maven项目+selenium+testng 集成 环境搭建
1)创建maven项目:在左边空白处右击--new--project--输入maven,选择maven project--next--勾选 create a simple project--next--group id(分组,一般填写组织结构,相当于包)命名 如 com.ningmengban artifact id (例如jar 包名) 命名如:appium42 ,packaging 是指打包成jar 或者war 包--finish
maven集成包官网下载:http://www.eclipse.org/m2e
1、本地仓库:C:\Users\Administrator\.m2
2、中央仓库:http://mvnrepository.com/
3、项目添加selenium,testng依赖,jar包的依赖:
http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java/2.53.1
http://mvnrepository.com/artifact/org.testng/testng
4、eclipse 集成testng插件
selenium-Java:selenium是用于web应用程序测试的工具,测试直接运行在浏览器中,selenium webdriver 指定了客户端到服务端的协议
Java-client:扩充了webdriver的协议,在原有的基础上添加移动自动化相关的api
testng:下一代测试技术,利用注释来强化测试功能的测试框架,可以用来做单元测试和集成测试
5、如果没有集成,到eclipse插件中心下载安装,安装步骤(这个比较复杂,一般不用):
- help--install new software
- 在available software页面点击add
- 输入name:TESTNG ,location:http://beust.com/eclipse/
- 点击ok,选择加载出来的testng
- 点击next---i accept the。。---finish
- 开始安装
- 安装完毕,重启即可使用
一种简单的集成方法:解压testng压缩包,把里面对应的features 与plugins 文件夹下的文件夹copy到本地eclipse 根目录下对应文件夹下,重启即可