自动化工具 测试开发的成长之路 - 自动化一站式平台 (UI、接口)

搭八 · 2018年12月06日 · 最后由 搭八 回复于 2019年10月18日 · 7925 次阅读

前言

在自动化测试过程中,随着对接的自动化需求不断增加,测试用例数量显著上升,参与自动化测试的人也越来越多,多人协作就会碰到很多问题,包括脚本、数据、版本、项目整合、持续集成等,而且也增加了后期维护的成本。为了能解决这些问题,开发一个自动化管理平台来统一对这些代码、数据、版本、集成进行处理,是保质提效的不错手段。这篇博客,给大家介绍一下本人针对公司的自动化需求开发的自动化管理平台。

平台功能

UI 自动化 :

特点:

1、用例支持增删改、维护、调试、结果等等

2、用例实时日志

3、用例定位元素、业务采用 po 模式

4、用例支持多环境复制功能 (可根据项目版本进行多套数据保存)

5、用例调试带日志、截图、生成报错记录

6、用例支持执行脚本浏览器操作回放

7、用例支持局部/全局变量

8、用例支持分布式用户本地电脑上浏览器启动 (默认服务器启动)

9、用例执行状态下可进行中断用例脚本操作

10、用例可进行注释

11、用例支持拖拽、复制

12、用例可进行功能用例的描述

13、用例支持多线程

14、用例脚本支持判断、循环、数组、数据库对接、接口对接等等

15、用例与用例之间可互相进行业务调用

16、测试计划进行版本控制(计划完成时可设置直接将结果发布至钉钉)

17、测试计划结果报告展示

18、支持与 jenkins、钉钉、TestLink 对接,进行自动化发布流程

接口自动化:

因为接口平台还处在开发阶段,功能还不完善,这里只介绍下大体框架和思路。

整体框架
语言 JAVA
服务端 spring + springmvc + mybatis + mysql + 第三方 jar 包 (有点多,我就不在这里阐述了,想要具体了解可以联系我) |
前端 JQuery + AJAX + Bootstrap + 第三方框架 (具体了解可以联系我) |

UI 自动化展示

1、首页(整体的设计结构、用户操作手册、操作占比耗时统计、APP 包)


2、元素对象页面

3、用例编写调试界面

用例的增删改页面、测试数据使用变量、定位值使用 PO、还有业务互相调用、用例执行过程中可以进行中断和本地浏览器启动

用例还可以根据自己项目本身的环境来定义测试环境、目前浏览器只支持 chrome 和 firefox

用例执行支持多个线程并行执行、日志是实时的、执行完成后自动更新记录日志、截图、结果

用例添加界面、每个选择的动作非必填项都被禁止输入、输入框内容可实时放大查看编辑

功能用例编写

局部/全局变量

本地浏览器 (用户电脑执行脚本)

操作记录统计

testlink 关联

多线程并行执行

环境配置

4、用例多环境复制功能

用例可以根据项目需求进行用例数据存档,因为我这边需求只需要存一份预发布环境的用例数据,所有只有一个

5、UI 测试计划

以计划为基础作为版本管理,这个就不多做解释了

6、UI 测试计划结果

计划结果完成后的结果展示页

7、钉钉机器人

8、钉钉报告展示

接口自动化展示

视频演示

共收到 65 条回复 时间 点赞

我喜欢简洁点的。

操作这么麻烦,为什么不直接写代码?

看着像是 Grafana 做的,楼主你 UI 自动化弄成平台可视化,感觉是为了提示操作便利性,牺牲了扩展性和灵活性啊

搭八 #67 · 2018年12月06日 Author
李秋 回复

为什么不代码写,开头已经说明了

simple 回复

这样做的意义主要在于将数据统一管理,多人共同协作,降低维护成本后人工成本

徐汪成 回复

简洁已经无法满足公司的需求,所以这是针对自身公司来设计的

好奇你们的 PO 对象是怎么管理? 数据库里保存,还是代码编写?

Jerry li 回复

以 key value 的形式进行存储在数据库,然后调用

楼主开源嘛

搭八 #11 · 2018年12月06日 Author
End 回复

暂时不开源!

背景图换一张感觉更好点

搭八 #13 · 2018年12月06日 Author
hello 回复

好多吐槽背景的😓

搭八 回复

试试

.mian-content {
  backgroud-color: #FFFFFF30;
}

既保留背景的朦胧美,又不至于让人看着太恶心😏

搭八 #15 · 2018年12月06日 Author
槽神 回复

萧老哥 哪里都是你😒

搭八 回复

居然炸出萧老哥😂

搭八 #17 · 2018年12月07日 Author
adair 回复

你是哪位报上名来😒

为大佬捧场

搭八 回复

渣哇大佬,测试新人何足挂齿

搭八 #52 · 2018年12月07日 Author
小抄 回复

你的名字太明显了😒

搭八 #21 · 2018年12月07日 Author
adair 回复

你的称呼,我已经知道你是谁了😒

搭八 回复

浏览排行已经第四了 很强啊

