图片发自简书 App
这篇文章主要分享怎样把自动化测试和手工测试结果页面的过程, 里面包括用到的工具和遇到的一些困难, 以及后续还需要完善的地方(内容来自八九年前我做测试工程师时的小实践).
一, 要做什么事情
将项目持续集成 Hudson(那个时候他儿子 Jenkins 还没有出生)各个组件产生的自动化测试结果和每次需要手工功能测试的结果汇总展示到页面上, 作为部门整个测试框架解决方案的一部分.
二, 主要任务拆解
1, 从 Hudson 定时 (按分钟, 小时计) 提取数据
2, 从功能测试 Excel(按天计)提取数据
3, 将提取数据显示到页面上
三, 工具选择
1, 页面 / Excel 提取: PureTest + Eclipse(Tasks) + Ant
2, 定时运行: Linux Crontab(Run Ant Scripts)
3, 数据显示: JSP + Tomcat
四, 具体实现
因为想快速实现, 在提取页面数据的时候, 我选择了比较有把握的 Puretest 进行提取, 执行速度比较快, 有经验, 入手会比较快. 需要注意的是需准备 Puretest 的 Windows 和 Linux 两种版本 - Windows 版本用于 Puretest 脚本开发, Linux 版本用于服务器自动运行这些脚本使用.
还有一点需注意, 开发自定义任务时, 最后发布的 jar 包路径需放到 Puretest 的 Extension 路径下面, 这样就可以将这个 tasks 添加到脚本中去使用了.
做的时候, 我是用了两个 tasks, 一个用于写文件, 另一个用于读文件. 写文件就是把从 Hudson 里面读取的数据进行整理, 计算, 放到一个 txt 文件里面进行临时存储; 读取文件就从 Excel 里面读取数据, 也把结果存放到另一个 txt 文件里面, 这样就把自动化测试和手工测试的数据都存储到 txt 文件里, 方便接下来的整合.
下一步就是如何让这些脚本自动跑起来了. 在 Linux 下面安装 ant 工具, 添加 ant 环境变量, 采用 ant 调用 build.xml 运行 puretest 脚本, 然后使用 Linux crontab 每隔一段时间 (10 分钟) 去删除上次产生的文件, 继续执行脚本.
最后就是页面展示, 使用 Tomcat 就可以了. 用 JSP 页面将汇总的数据展示出来, 用定时刷新的方式 (5 分钟) 来展示相对实时的运行结果.
五, 心得体会
这次任务工作量虽不算太大, 由于自己对自定义 Puretest 任务不太熟悉, 也走了不少弯路, 比如添加自定义的任务调试了好一阵子才最终完成的, 不过有了这次经验相信后续会好很多.
本来打算用 Selenium/web Driver 写的, 由于 Hudson 页面上没有元素 ID, 没有时间去研究 xpath 的实现方式, 姑且这样先实现了, 因为项目本身 Hudson 天然包含部分 Selenium 脚本, 所以用它来写会统一些.
最后是数据的整合方式放到 Excel 里面会好一些, 这样不但可以供页面显示, 还可以将这样一份表格直接下载下来利用, 这些都是可以改进的地方.
不管怎样, 下次有机会做这样的小功能点的时候, 测试团队内部也可以使用敏捷方式, 会有计划会议, 然后有时间估算, 几个同事共同完成端到端地交付, 还有可视化的页面输出, 几乎可以走通整个敏捷开发流程, 真的是很不错的尝试!
来源: http://www.jianshu.com/p/2a04b80b2990