简介
五一, 这个短暂的小长假至此已然结束了, 想必诸位都已吃得十分饱足, 喝得极为畅快, 玩耍得相当尽兴了, 那么接下来就继续投入到学习当中去。倘若一天未曾学习, 自己心里是清楚明白的;若是两天都未学习, 竞争对手便已然知晓了;要是三天都没学习, 周围众人都会有所察觉了;一旦一周都不学习, 恐怕智商就会输给猪了。好了, 只是开个玩笑, 旨在逗大家开心一乐罢了, 然而仔细想想, 这话还是颇具道理的。那就接着往前进。
进入正题: 上一篇, 我们在批量执行完用例之后, 所生成的测试报告, 是生成 HTML 格式的。然而, 我们能够看得出, 那个官方的测试报告, 既不具备美观的特质, 也没有大方的样子, 我们在此处需要进行一番优化, 将其优化得能够让人产生赏心悦目之感, 就如同看到一个美女, 看了一眼之后, 忍不住再多回头看几眼。
投身于SRE实战, 成为互联网时代守护先锋来助力企业售后服务体系, 使其能够做到运筹帷幄!通过一键直达的方式去领取阿里云限量特价优惠。
看一眼 - _ - 并且把上一篇遇到的问题列举解决一下。
如何改动下载的 .py 的 版本
基于.py本来就是版本, 当下尚未寻得版本, 因而要我们自行去修改.py文件。
- 修改的地方
问题一:No named
原因是, 3当中不存在这个模块, 在此处我们要运用io这个模块去进行替代。
解决方法:
第94行引入的名称要改,从 改成 io。
与之相对应的是, 539行那里的self. =.( )这一部分内容, 应当进而被修改成为self. = io.( )。
问题二:: 'dict' has no ''
缘由在于, 3字典类型的早已对函数表示不再支持, 所以我们得借助in来展开遍历。
解决方法:
定位于642行, 要是不存在于rmap之中的话, 原本的if not rmap.(cls): 应当替换成if not cls in rmap:。
问题三:'str' has no ''
原因: 里面对字符的操作中,已经拿掉了。
解决方法:
将位置确定在772行那里, 把ue等于e通过使用特定编码格式'latin - 1'来进行赋值的这种操作, 直接转变为ue等于e。
另外, 766存在相似的情况, 即uo等于o.('latin - 1')那般, 要改成uo等于o。
问题四 :: can't bytes to str
原因: 进行定位, 报在了778行的内容(uo + ue), 因为早些时候我们对uo赋值时, 走的是else流程, uo被赋予的是bytes类型的值, 然而bytes类型无法直接转变为str类型, 故而我们需在之前给uo赋值时, 先把bytes类型转化为str类型。
解决方法:
修改768行数的uo。使其变为直接改成uo等于o点括号内的utf - 8。标点符号使用句号。
另行, 774有些与之相通的情况下ue=e, 将其变更为ue=e.('utf-8')。
问题五: 对于: 空字符串和空字符串, 其类型是什么?
缘由是, 不认可print >> sys. 这般的写法, 在此处要是定义输出流, 那就运用print("This is print str",file=sys.) 这种形式。
解决方法:
精确找到631行, 将print的语句予以修改, 原本的语句是print >>sys., '\nTime : %s' % (self.-self.), 现在可以改成print('\nTime : %s' % (self.-self.),file=sys.)。
问题六:: 'str' does not the
缘由所在: 进行一下定位, 问题出现于118行, 在此处s属于str类型, 我们得将传过来的s转变为bytes类型。
解决方法:
精准定位至118行, 将那处的self.fp.write(s), 变更为self.fp.write(bytes(s,'UTF-8')), 如此便可。
- 保存
修改后对.py 保存一下。
- 调用语句更改
里面打开文件使用 open,不要再去用file了。
将fp = file(,'wb')变换为fp = open(,'wb')。
关闭该文件可用fp.close()
备注: 改动之后,中文也不会乱码。
中文乱码
1、于测试报告里头, msg进行自定义异常内容时, 若是处在存在中文这种情景之下, 便会出现乱码现象, 情况如图所展示的那样:
2、找到 .py 文件,搜索:uo =
3、找到红色区域设置编码的两个地方
4、把红色区域的这两个设置注释掉, 重新去加上编码格式是: uo等于o点括号内的utf - 8, ue等于e点括号内的utf - 8, 或者在这个基础之上直接修改成uo等于o点括号内的utf - 8, ue等于e点括号内的utf - 8, 建议刚开始学习的人还是采用第一种方式。这样要是出了错, 能够很快恢复原样, 不然。
在碰到更复杂的代码直接修改就可能会遇到问题
5、修改好之后记得保存,重新运行,乱码问题就解决了
报告问题
1、各小伙伴能够依照我先前的办法自行去修改, 或者找我索要也行, 留意修改之际空格以及Tab的问题, 不然运行就会报如此的错误。
报告问题样式优化
1、有些前端以及 CSS 方面的知识属于优化范畴, 此处就不进行详尽的介绍了, 要是有兴趣的话能够找我去探讨一番, 还能够跟我索要一下那份经过优化之后的报告文件, 优化完成后的报告所展示出来的是:
小结
1、关于生成报告,优化报告就是这么简单,小伙伴们练起来吧!
2、想要新的报告不会将老的测试报告覆盖掉, 能够依照图里红色部分被圈起来的那种方法达成。
3、参考代码(增加一行代码,测试报告的路径修改一下)
1 # 获取当前时间,这样便于下面的使用。
2 now = time.strftime("%Y-%m-%M-%H_%M_%S", time.localtime(time.time()))
3 #保存生成报告的路径
4 report_path = "C:\\Users\\DELL\\PycharmProjects\\honggetest\\report\\result"+now+".html"
