首页 新闻 会员 周边

Python接口自动化,ddt参数化中json格式取出乱码。

0
悬赏园豆:100 [已解决问题] 解决于 2021-08-11 14:09

如图,Python接口自动化,Unittest框架,使用ddt参数化,在注解@data中json格式参数取出后为乱码,求大佬支援!

皮特宇的主页 皮特宇 | 初学一级 | 园豆:9
提问于:2020-07-17 17:03
< >
分享
最佳答案
0

这不是乱码,是被unicode转码了
参考:https://blog.csdn.net/Setul/article/details/52203894

收获园豆:55
Ctrl` | 老鸟四级 |园豆:3317 | 2020-07-17 17:12

那按照转码的思路的话,我需要再转一次才能放到url里,是这样吗?

皮特宇 | 园豆:9 (初学一级) | 2020-07-17 17:15

@GongYuTest: 一般为避免unicode转码问题。先将数据使用encode进行转码(有中文需指定字符集)。然后输出时再用decode解码。python也有封装好的工具类,baidu一下直接拿用就行了

Ctrl` | 园豆:3317 (老鸟四级) | 2020-07-17 17:28

@Ctrl`: 好的,我先研究一下,谢谢大佬!

皮特宇 | 园豆:9 (初学一级) | 2020-07-17 17:29
其他回答(2)
0

这不是乱码哦,一眼就看出来了简单的url编码而已

收获园豆:45
小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-07-17 17:36

那有什么方法可以解决吗?

支持(0) 反对(0) 皮特宇 | 园豆:9 (初学一级) | 2020-07-17 17:38

@GongYuTest: https://www.cnblogs.com/pythonywy/p/11696583.html在打印url的时候转换一下就好了

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-07-17 17:39

@小小咸鱼YwY: 不能只是打印的时候转换,发送的get请求中也是转码的,导致请求发送失败。

支持(0) 反对(0) 皮特宇 | 园豆:9 (初学一级) | 2020-07-17 17:40

@GongYuTest: 不是呀,你自己封装的方法自己打断点看看具体哪里出问题了呀,把你方法名或者文件名别用test抬头,单元测试模块先注释掉,跑一下代码看看问题在哪个位置

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2020-07-17 17:43
0

参数中不应带入params,且{}应放在引号外面。

皮特宇 | 园豆:9 (初学一级) | 2020-08-18 11:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册