python接口自动化(二十八)--html测试 报告——下(详解)

简介

五一, 这个短暂的小长假至此已然结束了, 想必诸位都已吃得十分饱足, 喝得极为畅快, 玩耍得相当尽兴了, 那么接下来就继续投入到学习当中去。倘若一天未曾学习, 自己心里是清楚明白的;若是两天都未学习, 竞争对手便已然知晓了;要是三天都没学习, 周围众人都会有所察觉了;一旦一周都不学习, 恐怕智商就会输给猪了。好了, 只是开个玩笑, 旨在逗大家开心一乐罢了, 然而仔细想想, 这话还是颇具道理的。那就接着往前进。

进入正题: 上一篇, 我们在批量执行完用例之后, 所生成的测试报告, 是生成 HTML 格式的。然而, 我们能够看得出, 那个官方的测试报告, 既不具备美观的特质, 也没有大方的样子, 我们在此处需要进行一番优化, 将其优化得能够让人产生赏心悦目之感, 就如同看到一个美女, 看了一眼之后, 忍不住再多回头看几眼。

投身于SRE实战, 成为互联网时代守护先锋来助力企业售后服务体系, 使其能够做到运筹帷幄!通过一键直达的方式去领取阿里云限量特价优惠。

看一眼 - _ - 并且把上一篇遇到的问题列举解决一下。

如何改动下载的 .py 的 版本

基于.py本来就是版本, 当下尚未寻得版本, 因而要我们自行去修改.py文件。

  1. 修改的地方

问题一: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')), 如此便可。

  1. 保存

修改后对.py 保存一下。

  1. 调用语句更改

里面打开文件使用 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"
相关推荐
烂蜻蜓1 小时前
Flask入门教程(附录):模板渲染API——Jinja2集成全解析
后端·python·flask
2601_962387821 小时前
Python CUDA 编程 - 2 - Numba 简介
python·numpy·cuda·jit编译器·numba
智能体与具身智能10 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
2601_9622946110 小时前
python中range函数怎么用
python·for循环·可迭代对象·range函数·整数列表
青 春 记 忆11 小时前
零基础入门python70:Docker Compose 编排完整后端
python·后端开发
新时代牛马11 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
白山编程大哥12 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
落羽的落羽13 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
Chasing__Dreams13 小时前
大模型应用开发--13--RAG 查询优化策略
python