大话JMeter2|正确get参数传递和HTTP如何正确使用

简介: ![](https://ceshiren.com/uploads/default/original/3X/3/0/3061c49d73b39d6524ffe274f626a9d574786ca7.gif)上节课展示了JMeter的基础用法:录制回放功能,断言,聚合报告。李政道教授谈论学习方法,他表明我们可以获取很多信息。但是,从了解到理解还有一段路要走。只有亲手练了才能变成理解,能获取

上节课展示了JMeter的基础用法:录制回放功能,断言,聚合报告。李政道教授谈论学习方法,他表明我们可以获取很多信息。

但是,从了解到理解还有一段路要走。只有亲手练了才能变成理解,能获取信息不代表自己理解。

但如何正确get参数传递和HTTP如何正确使用。尤其是在无UI下进行接口的访问。小哥哥带着你用漫画来学习JMeter,让你在轻松的环境里了解新知识。

要创建采样器,只需要二步
1.添加 “Thread Group”
2.添加 “Http Request” Sampler

下面的接口逻辑如下:

我们使用的接口是自己创建的程序,同学可以自行寻找其它接口进行训练!
下面就是大名鼎鼎的登录接口:
我们向/api/v1/user/login发送请求,发送的header中需要包括Content-Type : application/json,请求体中如果含有:
"authRequest": { "userName":"{{login_email}}", "password": "{{login_pwd}}"}。

服务器会给我们一个反馈,它会验证邮箱和密码是否正确。如果login_email和login_pwd错误,我们将会得到Fail下面的信息:
如果login_email和login_pwd正确,将会得到Success下面的信息:
有了这个access_token,我们就拿到了许可证。

浏览菜单接口

订单确认接口

注销接口

采样器中定义请求名称:用户登录
配置 Host 、Port、Path = /api/v1/user/login
配置 Method = POST
HttpRequest中的body中添加请求参数
{

“authRequest”: {       
    “userName”: “user01”,   
    “password”: “pwd”    
}

}

在Http Request中添加 Http Header Manager, 管理该请求的header信息
添加 “View Result Tree” 用于查看 请求/响应 详情

在Http Header Manager中配置如下参数Content-Type :application/json

运行并在View Result Tree中检查运行结果

创建浏览菜单接口请求,添加HttpRequest请求。 配置请求名称:浏览菜单
输入hostname、port、path = /api/v1/menu/list
设定 Method = GET

在HttpRequest中添加Http Header Manager,暂时保持Http Header Manager中为空,我们之后会对其进行配置

返回代码为 401 提示信息为 “Please login first.”。聪明的读者,你们能为小象解答原因吗?

我已经创建好了所有接口,暂时保持Http Header Manager中为空:

提取接口的JSON返回值,需要在对应的HttpRequest中添加JSON Extractor (JSON 提取器)

需要使用json path来匹配需要提取的变量值。由于篇幅有限,我就不讲解json path的使用方法了,请大家自行搜索。

$. 代表JSON的根节点。可以在View Result Tree中打开 JSON Path Tester来确定所匹配的JSON变量路径的正确性

在JSON Extractor中填入如下信息

  • 量名称
  • JSON路径表达式
  • 匹配编号

在接口请求的header中添加access_token变量。JMeter中引用变量的方法 ${变量名}

在浏览菜单接口,订单确认接口, 用户注销接口中的header中添加${access_token} 变量

运行调试结果,配置正确之后,后台接口可以回传正常响应结果数据

本文使用漫画形式向大家展示了JMeter的进阶用法:无UI下进行接口的访问,参数传递机制。同学们,不知道你们学会了吗?请同学们勤加练习,争取学到更多的知识,本内容出自测试学院,想进一步学习JMeter的使用?请继续关注我们。

你喜欢小哥哥这篇文吗?
喜观就点“在看”鼓励小哥哥吧> 更多技术文章分享
https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1654677209&author=YL

相关文章
|
10月前
|
Android开发 Kotlin
|
10月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
880 2
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1598 23
|
缓存 安全 API
为什么 HTTP GET 方法不使用请求体?
本指南深入探讨了为什么HTTP GET方法通常不使用请求体,解释了GET方法的主要用途及其设计原则。GET请求旨在通过URL安全、幂等地检索数据,避免因请求体带来的复杂性和潜在问题。尽管HTTP/1.1规范允许GET请求包含请求体,但这并不常见且可能引发副作用。掌握这些原则有助于开发者在API开发中更高效地使用GET请求。
|
API
掌握 HTTP 请求的艺术:理解 cURL GET 语法
掌握 cURL GET 请求的语法和使用方法是 Web 开发和测试中的基本技能。通过灵活运用 cURL 提供的各种选项,可以高效地与 API 进行交互、调试网络请求,并自动化日常任务。希望本文能帮助读者更好地理解和使用 cURL,提高工作效率和代码质量。
2058 7
|
关系型数据库 MySQL Docker
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
4966 9
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
缓存 安全 API
http 的 get 和 post 区别 1000字
【10月更文挑战第27天】GET和POST方法各有特点,在实际应用中需要根据具体的业务需求和场景选择合适的请求方法,以确保数据的安全传输和正确处理。

热门文章

最新文章