【测试】头脑风暴-01-无接口文档测试推想
Burp+Postman+JMeter无接口文档
一、测试目标
- URL :http://admin.qyguo.cn
- 账号:admin
- 密码:admin_123&@
- 目标:完成该网站接口测试、压力测试
二、工具分析
1、BurpSuite
- 版本:BurpSuite2021.6
- 功能:Proxy可以拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
- 原理:打开BurpSuite自带的brower浏览器,利用Proxy拦截网站的POST请求的接口及数据。
2、Postman
- 版本:Postman8.5.1
- 功能:强大的HTTP调试与模拟插件。使用于API/接口功能测试工具,号称接口测试神器
- 原理:验证BurpSuite取得的接口,利用Postman美化数据,修改数据,发送请求数据,然后刷新网页,刷新成功则说明接口可用,数据修改正确。
3、JMeter
- 版本:JMeter5.4.1
- 功能:模拟各种请求,完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样
- 原理:获取、修改、设置变量值在jmeter中,可以设置各种各样的变量,无论是从外部文件引用的数据,还是自定义、随机的参数值等,作为变量灵活调用
三、操作流程
第一步:在配置元件中新建–用户定义的变量>>http信息头管理器
- 名称:自定义就可;
- 值:填被测系统的IP地址就可;
第二步:新建setup线程组(登录前的线程组)>>http信息头管理器>>http请求>>察看结果树
1、用burp>>代理>>打开浏览器>>输入正确账号密码>>进入到拦截开启/关闭
- 例,如要测登录页面,则需要输入账号及密码登录;
- 将登录后的路径放置在http请求路径中;
- 括号中的账号及密码则放置在消息体数据中;
- “{}”中的名称或IP是需要和用户定义的变量名称保持一致;
- 如要测登录页面,则使用burp先捕捉其路径,同样的还需要加上消息体数据;
2、用postman>>输入GET为json的路径(URL+burp中的json路径)>>Body>>raw(需添加burp生成的账号及密码)>>将Text选为JSON>>Headers找到后缀为json的VALUE(值)及前面的KEY(键),将值和键放到jmeter>>http信息头管理器中的名称及值中;
- 输入GET为json的路径(URL+burp中的json路径);
- Body>>raw(需添加burp生成的账号及密码);
- 将Text选为JSON;
- Headers找到后缀为json的VALUE(值)及前面的KEY(键);
- 将值和键放到jmeter>>http信息头管理器中的名称及值中;
3、察看结果树>>看“response Body”最后返回的结果是不是““success”:true}”成功;看“Response headers”的高亮部分是cookie值
- 注意看“response Body”最后返回的结果是不是““success”:true}”成功
- 注意看“Response headers”的高亮部分是cookie值
第三步:http请求>>后置处理器>>正则表达式提取器>>
1、 使用正则表达式提取器
- 引用名称:自定义就可;
- 正则表达式:从登录的结果树中看高亮的那一行;
- 匹配数字:固定值填“1”就可;
2、使用BeanShell后置处理程序
${__setProperty(Get_cookies,${get_cookies},)} 设置为全局变量
- 通过使用全局变量函数助手可以自动生成(加全局变量助手的步骤)
- 如图
3、创建信息头管理器
- Cookie JSESSIONID=${__P(Get_cookies,)} (全局变量)
- 首页不需要填参数及消息体数据
- IP:使用函数,“{}”里面的名称要和用户公共的变量保持一致
- 注意看请求类型;
- 消息体数据可从burp里面获取;
- IP和用户公用的变量名保持一致;
- 如图
- 分割线~~~
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码