postman还蛮好理解的,后续复习的话着重学习关联接口测试即可,感觉只要用几次就会记住:
1 从接口的响应结果当中提取需要的数据
2 设置成环境变量/全局变量(json value check 、set environment para
3写入到下一个接口的请求数据中
概要了解jmeter
- sampler(滴管样式的)
- 计时器
- 前置处理器和后置处理器
- 断言
- Controller
- Listener
- 配置原件
测试计划的元素执行是有顺序的,通过以下顺序执行:
1 配置节点(HTTP Resquest Defaults
2 前置处理器
3 定时器
4 取样器
5 后置处理器(只在有结果可用情况下执行 Debug PostProcessor
6 断言(只在有结果可用情况下执行
7 监听器(只在有结果可用情况下执行
567都通过4来进行工作,在发送请求的时候要勾选advanced中“Retrieve all embedded resource”,以模拟真实操作
在发送请求时注意cookie和usersession,在Fiddler中有“HTTP Cookie Manager”组件可以处理cookie,usersession需要用到关联变量
WorkBench的属性查看组件,在Jmeter中有一个jmeter.properties文件,在Jmeter中可以查看properity文件,也可以在Function Helper中通过-P查看值,或者得到某一变量的函数表达式
属性在测试脚本的任何地方都是可见的,即是全局的;因此可以用于在线程间传递信息。
用${变量名}引用变量
Debug采样器:追踪变量的状态
参数化:需要加入CSV Data Set Config组件
概要了解LodaRunner
需要图形化界面,不能在linux或者mac系统上安装,只能安装load Generator这个组件
LoadRunner组成及工作原理
组成:
四个核心组件:
VuGen: 捕获用户的业务流,且最终将其录制成一个脚本
一次只能模拟一个虚拟用户
Analysis:
当脚本运行完成之后会得到一个结果,可以通过analysis进行分析
Controller:
设计场景:当脚本编辑好后,需要对脚本如何去运行设计一种策略,这种策略就叫场景设计
脚本编辑好后,在左边的任务栏中点击finish,会跳转到Finish界面,点击Create a Scenario,就可以开始设计了。
场景监控:实时监控脚本运行的情况
一次可以模拟多个虚拟用户
Load Generator:
负载发生器,模拟用户对服务器提交请求,即将脚本编程虚拟用户的组件
LR工作原理
(联机负载
1 从控制器开始
2 当执行策略确定后,控制器会控制负载机如何去产生压力如何去模拟虚拟用户,(会像负载机发送一个文件
3 在执行脚本时,控制器会收集测试过程中的数据,并且将数据保存在数据库中
4当场景执行结束后,通过analysis分析数据
LR性能测试步骤
LR的脚本生成
LR生成脚本的方式有三种:
- 通过工具本身来录制
- 通过第三方工具来录制(万能录制方法
- 通过抓包手写
通过工具本身录制
New Script,选择协议,点击创建后,会弹窗以下界面,分别为协议,浏览器,网站被测地址,脚本保存路径,选择脚本存放的地方
脚本分为三部分,init和end都只执行一次,脚本就保存在action中
HTML模式:页面模式,主请求模式。在该模式下,LR只会生成一个请求函数。一个页面只会生成一个请求。
代码特征:mode=html
优点:代码简介
缺点:可能会遗漏一些ajax请求
URL模式:HTTP模式,请求模式,在该模式下LR会对所有的http请求都生成一个函数。一个页面会生成多个请求。
Mode = HTTP
缺点:代码很长
优点:不会遗漏任何使用http协议的请求
在HTML模式下有两种子模式:
基于用户行为模式:严格的上下文依赖关系。
优点:基于业务系统中,本身就存在上下文依赖的,不需要做任何处理
缺点:脚本耦合度差,可编辑性差,对于非长下文依赖,还是需要做关联处理
基于URLs模式:生成的脚本,请求是通过url地址来实现的,在脚本层面,请求不会存在依赖关系
优点:脚本可编辑度高,不会遗漏任何使用http协议的处理
缺点:对于业务中存在依赖关系的地方,需要做关联处理
万能录制方法
只要得到pcap即可-----wireshark(得到网络层面的所有包)一定注意保存成pcap
script之后点击start record 在弹窗中选择第二个,即使用保存的包来生成脚本
填写信息
注意:在脚本中删除所有add_cookie和所有不相关的url