如何让自动化测试报告内容更丰富_第1页
如何让自动化测试报告内容更丰富_第2页
如何让自动化测试报告内容更丰富_第3页
如何让自动化测试报告内容更丰富_第4页
如何让自动化测试报告内容更丰富_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何让自动化测试报告内容更丰富 简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告,Python 我们使用的HTMLtestrunner进行生成,但是默认提供的生成报告内容,并不能满足我们的 需求,怎么才能让测试报告数据更清晰,内容更丰富呢。对于一些人来说,可能已经重写了 报告生成方式,放弃使用 HTMLtestrunner。但是对于python小白可能还做不到,只能用现 有东西进行展示,那么下面简单介绍通过修改HTMLtestrunner去实现想要的内容。 先通过两张图片对比一下我们将要实现的功能: 自动化顫丽 Start Tim已:?Dl

2、4-09-1 ? 14;43:28 Duration: 0:00; 2 Pass 4 Shflv;生廿巾叭 Fm 圖 AJ 图表1 自动化测试报告 StflrfTimft: 2014(?-78 03 4? 43 Duration: 0:01:0.00000 Status: Pass C Show rlLITIEmrY -Rl Qfl All Test Group/Test cass Count Pass Fail Error View Screenshot cjse id c a sejogin,Login 1 1 0 o IIHH1I teethe 3 se_login_l csejd lo

3、gin 5 5 Q Q兀间 C3se_OC02 toe tjo g in 事网为空的塢证 pass ca5e_OCOS pass * case_C01 庶就n g in/户名为空拘验证 匚3SG CIC04 testbg詁岩娱时爸码越证 pass C5Ee_0003 的卑户名膛证 Dass Total 6 o 图表2 如图所示,图表1是原始样式输出,图表2是修改后样式输出。通过对比我们可以看到, 图表2比图表1多了首位部的两列。我在第一行加caseid,用来记录用例的编号,最后一列, 添加了每一个用例执行过程中关键步骤的截图快照。 这样做的好处: 1. 有了用例编号我们可以通过用例ID进行对用

4、例的定位,尤其是对失败用例的定位。 2. 有了用例执行过程中关键位置截图快照,对于失败或者出错异常的用例,在无人值 守情况下进行执行用例时,可以进行界面追踪。 实现 下面来介绍怎么实现的,首先先说一下我实现的思路。对于这个我们的测试报告而言, 我只 想调整一下他的展示样式,丰富两列内容。所以先去想怎么去把他的样式给修改了。 然后再 往修改后的样式表格里面添加数据。 也就是分两步做: 1改样式 2加数据 改样式 改样式,这里只需要会基础的HTML 中行、列标识就可以了。 我们要在界面中加两列,那么很简单,就是加两个就可以了。 看源码部分: 从395行左右开始就是存储 HTML代码展示的部分,找到

5、table标签和第一行列头展示内容。 脚本片段1: REPORT_TMPL “”“”代码段里面包含了 的结构内容 如: Test Group/Test case Cou nt Pass Fail Error View Scree nshot %(test_list)s Total %(cou nt)s %(Pass)s %(fail)s %(error)s table标签中的第一个就是第一行,中的每一个代表一列。标签中间的文本 是直接显示在界面的。 Test Group/Test case Count Fail Error View I case l og in r Case Login 斗

6、斗 0 0 Detail Totl 4 4 0 0 Test Group/Test case / 这里添加 colspan=2是合并 2 个列。因为 下面的行中的caseid需要占一列,但是标题列头部分显示是一个整体,所以做了合并 Cou nt Pass Fail Error View Screenshot/图片快照的列头标题 脚本片段2 : REPORT_CLASS_TMPL代码段 是 展示calss的行,可以叫做测试模块的类,它是单 独放在一行中的,每个模块一行。因为要跟上面的第一行标题中的列数对应,所以修改如下: case_id /添加的caseid的标题,这一行不在主列头,而是放在测试

7、模块用 例统计所在的行里面。 %(desc)s %(cou nt)s %(Pass)s %(fail)s %(error)s Detail /保持列数统一,加入空白列 脚本片段3 : REPORT_TEST_WITH_OUTPUT_TMPL=”是测试用例展示部分代码,这段内容是展开 测试模块后进行显示的 REPORT_TEST_WITH_OUTPUT_TMPL = r” %(caseid)s/%(caseid)s 是 python 转译 html 代码中变量替 换方式。caseid会在python脚本中定义。 %(desc)s %(status)s x %(script)s /这一列内容加入图

8、片快照的链接访问路 径%(image)s中替换链接地址 / 链接图标 单从HTML界面样式展示来看,上面所有代码段中修改都是在每个加入两个。 这样我们的样式就改完了。然后开始加入数据。 加数据 先想一下我们要加什么数据.从样式中看我们增加了两个列,那么有两列的数据是需要增加 的,具体加什么呢?想一下?我们在改样式的时候加的两个列中使用到了变量,那么变量取 值是需要实现的。那么首先定义变量。 定义报告输出两个变量的取值,放在REPORT_TEST_OUTPUT_TMf定义的下面: 脚本片段4: REPORT_TEST_OUTPUT_TMPL = r” %(id)s: %(output)s mil

9、l REPORT_TEST_OUTPUT_IMAGE = r” %(scree nshot)s mill REPORT_TEST_OUTPUT_CASEID = r” %(case_id)s mill 然后找到_generate_report_test函数,在这个函数中定义我们要替换html变量,并实现变 量的取值。 脚本片段5 : script = self.REPORT_TEST_OUTPUT_TMPL % dict( id = tid, output = saxutils.escape(uo+ue), ) image = self.REPORT_TEST_OUTPUT_IMAGE % d

10、ict( scree nshot = saxutils.escape(uo+ue) ) caseid = self.REPORT_TEST_OUTPUT_CASEID % dict( case_id = saxutils.escape(uo+ue) ) row = tmpl % dict( tid = tid, Class = (n = 0 and hidde nRow or non e), style = n = 2 and errorCase or (n = 1 and failCase or non e), desc = desc, script = script, image = imageimage.fi nd(image):(i nt(image.fi nd(p ng)+3), caseid = caseidcaseid.fi nd(case):(i nt(caseid.fi nd(case)+9), status = self.STATUS n, ) 上面image、caseid字符串截取位置跟我在控制台输出的内容有关系,所以不是通用的, 需要自行修改。字符串截取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论