测试框架总结与反思

综述:
1.自动化实现⽅方式:
appium:通过服务端起多个端⼝口,实现多对多的连接 testNG:编写测试⽤例,对测试流程进行分层以及断言控制
ExtentReports: 产出漂亮的报告,包含错误截图,appium log 以及控制台⽇日志等
STF:对安卓机进⾏管理,通过 API ⽅法对机器器进行⾃动调起
Jenkins: 使用 stf 的插件,实现对机器的预约
2.STF 实现步骤:
.1.在 ubuntu 系统,安装 stf 安装依赖软件 [rethinkdb JDK Android SDK 等]
通过 git 将项⽬目源码拉起到本地 [git clone https://github.com/openstf/stf.git]
2.1 在本地将源码⽣生效 npm install &&npm link
2.2 运行 stf-doctor,看看依赖以及环境配置
2.3 命令行 [rethinkdb—all blind] 启动数据库,端⼝口 localhost:8080
2.4 命令行 [stf local —public ip <> —allow remote] 启动 stf 服务,端口 localhost:7100
.3.二次开发:界⾯优化
3.Appium 实现步骤:
.1.安装 nodejs
.2.npm install -g appium
.3.npm install -g appium-doctor
.4 使⽤用 maven 拉取 appium 客户端 jar 包
.5.AppiumForSTF 项目,启动 Appium 端⼝口使用随机端口,启动设备号使用 api ⽅法取,
dataprovider 提供到项目
4.TestNG+Extebtreports 实现步骤:
.1.testNG 插件安装
.2.Extebtreports jar 包引入
.3.重写 testNG Ireporter 监听器,写错误重跑以及错误截图⽅法
.4.在 xml 中引⼊入 listener
5.Jenkins 实现步骤:
.1.配置项目
.2.引⼊入 ant 或 maven 启动
.3.使⽤用插件,对机型调起及筛选
.4.配置错误邮件样式及地址
反思:踩坑⽆无数,谷歌无数。很多坑踩⼏天才能出来,主要是理论知识太浅。
尽量量使用新版本工具,Appium,node 等工具 新版本可以避免很多莫名奇妙的问题,同时优化⽣生产力,还在用⼏年前的⽤法,费时间效率低。
科学上网,尽量 ***。如果 npm install 失败,就换成淘宝镜像,cnpm 也非常⽤用。尽量使
用官方推荐的安装⽅法以及官方的 sample Demo,因为官网是即时更新维护的,一定是最不容易易埋雷的打开方式。
多⽤用 github ⽹网站的搜索,查想要的关键词,会看到很对非常有启发的开源项目。

TODO:
1.在 STF 设备管理界面进行二次开发,将 smoke 与 monkey 测试按钮呈现在测试界面,后端调起
monkey 以及 appium.
2.对测试⽤用例例进行分层,工具方法与业务代码抽离.
3.对 ios 机器进行适配兼容,使⽤用其他管理平台进行拓展.

Q1:
群里的朋友们有没有其他的调用 STF Api 的 JAVA 方法,可以贴出 GitHub 地址交流一下。
Q2:
Macaca 的朋友们有没有什么更有趣的打开姿势。


↙↙↙阅读原文可查看相关链接,并与作者交流