Appium+Maven+TestNG环境搭建

本篇文章教你一步一步搭建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测试使用比较多的自动化工具,不仅是因为它支持的语言丰富,而且能支持多重应用,不得不说这是一个强大的工具

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容