先夸奖 1 下,一些功能和想法挺全的,平台的功能细节有亮点。
再吐槽 1 下,你完全没有任何产品设计的思路,做出来的东西给人的感觉,仅仅是几个程序员堆代码堆出来的小工具页面。既不会包装,也不会推广宣传。

搭八 #24 · 2018年12月07日 Author
小抄 回复

然并卵啊

胖虎 回复

1、首先我只是一名测试
2、其次这平台是我自己独立堆出来的
3、我的平台只是为了自身公司针对性开发的
4、我没打算包装也没准备宣传,只是为了给大家提供点思路

大佬膜拜啊!!!!!

搭八 #27 · 2018年12月07日 Author
cainiaowu 回复

😆 😆

仅楼主可见
仅楼主可见
搭八 #30 · 2018年12月09日 Author

目前是公司项目,不开源的 不好意思哈

搭八 #41 · 2018年12月09日 Author

1、这平台的话确实要看公司实际情况,有足够人力物力才有开发的意义。
2、框架和部署是要放在一起的,因为你这套东西归根结底是个 web 项目。

仅楼主可见
搭八 #39 · 2018年12月09日 Author

是的前端框架是必须要掌握的,我也是去年才开始学的,这种东西需要静下心来循序渐进,加油看好你

仅楼主可见
搭八 #35 · 2018年12月10日 Author

1、自学,培训机构教的都是基础系统化的 (个人不建议去培训),只有自己学习的时候遇到坑解决后你的提升才能比较显著
2、力不从心说明你没学好,建议边学边写

观摩学习下。楼主的用例复制功能,如果多人使用,是不是可以理解为共享功能?那么需要共享的那条测试用例,测试数据共享么?如果共享,数据是否更新,是定格共享时的数据,还是拿最新的数据?

搭八 #35 · 2018年12月10日 Author
紫川 回复

1、用例本身就是共享的(除非限制了权限查看处理),用例复制你可以理解为将整条用例进行复制,该用例关联的变量、测试数据、用例等等的所有数据都会一并移到一个全新的环境下
2、做这个功能是因为实际场景会遇到测试环境已经开始新的迭代,而预发布还是之前的版本(这个时候线上出了问题需要自动化脚本去追溯问题),可是自动化脚本已经改成新迭代的数据了,所以将上一次迭代的脚本数据进行保留追溯

请问能留个联系方式交流下吗, 我有自学一些技术, 就是具体使用起来, 不知道该用哪些技术

39楼 已删除
搭八 测试开发的成长之路 - 入门篇 中提及了此贴 12月11日 16:03
仅楼主可见
搭八 #30 · 2018年12月14日 Author

webscoket 了解一下

果然,楼主也在这里😄

搭八 #44 · 2018年12月16日 Author
秦川风 回复

是啊 在这里混个脸熟

搭八 回复

对测试而言还是这里更专业

搭八 #46 · 2018年12月17日 Author
秦川风 回复

是啊,这里主推的就是测试的,不像博客太广泛了

秦川风 移动端自动化多机并行测试-Part1 中提及了此贴 12月17日 14:52

没开源吗

不懂楼主的团队为啥要用这背景,同样做过平台的。你们可以高大上简洁的,变的有点山寨感。

搭八 #22 · 2018年12月24日 Author
少女 回复

没开源噢

51楼 已删除

一个人完成,那很棒啊。业余时间加班

53楼 已删除

开源吧,大神

搭八 #55 · 2018年12月27日 Author

暂时不开源的,涉及东西太多了

请问一下分布式用户本地浏览器启动,是怎么实现的。

搭八 #57 · 2019年01月11日 Author
Scofell 回复

seleniumgrid

请问下是否有用到 testng?如果没有用到 testng,楼主是在后台用多线程执行的用例吗?testng 提供的一些功能,例如 setup teardown 用例执行顺序 用例间的依赖是怎么实现的呢?

搭八 #13 · 2019年01月21日 Author
gaomeijun 回复

1、没用 testng、多线程异步
2、用例顺序和依赖是用户前端选择来设定的,后台只需要根据这些条件进行匹配执行就可以
3、还有用例中有个业务调用功能,这个也是另一种的依赖方法

仅楼主可见

厉害了厉害了!

搭八 #62 · 2019年02月26日 Author
泰斯特 回复

windows 上的,视频回放是用 javacv 实现的

搭八 #63 · 2019年02月26日 Author
果冻 回复

过奖了过奖了!

搭八 · #8 · 2019年04月28日 Author
仅楼主可见
65楼 已删除

这个平台目前使用情况如何,还在继续维护吗?

搭八 #67 · 2019年08月22日 Author
MarvinWu 回复

我们公司内部一直在使用,也一直持续更新

个人的话应该开源没多大问题把。

搭八 #69 · 2019年08月30日 Author
徐汪成 回复

要是个人的话开源是没什么影响

你花了多久搞出来的有点 6 啊大佬

Terrydgl 回复

边学习边开发大半年左右

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册