Qm_Jmeter脚本录制及常用组件
2017-11-14 15:08:32 0 举报
AI智能生成
Jmeter脚本录制及常用组件
作者其他创作
大纲/内容
执行顺序
<div yne-bulb-block="paragraph">1、配置元件</div><div yne-bulb-block="paragraph">2、逻辑控制器</div><div yne-bulb-block="paragraph">3、前置处理程序</div><div yne-bulb-block="paragraph">4、定时器</div><div yne-bulb-block="paragraph">5、取样器(请求)</div><div yne-bulb-block="paragraph">6、后置处理程序</div><div yne-bulb-block="paragraph">7、断言</div><div yne-bulb-block="paragraph">8、监听器</div>
录制
badboy
HTTP代理服务器
常用组件
配置元件
HTTP请求默认值
HTTP消息头管理器
用户自定义的变量
HTTP Cookie 管理器
JDBC连接设置
Redis Data Set
CSV Data Set Config
用于多条数据时的参数化
逻辑控制器
循环控制器
前置处理器
JDBC前置处理器
<div yne-bulb-block="paragraph">在请求之前执行,可用于通过数据库查找符合条件的入参</div>
用户参数
BeanShell Preprocessor
可插入一段代码,在请求之前执行
定时器
<div yne-bulb-block="paragraph">固定定时器</div>
<div yne-bulb-block="paragraph">每次执行时都是一个固定的时差</div>
<div yne-bulb-block="paragraph">高斯随机定时器</div>
<div yne-bulb-block="paragraph">每次执行时都是一个固定的时差+偏差值</div>
取样器
HTTP请求
<div yne-bulb-block="paragraph">与配置元件中的HTTP请求默认值存在覆盖关系(这里的服务器IP不填时使用HTTP默认值中的URL,希望访问与配置元件中不同的url请求时,这里的服务器IP输入新的IP地址技能,执行时会使用这里的URL地址)</div>
<div yne-bulb-block="paragraph">parameters:将参数以表格的形式提交,用于form形式提交时使用</div><div yne-bulb-block="paragraph"> body data: JSON形式提交</div><div yne-bulb-block="paragraph"> files upload:提交信息中如需附带文件或者图片之类时使用</div>
JDBC请求
<div yne-bulb-block="paragraph">通用的数据库查询语句</div>
后置处理器
<div yne-bulb-block="paragraph">BeanShell PostProcessor</div>
<div yne-bulb-block="paragraph">可插入一段代码,比如${__setProperty(access_Token,${access_Token},)} </div>
<div yne-bulb-block="paragraph">JDBC PostProcessor</div>
<div yne-bulb-block="paragraph">在请求之后执行,用于比如调用对数据库进行了修改的接口,然后查询数据库对应字段的实际值</div>
正则表达式提取器
引用名称
<div yne-bulb-block="paragraph">提交成功后的值,赋给一个变量,这里就是写要赋给的变量名,如:test</div>
<div yne-bulb-block="paragraph">正则表达式</div>
<div yne-bulb-block="paragraph">支持通用的正则匹配规则,可一个匹配规则,也可以多个匹配规则</div>
<div yne-bulb-block="paragraph">模板</div>
<div yne-bulb-block="paragraph">$0$:提取的值包含了整个表达式</div><div yne-bulb-block="paragraph"> $1$:提取的值只包含正则匹配规则匹配到的部分数据</div><div yne-bulb-block="paragraph"> $2$、$3$:这个适用于上面有多个正则匹配规则时,$2$表示第二个规则匹配到的,$3$是第三</div>
匹配数字
<div yne-bulb-block="paragraph">0是随机</div><div yne-bulb-block="paragraph"> 1是匹配到的第一个结果</div><div yne-bulb-block="paragraph"> 2是匹配到的第二个结果</div><div yne-bulb-block="paragraph"> -1没太搞清楚,返回了所有课匹配到的结果,但无法直接通过变量名调用</div>
<div yne-bulb-block="paragraph">缺省值</div>
<div yne-bulb-block="paragraph">没有匹配到的时候返回的</div>
<div yne-bulb-block="paragraph"> ${test}</div><div yne-bulb-block="paragraph"> ${test_g1}、${test_g2} 多匹配规则时,取单个,等同于 对列表切片</div><div yne-bulb-block="paragraph"> ${test_matchNr} 匹配数字为-1时,可返回匹配到的数量</div>
断言
响应断言
响应字段
<ul yne-block-type="list"><li>响应文本:HTTP请求返回的结果</li><li>响应代码:HTTP请求返回的状态码 </li><li>响应信息:HTTP请求返回的状态码后面跟的那个状态信息</li><li>Response Header:返回的消息头</li><li>Request Headers</li><li>url样本:URL地址</li><li>Document(Text)</li><li>ignore status:配合响应代码和响应信息使用</li></ul>
匹配规则
<ul yne-block-type="list"><li>包括、substring:最常用的,都是包括的意思,区别是 包括支持下方的断言数据中含有正则,substring不支持正则</li><li>匹配、equals:同一个意思,比较两个值是否一样,区别是 匹配支持正则,equals不支持正则</li><li>否:就是否</li></ul>
测试的模式
<div yne-bulb-block="paragraph">可通过下方的添加、删除按钮,增加多个匹配条件,规则是断言成功,则进行下一个条件的断言,失败就停止对后面的条件断言并报错信息</div>
个人建议
<div yne-bulb-block="paragraph">1、此处信息直接从接口返回的信息中复制,然后在对断言数据进行修改</div><div yne-bulb-block="paragraph"> 2、多条件断言,以每个字段为一个条件</div>
<div yne-bulb-block="paragraph">BeanShell断言(通过java脚本判断)</div>
监听器
查看结果树
聚合报告
函数与变量
<div yne-bulb-block="paragraph">${__counter(,)} ${__counter(TRUE,)}</div><div yne-bulb-block="paragraph"> ${__intSum(,,)} ${__intSum(1111,1,mobile_Test)}</div><div yne-bulb-block="paragraph"> ${__javaScript(,)} </div><div yne-bulb-block="paragraph"> ${__longSum(,,)} ${__longSum(1111,1,mobile_Test)}</div><div yne-bulb-block="paragraph"> ${__Random(,,)} ${__Random(1,1000,num)}</div><div yne-bulb-block="paragraph"> ${__RandomString(,,)} ${__RandomString(2,string,str)}</div><div yne-bulb-block="paragraph"> ${__time(,)} ${__time(yyyyMMdd-HHmmss,)}<br>…………</div>
0 条评论
下一页
为你推荐
查看更多