测试工具 Postman
接口测试说明内部接口被测系统各模块的接口用户模块增删改查。 外部接口被测系统与外部之间的接口。接口测试流程1.拿到接口文档没有需要抓包熟悉接口业务接口请求四要素和响应四要素接口鉴权方法错误码业务等。2.编写接口测试用例测试点XMIND并评审。正例正常输入接口的请求四要素查看并验证响应数据的正确性。接口请求四要素请求方式请求路径请求头请求数据。给接口响应四要素响应码。响应信息响应头响应数据。返回反例接口鉴权反例鉴权码为空错误过期等。接口参数反例参数为空参数类型异常参数长度异常。业务场景反例黑名单接口调用次数分页100条每页10条3.使用postman执行接口测试。4.通过postmanNewmanJenkins实现接口自动化测试持续集成并且输入报告以及进行邮件钉钉通知。接口自动化工具postmanjmeterapifoxsoupul银行创建一个收藏夹collection- overview概述可以更改项目名- Authorization鉴权-脚本scripts前置和后置- 变量-运行- request增加接口-请求请求方式请求路径请求头请求数据。增加一个请求params查询字符串参数即在请求路径后传递的参数多个参数之间用分割。它是URL的一个部分是所有人都可见是所有人都可见会自动填。authorization鉴权headers请求头bodybody参数不会显示在URL相对安全他包含JSON表单文件等。none没有body参数form-data即有参数又有文件x-www-form-urlenco只有参数rawjsonxmlhtmljs等binary二进制数据GraphQLfacebook在2012开发一个查询语言scripts前置脚本和后置脚本setting设置cookie请求头的body响应数据cookies响应cookie响应头的headers请求头test results断言接口是否请求成功继续增加请求测试各个接口 {{$timestamp}}时间戳一个随机的数字 token鉴权码每一次执行都是在变化的接口关联。 有增改删接口避免脏数据形成数据闭环。接口关联接口关联当在接口测试中出现上一个接口返回值需要作为下一个接口的参数。接口关联如何实现1.获取上一个接口返回值中的指定的数据access_token。方式一可以使用json对象取值保存到全局变量在所有接口中都能使用的变量方式二可以使用正则提取保存到全局变量。2.使用全局变量通过{{变量名}}引用。通过AIpostman实现。阿里千问 https://www.qianwen.com百度文言一心 https://yiyan.baidu.com字节豆包 豆包 - 字节跳动旗下 AI 智能助手AIGC https://www.yjpoo.com/ http://https://www.ainav.cn/ http://https//17yongai.com/{{$}}是postman内置的参数{{}} 是我们自己设置的参数。全局变量能够在postman整个应用中都能使用的变量。环境变量在开发环境测试环境生产环境都能测试。和全局变量的区别在于他的作用域比全局变量小。环境变量只能在单一环境使用。全局变量可以在所有环境使用。多种环境的区别在于IP或者域名不一样。接口的功能run manually手工运行 用于做调试iterations运行多少次 delay 延时多久 test file驱动schedule runs 定期运行automate runs via CLI 通过C LI自动运行接口性能受限付费最大模拟用户数100最大持续时间60分钟一个月只能使用25次Fixed固定 Ramp up逐步加强 spike尖刺三角形 peak尖峰梯形virtual users 虚拟用户数 test duration持续时间警告⚠️性能的文件图片是有问题的会丢失。所以有附件需要上传到团队的云端再运行。断言1.断言方式第一种状态断言第二种业务断言断言带有动态参数的接口公共全局断言postman数据驱动CSV数据驱动通过数据驱动用例执行本质上是请求四要素里面的请求参数不同因为不同的数据传入接口得到的不同的结果所以先把数据设置好个数据文件执行用例实现覆盖正反例。postman实现数据驱动方式一结构 主流postman实现数据驱动方式二CSV1.根据接口的参数编写CSV数据文件2.把所有的参数都改成获取全局变量特别注意参数名必须和你的CSV里面的名称一致。3.选择CSV文件批量运行⚠️postman不能做到一个接口一个数据文件而是所有的接口一个数据文件。assert——vaule逻辑只有结果中返回token才提取负责只断言。第四步修改断言和提取代码postman接口自动化加密接口测试实战加密接口自定义加密签名SIGN1.加密方式单向加密MD5哈希SHA双向加密对称加密AES、DES 、Base64 非对称加密SAR2.操作测试只需要公钥。1.在请求之前加密。Base64加密NewmanAllureJenkins自动化持续集成特点能够生产美观的Allure报告缺点不利于敏捷开发的快速迭代。Newman是一个命令行的集合运行器运行在没有postman CLI的情况下实现自动化持续集成。命令 Newman run参数 -e 指定环境变量 -g 指定全局变量 -d 指定数据文件 -n 指定迭代次数 -r html -- reporter- html- export 文件名 生成HTML报告 -r allure -- reporter - allure-export 生成Allure报告1安装 NewmanMacsudo npm install -g newman2安装 HTML 报告插件sudo npm install -g newman-reporter-html3postman运行newman run 你的集合文件.json4有环境变量运行newman run my-collection.json -e my-environment.json5生成allure报告newman run 集合文件.json -r allure --reporter-allure-export allure-results6打开allure报告allure serve allure-results7可以使用jenkins自动生成postmanCLI Jenkins自动化持续集成1不需要导出文件2CLI命令