jmeter——参数化、关联、断言

1.jmeter——参数化

三种方式:

${变量名}

1.1用户定义的变量

比如注册,登录都得用到手机号码,那就把手机号码自定义为变量

1)添加一个线程组--注册、登录HTTP请求--察看结果树--用户定义的变量(http请求步骤见上一篇随笔https://www.cnblogs.com/liyongmei/p/11044466.html)

 

2)添加用户定义的变量

3)引用用户定义的变量,格式为:${变量名}

4)察看结果树--点击运行

1.2配置文件CSV Data Set Config(如果对其他线程也有需要,就需要把它移动到测试计划同一级目录,这样就对所有线程有效)

比如同时注册三个手机号码,并且对应用户。

1) 用文本编辑三个手机号和用户名

 

2) 线程组—添加—配置元件—CSV Data Set Config

 

 

3)

Filename:参数化文件路径

Variable Name(comma-delimited):参数化的名称

Delimiter(use '\t\ for tab):多个参数,用什么来隔开

Recycle on EOF?:文件读取完之后是否继续读取

Stop thread on EOF?:文件读取完之后是否停止线程

4) 参数引用

 

 

5)修改线程数

 

6)运行察看结果树

1.3函数助手中的函数获取参数值 _Random函数 _RandomString函数

比如进行十个用户的注册,只是往数据库添加十个手机号码,但是手机号码不一定对应真实用户,那就可以用到随机函数

1)固定段号

 

2)点击选项--函数助手对话框

3)在注册http请求手机号码字段粘贴生成的字段

4)修改线程数

5)察看结果树

2.jmeter——关联

1、 关联的定义:将服务器返回的动态的变化的一个值,把他保存为一个参数,以供脚本里面后边需要用到参数化的地方进行使用
2、 关联的目的
脚本值写死,但是服务器返回值每次都是动态的不可预期的,服务器用不同的值做业务处理,进行校验,所以需要关联

引导:使用了单个充值接口进行充值,提示“抱歉请先登录”,随后同时开放登录和充值两个接口,仍然提示“抱歉请先登录”

引出疑问点?
答:充值的时候,在页面上,我们是先登录,是以登录的状态去充值的。充值的时候,我们就会去校验登录的状态。而jmeter里面【登录】和【充值】两个接口是独立的,两个接口没有联系起来。

我们需要了解cookie和session?

原文链接:https://www.cnblogs.com/nickjiang/p/9148136.html

正则表达式提取器

  1. 关联方式

Jmeter中的关联是通过“添加—后置处理器—正则表达式提取器”来获取数据,传给后面的请求使用。

关联概念:两个请求,上一个请求的响应结果,作为下一个请求的传入关联运用的场景;下一个请求的参数值是变化的。

  1. 正则表达式

正则表达式概念:匹配内容的一个表达式。Error.log====rerror.log

2.1:添加正则表达式提取器(从哪里取就在哪里添加)

引用名称:下一个请求要引用的参数名称。如填写activityID,则可用${activityID}引用它

正则表达式:()括起来的部分就是要提取的

                       . 匹配任何字符串

                       + 一次或多次

                       ?在找到第一个匹配项后停止

模板:用$$引用起来,如果是多个提取表达式,则可以是$1$$2$等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

匹配数字:0随机,1代表所有,通常取0

缺省值:如果返回结果中没有匹配的值,则变量的值采用默认值。

注意:正则表达式放在请求的后面,数据从“查看结果树”的响应数据获取。

从接口请求的响应结果中获取;或者数据库中获取

2.2:添加一个http cookie管理器

2.3察看结果树

3.jmeter——断言

断言==检查点

3.1添加断言

3.2添加一个检查点,如果响应中的信息与添加的检查点不一致,则做失败处理

3.3察看结果树

posted @ 2019-06-19 17:45  **山止川行**  阅读(2289)  评论(0编辑  收藏  举报