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

Anonymous - 搭八 · 2018年12月06日 · 最后由 Anonymous - 搭八 回复于 2018年12月17日 · 2513 次阅读

前言

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

平台功能

UI自动化 :

特点:

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

2、用例实时日志

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

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

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

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

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

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

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

10、用例可进行注释

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

12、用例支持多线程、目前可同时进行200个用例并行执行(服务器能力有限)

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

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

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

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

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

接口自动化:

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

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

UI自动化展示

1、首页(整体的设计结构、用户操作手册)

2、元素对象页面

3、用例编写调试界面

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

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

用例执行支持多个线程并行执行、日志是实时的、执行完成后自动更新记录日志、截图、结果,结果为failed时会生成操作视频

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

功能用例编写

根据变量的使用域来执行相应的value

截图和本地浏览器

多线程并行执行(支持200个同时)

4、用例复制

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

5、UI测试计划

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

6、UI测试计划结果

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

7、钉钉报告展示

持续集成、持续发布,因为我们公司是自动化发布的流程、我的平台计划完成后会在指定的项目组发送自动化结果(自动化发布流程你们可以去问下自己公司的运维)

接口自动化展示

视频演示

测开道路真不易,大家一起努力加油!!!

共收到 45 条回复 时间 点赞

我喜欢简洁点的。

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

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

李秋 回复

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

simple 回复

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

徐汪成 回复

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

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

Jerry li 回复

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

楼主开源嘛

End 回复

暂时不开源!

背景图换一张感觉更好点

hello 回复

好多吐槽背景的😓

试试

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

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

槽神 回复

萧老哥 哪里都是你😒

居然炸出萧老哥😂

adair 回复

你是哪位报上名来😒

为大佬捧场

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

小抄 回复

你的名字太明显了😒

adair 回复

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

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

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

小抄 回复

然并卵啊

胖虎 回复

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

大佬膜拜啊!!!!!

仅楼主可见
仅楼主可见

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

Aaron 回复

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

仅楼主可见
Aaron 回复

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

仅楼主可见
Aaron 回复

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

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

紫川 回复

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

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

fengzongming 回复

那你加我QQ吧 513355409

Anonymous - 搭八 测试开发的成长之路 - 入门篇 中提及了此贴 12月11日 16:03
仅楼主可见

webscoket了解一下

果然,楼主也在这里😄

是啊 在这里混个脸熟

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

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

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