软件测试 52 讲
茹炳晟
腾讯 TEG 基础架构部 T4 级专家
71691 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
结束语 (1讲)
软件测试 52 讲
15
15
1.0x
00:00/00:00
登录|注册

18 | 眼前一亮:带你玩转GUI自动化的测试报告

利用缺陷管理系统的API接口
提供递交缺陷的按钮
包含多国语言比较报告
提高LQA的效率
利用GUI自动化测试工具生成完整的测试执行过程的截图
雇佣当地的测试工程师(LQA)
验证界面布局及翻译在上下文环境中的匹配度
在相关的Hook操作中调用screenshot函数实现截图及高亮显示操作元素的功能
扩展Selenium原本的操作函数实现截图及高亮显示操作元素的功能
使用Hook函数
扩展Selenium原本的操作函数
包含详细操作步骤描述
可高亮显示操作元素
由一系列按时间顺序排列的屏幕截图组成
难以与日志适配
报告体积大
实现方法
其他实用功能的想法
全球化GUI测试报告提高了效率和质量
开源GUI测试框架的测试报告需要自行开发
商业GUI自动化测试框架的GUI测试报告成熟
早期基于视频的GUI测试报告不是最佳解决方案
技术实现
报告形式
改进方案
早期做法
全球化测试
示例
实现方式
无需额外定制或开发
成熟
理想的GUI测试报告
问题
思考题
总结
全球化GUI测试报告的创新设计
开源GUI测试框架的测试报告实现思路
商业GUI自动化测试框架的GUI测试报告
早期基于视频的GUI测试报告
如何开发自己的GUI自动化测试报告功能?

该思维导图由 AI 生成,仅供参考

在 GUI 自动化测试系列的文章中,我围绕着 GUI 自动化测试进行了各种讨论:从最原始的 GUI 测试谈起,逐渐引入了脚本与数据的解耦,并谈论了页面对象模型,以及在此基础上的业务流程模型,接着分享了一些 GUI 自动化测试过程中的新技术,最后和你讨论了 GUI 自动化测试的稳定性问题。
今天,我会再和你聊聊 GUI 自动化测试过程中另外一个很实用的部分:GUI 自动化测试报告。
GUI 测试报告是 GUI 自动化测试的重要组成部分,当有任何的测试用例执行失败时,我们首先就会去分析测试报告,希望从中看到测试用例到底是在哪一步出错了,错误发生时被测系统是在哪个页面上,并且前序步骤又是哪些页面等等。

早期的基于视频的 GUI 测试报告

