首页 > 编程知识 正文

jmeter接口测试项目实战,postman接口并发测试实例

时间:2023-05-03 22:34:51 阅读:115970 作者:2335

转载地址: https://blog.csdn.net/wanglha/article/details/52203736

第一部分:基础篇postman:4.5.1

1 .安装职位人员

进入postman官网,如果是mac系统,可以直接点击mac app进行安装

在windows上,必须在windows下安装chrome浏览器,在地址栏中输入chrome://extensions,并选中开发人员模式

然后解压缩下载的postman插件,浏览器点击解压缩的扩展程序进行加载,选择插件所在的目录即可

2 .测试第一个api。 以豆瓣开发者api为例

该接口的method为get,postman默认为get,在url栏中输入被测量接口

因为界面文档需要q或tag,所以必须在此处设置参数,然后单击url右侧的params并输入参数

单击“send”按钮提交请求时,下面将显示返回的响应、响应状态代码和响应时间

响应可以通过各种方法看到,也可以看到cookies、headers的信息

每次使用不同的参数或设置时,左侧的历史记录都会记录接口测试的历史记录,以便于下次重新启动

第2部分:阶段篇1 .使用带来的脚本测试界面

单击tests按钮后,右侧会有snippets栏。 其中有一个内置于postman中的测试脚本,可以帮助您测试接口

选择其中一个脚本,修改参数,然后再次单击“发送”,response的tests中将显示1/1,表示已通过测试,绿色的pass表示已通过验证

红色故障表示测试失败,可以在一个接口上编写多个脚本进行多次测试

2 .内置脚本说明

1 .清除与全局变量Clear a global variable对应的脚本。 postman.clearglobalvariable (variable _ key ); 参数:要清除的变量的key 2.环境变量Clear an environment variable兼容脚本: postman.clearenvironmentvariable (variable _ key ); 参数:需要清除的环境变量key 3.response包含启用了response body : contains string的脚本。 tests [ ' bodymatchesstring ' ]=response body.has (字符串参数:预期内容4.XML格式的response转换为son格式的response body 3360 convertxmlbodydy 参数:(默认情况下不需要设置参数。 接口的响应。 (需要转换的xml 5.response )是与预期的response body 3360 isequaltoastring相对应的脚本。 Tests['bodyiscorrect']=responsebring参数: response 6.json希望分析和验证key值的启用了response body : jsonvaluecheck的脚本: tests [ ' argskeycontainsation='test' in responseJSON.args参数: test替换测量的值,args替换测量的key 7。 检查响应头信息中是否存在测量字段响应头3360 content-typeheadercorcer

对应脚本: tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 参数:预期header 8.响应时间判断 Response time is less than 200ms 对应脚本: tests["Response time is less than 200ms"] = responseTime < 200; 参数:响应时间 9.设置全局变量 Set an global variable 对应脚本: postman.setGlobalVariable("variable_key", "variable_value"); 参数:全局变量的键值 10.设置环境变量 Set an environment variable 对应脚本: postman.setEnvironmentVariable("variable_key", "variable_value"); 参数:环境变量的键值 11.判断状态码 Status code:Code is 200 对应脚本: tests["Status code is 200"] = responseCode.code != 400; 参数:状态码 12.检查code name 是否包含内容 Status code:Code name has string 对应脚本: tests["Status code name has string"] = responseCode.name.has("Created"); 参数:预期code name包含字符串 13.成功的post请求 Status code:Successful POST request 对应脚本: tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202; 14.微小验证器 Use Tiny Validator for JSON data 对应脚本: var schema = { "items": { "type": "boolean" } }; var data1 = [true, false]; var data2 = [true, 123]; console.log(tv4.error); tests["Valid Data1"] = tv4.validate(data1, schema); tests["Valid Data2"] = tv4.validate(data2, schema); 参数:可以修改items里面的键值对来对应验证json的参数

3.保存api,点击save按钮,找到save as按钮,点击



这时我们可以修改request name 也可以写一下请求的描述



接下来新建一个接口集合,写一个集合的名字,点击保存



然后在左侧功能区,找到collections栏目并点击



可以看到刚保存的api集合


4.运行api集合:找到顶层功能区,找到runner按键,并点击



选中刚才新建的api集合



点击start test,可以在右侧看到运行的结果


5.命令行运行接口集合:首先下载刚才创建的集合,点击export,并保存到指定路径



安装postman命令行运行工具newman



注:如果提示没有npm命令点击此链接
安装好newman后,命令行执行,可以看到执行结果



如果想要报告加上 -H filename 参数即可


第三部分:高级篇

1.环境变量的使用:在测试的过程中我们可能有多套测试环境,对应每一套测试环境的ip可能是不同的,但是接口的请求,与参数又是一样的,最笨的方法是每一个环境都写一个测试集合,但是postman给我们提供了更为便捷的方法:使用环境变量
进入请求栏目,找到no environment



点击no environment,找到manager environments,点击进入页面
![Uploading QQ20160812-2_610634.png …]




这个页面可以进行管理环境变量,点击add,添加一个环境变量



在这里输入环境变量的名字,环境变量是以键值对的形式存在的,输入环境变量的键值对,然后点击add,进行保存



回到请求测试区,点击no environment ,选择刚才新建立的环境变量,同时可以点击右侧的眼睛来查看环境变量与全局变量(后面会给大家介绍)



现在使用刚才新建的环境变量来替换uri,引用变量使用{{key}}的形式,将https://echo.getpostman.com用{{test_env}}来替换,并send发送请求



可以看到这里的结果和使用https://echo.getpostman.com是一样的,这样一组接口就可以实现写一次而通过更换环境变量来实现切换不同的环境

2.全局变量的使用:虽然我们可能有多个测试环境,但是我们的测试数据每个环境用的都是一组,对于postman相当于只有一组全局变量,对应多组环境变量
同样的,点击manager environment



点击globals,进入环境变量的管理页面



全局变量globals同样是以键值对的形式保存的,输入键值对,点击save



回到请求测试区,使用全局变量替换url的参数,引用方法与环境变量的引用方法一致,替换后点击send,查看结果



response依然以正确的内容显示出来

3.可以使用pre-request script功能来创建环境变量与全局变量,还有销毁环境变量与全局变量,pre-request script是预置的脚本,执行在请求之前
点击pre-request script,进入预设脚本页面



点击右侧的脚本,并设置全局变量与环境变量,并将url进行替换,点击send发送,看到结果还是以正确的形式进行展示



同样的我们也可以在tests里面使用预置的脚本进行设置与清除环境变量用法一样

4.环境变量与全局变量都已经进行了设置,我们还可以在tests里面进行引用,这样就解决了上下游数据互传的问题了了
点击tests,切换到测试脚本页面,输入脚本






版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。