当前位置: 首页 > news >正文

HttpRunner自动化测试之响应中文乱码处理

响应中文乱码:

  当调用接口,响应正文返回的中文是乱码时,一般是响应正文的编码格式不为 utf-8 导致,此时需要根据实际的编码格式处理

示例:

图1中 extract 提取title标题,output 输出 title 变量值,如下图2可见,输出的变量值成了乱码,图3的报告中可以看到响应的编码为 ISO-8859-1

解决方式如下:

方式一,添加headers头部信息,如下图

4个关键字必须:

User-Agent: *****
Accept: *****
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

 上述头部信息关键字,可通过F12键获取

yaml示例:

添加headers头部信息,如下图

添加头部执行后,输出的变量值为utf-8 中文编码;如下图

方式二,通过 debugtalk.py 辅助函数编写代码然后yaml文件中调用;

python中内置函数 encode() 和 decode() ,encode()是编码、decode()是解码

debugtalk.py文件的代码如下:

# encode编码   decode解码# iso8859-1 编码,解码成 utf-8
def iso8859_to_utf8(str):return str.encode("iso8859-1").decode("utf-8")# utf-8 编码,解码成 iso8859-1
def utf8_to_iso8859(str):return str.encode("utf-8").decode("iso8859-1")# unicode_escape 编码,解码成 utf-8
def unicode_escape_to_utf8(str):return str.encode("unicode_escape").decode("utf-8")

在yaml文件中,断言引用函数需要加引号 " ",如下图

测试报告展示成功,断言成功,如下图:

上述是通过utf-8进行断言比对,还可以通过 iso8859-1 进行断言比对;如下图:

variables: 变量;

把预期结果先做个变量然后转成和实际结果一样的编码,最后再通过断言进行比对,如下图:

 测试报告展示成功,断言成功,如下图:

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

http://www.lryc.cn/news/95681.html

相关文章:

  • idea使用命令将jar包导入到maven仓库中
  • zookeeper学习(一) Standalone模式(单机模式)安装
  • native webrtc支持切换音频采集设备和获取裸流
  • HR怎么看待PMP证书呢?
  • API接口:如何通过使用手机归属地查询
  • 小创业公司死亡剧本
  • 国产化的接口测试、接口自动化测试工具Apipost的介绍及使用
  • 【MySQL】不允许你不知道如何插入数据
  • Vue 渲染流程详解
  • 10分钟内入门 ArcGIS Pro
  • 【ribbon】Ribbon的使用与原理
  • axios封装到reques.js文件中
  • 学好Elasticsearch系列-核心概念
  • 扩展点都不知道不要说你用了Spring Boot
  • LangChain大型语言模型(LLM)应用开发(五):评估
  • Angular:动态依赖注入和静态依赖注入
  • Java前后端交互long类型溢出的解决方案
  • Lua学习-1 基础数据类型
  • 普通的计算机专业大学生如何学习才能找到好offer
  • iOS私钥证书和证书profile文件的生成攻略
  • 前端 | ( 十二)CSS3简介及基本语法(中)| 变换、过渡与动画 | 尚硅谷前端html+css零基础教程2023最新
  • 【BOOST程序库】时间日期库
  • Windows 命令提示符 (cmd. exe) 命令行字符串长度限制
  • Kafka 入门到起飞系列
  • [RabbitMQ] RabbitMQ简单概述,用法和交换机模型
  • Oracle 多条记录根据某个字段获取相邻两条数据间的间隔天数,小于31天的记录都筛选出来
  • 【数据挖掘】如何修复时序分析缺少的日期
  • CDN、P2P、PCDN的区别是什么
  • MYSQL练习一答案
  • 路由器(第二十五课)