为了分析测试用例的执行过程与结果,早期就出现了基于视频的 GUI 测试报告。也就是说,GUI 自动化测试框架会对测试执行整个过程进行屏幕录像并生成视频。
这种基于视频的测试报告可以提供清晰的 GUI 测试执行上下文,看起来也很不错。但是,这种方式主要的问题是:
报告的体积通常都比较大,小的几 MB,大的上百 MB,这对测试报告的管理和实时传输非常不利。
分析测试报告时,往往需要结合测试用例以及服务端的日志信息,视频报告这一点上也有所欠缺。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了开发GUI自动化测试报告功能的重要性和实现方法。首先讨论了早期基于视频的GUI测试报告的局限性,随后探讨了商业GUI自动化测试软件的报告功能。接着详细讨论了开源GUI测试框架的测试报告实现思路,包括利用Selenium WebDriver实现截图和高亮显示操作元素的功能,以及在Hook操作中调用screenshot函数实现截图和高亮显示操作元素的功能。文章还提到了全球化GUI测试报告的设计考虑,介绍了eBay在全球化站点测试中采用的创新设计方案。该设计方案通过展示多国语言比较报告,大幅提高了LQA的效率,并提供了直接递交缺陷的功能。最后,作者提出了思考题,鼓励读者思考更多实用的GUI测试报告功能及其实现方法。整体而言,本文深入浅出地介绍了GUI自动化测试报告的重要性和实现方法,对于需要开发GUI自动化测试报告功能的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(21)

  • 最新
  • 精选
  • Robert小七
    我目前做的一般在定位元素失败时才会进行页面截图,测试报告也都是执行一个业务流程后将执行结果和异常信息写入到报告中,最后生成HTML形式的测试报告!

    作者回复: 失败时截图还是正常时都截图其实都是可以的,我建议在测试框架级别提供一个可配置的参数,按需设置即可。比如你想每个步骤都截图,那么需要把autoScreenshot设置为true,否则设置为false。这个参数可以通过测试框架的我命令行暴露给用户。

    2018-08-08
    10
  • hoppaz
    文章开篇提到视频GUI测试报告看不到log,文章后面提到了截图高亮可以看到流程,但是似乎也没有提到如何在GUI测试报告中显示相应的log,请老师指导一下采取什么方案比较直观高效呢?

    作者回复: 由于基于截图的测试报告的具体数据结构其实是个大的json文件,json中的每个节点元素记录了时间戳,测试用例输出的log,截图文件的保存路径等信息,所以就可以很方便的在报告中同步显示对应的log信息。同时,有一点文中没有提到的是,同一个测试报告其实是可以按照不同的view来展示的,一种是基于时序来显示截图的view,还有一种是按log顺序的文本view。两者可以来回切换,也可以结合在一起,比如基于时序截图的view中也可以同步显示log信息。

    2018-08-09
    3
    3
  • 闹忒龙
    对performance test和load test比较感兴趣,不知道大公司都用的什么技术流程,老师能不能讲讲:)

    作者回复: 非互联网公司很多是用loadrunner的,但是互联网公司由于需要的并发量太高,loadrunner已经不能满足,所以很多是用Jmeter,而且会用自己的方式来扩展Jmeter。当然现在云端还有很多收费的性能压测服务,比如阿里的pts等。这部分内容会在后面性能测试的章节详细来谈。

    2018-08-08
  • sylan215
    1. 说起操作步骤截图功能,我记得 Windows7 系统开始,自带一个「问题步骤记录器」,直接在运行框输入 psr.exe 就可以调起,开启监控后,所有操作步骤的说明和截图都会保存成 MHTML 文件,结束时会打包到一个压缩包中,贼好用,没用过的推荐试一下。 2. 不管是视频还是步骤截图,我理解的应该是不需要所有的都进行记录,而是在出现问题需要定位的时候才需要记录,其他大部分地方都是在自动化操作完之后,有一个校验操作结果的步骤,来保证用例执行不偏离预期,就算记录了所有步骤,应该也不会全看,不然这个时间成本还是蛮高的。 3. 当然,如果需要进行步骤截图记录,茹老师的方法能满足绝大部分需要了。 4. 对于全球化,我理解的是 GUI 自动化和本地化应该是分开的吧,GUI 自动化主要保证功能,相对 Web 来说,不管哪个语言版本,控件位置只要没有大的变动,那么自动化就是通用的,至于翻译是否可以借助 OCR 技术进行文本比对呢。 以上,欢迎沟通交流,公众号「sylan215」
    2018-08-08
    4
    55
  • dimi
    说这么多能不能show下真实代码呢 或者介绍一下主流框架怎么实现的,老是来需的,截个图了事。还有测试报告不只是截图吧。
    2018-09-13
    3
    22
  • Cynthia🌸
    我的理解是只有出现问题的时候才需要截图,不过全截图也OK,只要在报告中可以点击指定用例看到对应截图就可以了。 另外就是因为截图比较占空间,应该也需要对应的清理功能,比如说没有问题的用例,隔一段时间就把对应的截图清理掉,或者是把所有的截图清理掉,不占用空间。
    2018-08-09
    12
  • Jecy-8
    打卡。之前没有GUI相关的测试经验,有个疑问,关于GUI的测试报告都是以截图的方式吗?会不会有相应法律图形界面显示总结性的报告,比如总共跑了多少个业务场景用例,通过多少失败多少等,甚至覆盖率等
    2018-08-11
    1
    2
  • 红娟
    每次都有新的收获😊
    2018-08-08
    2
  • 朱墨子
    测试报告可以有一个自动产生的测试结果汇总页,顺序显示测试内容列表和结果,缺陷信息,以方便复核和get重要信息。
    2022-08-24归属地:上海
    1
  • ggggggjjj
    ALLURE推荐
    2018-12-06
    1
收起评论
显示
设置
留言
21
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部