首页 技术 正文
技术 2022年11月6日
0 收藏 349 点赞 710 浏览 1090 个字

1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下:

File “D:/PycharmProjects/AutoTest/TestZone/RunTest.py”, line 25, in <module>
runner.run(discover)
File “D:\PycharmProjects\AutoTest\Base\HTMLTestRunner.py”, line 631, in run
self.generateReport(test, result)
File “D:\PycharmProjects\AutoTest\Base\HTMLTestRunner.py”, line 678, in generateReport
report = self._generate_report(result)
File “D:\PycharmProjects\AutoTest\Base\HTMLTestRunner.py”, line 745, in _generate_report
test_list = ”.join(rows),
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 84: ordinal not in range(128)

2.   百度了多种方案,通过设置默认的编码格式可解决,通过如下代码:

 import sys
reload(sys)
sys.setdefaultencoding('utf-8')

设置默认编码的时候可能提示sys模块不存在’setdefaultencoding’

sys.setdefaultencoding(‘utf-8’)
Traceback (most recent call last):
File “<input>”, line 1, in <module>
AttributeError: ‘module’ object has no attribute ‘setdefaultencoding’

这是因为python2.5以后的版本已经移除了’setdefaultencoding’,通过reload(sys)即可重新加载出’setdefaultencoding’。

Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6

 3.  问题原因:

Pyhton2.x版本中,默认情况下,Python采用的是ascii编码方式,如下所示:

Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6

而Python在进行编码方式之间的转换时,会将 unicode 作为“中间编码”,但 unicode 最大长度为 128 ,

当尝试将 ascii 编码字符串转换成”中间编码” unicode 时,如果字符串超出了其范围,就抛出了如上错误。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905