本篇文章教你一步一步搭建app自动化框架,有兴趣的看过来~~
一、下载testng
在线下载方式
选择菜单:Help->Install New Software,然后在弹出的窗口中的Work with后面的输入框中输入:http://beust.com/eclipse。
然后点击Add按钮,选中TestNG后一路点击Next下去安装即可,直到Finished之后,重启Eclipse完成安装。
离线下载方式
点击release版地址:http://beust.com/eclipse
页面会自动跳转到:http://dl.bintray.com/testng-team/testng-eclipse-release/
点击最下面的zipped/,如下图,选择与浏览器匹配的版本进行下载。
下载后若打开eclipse还是看不到testng的选项,就删除eclipse路径下该文件夹再重启一次
二、下载maven及在eclipse上配置maven插件
到maven官网下载maven
https://maven.apache.org/download.cgi
配置环境变量(确保java环境配置成功)
右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:
新建系统变量 MAVEN_HOME 变量值:
编辑系统变量 Path 添加变量值: ;%MAVEN_HOME%\bin
(2)最后检验配置是否成功:用命令行提示符窗口,输入mvn -v 若出现以下情况说明配置成功
(3)配置maven本地仓库
在E:\Work\apache-maven-3.5.4目录下新建maven-repository文件夹,该目录用作maven的本地库
打开E:\Work\apache-maven-3.5.4\conf\settings.xml文件,查找下面这行代码:
<localRepository>/path/to/local/repo</localRepository>
localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录E:\Work\apache-maven-3.5.4\maven-repository。
localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。
当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。
此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。
(4)在eclipse中配置maven插件
打开Window->Preferences->Maven->Installations,右侧点击Add
设置maven的安装目录,然后Finish
选中刚刚添加的maven,并Apply
打开Window->Preferences->Maven->User Settings,配置如下并Apply:
File>>New>>Other
若出现以下选项,则说明在eclipse配置maven成功
三、安装模拟器genimotion
首先安装VirtualBox,因为Genymotion运行需要VirtualBox,如果电脑中没安装过,选这个版本。这个版本包含Oracle VirtualBox 4.2.12支持,因此不用再手动下载安装VirtualBox。
安装好VirtualBox 后右键进入属性勾选兼容模式运行该程序
打开VirtualBox,导入安卓模拟设备
导入成功后界面
打开Genymotion,运行与设置。
点击setting 选择ADB,将按钮选到第二个,选择你安装Android studio时,安装安卓SDK 的路径即可。
之后选中一个需要的,再点击Start,即可运行安卓模拟设备。
只需要将app文件拖动到屏幕里即可
四、Appium接入模拟器或真机
打开Appium,ip:127.0.0.1,端口号4723
接入模拟器:
先打开VirtualBox再打开GenyMotion,再打开Appium
接入真机:
真机需要安装驱动,可以去网上下载HandShaker,手机端下载HandShaker
开启usb调试
打开不锁定屏幕
用数据线连接电脑(当然用wifi连接电脑也可以,但确定手机已经root)
勾选USB调试,进入开发者选项中开启使用usb安装应用的选项(必须开启,appium会给手机安装app:说明分两种app,一种是要测试的app,另外一种是appium自身的app)
在cmd下输入adb devices,看到接入的模拟设备说明接入正常
五、离线下载genimobile
先安装好eclipse和genymotion。确保eclipse已关闭,将features和plugins里面的东西拷贝到eclipse安装目录下对应文件夹,重启eclipse,将看到genymotion图标。
注:如果点击小图标eclipse报错了,这时将reg.exe复制到genymotion安装目录下重启eclipse就可以。
六、创建Maven项目
File>New>Other
六、在pom文件里添加依赖
Appium主要依赖java-client包,在maven官网http://mvnrepository.com/上下载即可,由于我们是用testng来运行案例,所以还需要testng包。其他打印日志的log4j包,解析xml文件及excel文件的dom4j和poi可酌情添加。
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>5.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
七、框架搭建
主要分为两部分:
src/test/java文件夹
(存放java类)
src/test/resources文件夹
(存放资源,如需要使用到的驱动,以及log或testng文件配置等)
src/test/java下各个包的功能:
xx_automation_base:
主要用于实现连接设备释放设备,以及界面手势滑动的方法
xx_automation.action:
封装常用的页面逻辑
xx_automation.page:
返回每个页面的页面对象
xx_automation.testcase:
存放编写的测试案例
xx_automation.util:
提供常用工具方法,比如获取配置文件,连接数据库等
Appium工具是近期app测试使用比较多的自动化工具,不仅是因为它支持的语言丰富,而且能支持多重应用,不得不说这是一个强大的工具