性能测试-JMeter正则表达式提取器

前面我们说了正则表达式介绍,今天我们主要来学习下正则表达式提取器。

配置项(Apply to):

与响应断言中用法一致,不再赘述。

Field to check:

Body   

Response Body,比如HTTP响应报文的实体主体,不包含状态行与首部。

Body(unescaped)

Response Body(转换了转义字符),对HTTP响应报文的实体主体中的所有HTML转义字符进行了转义处理。由于转义时没有参照上下文,在处理时可能会出错,并且开启此选项会严重影响性能,故不建议使用。

Body as a Document

通过Apache Tika从各种类型的文档中提取文本。此选项开启也会严重影响性能,谨慎使用。

Response Headers

一般用于HTTP请求,HTTP响应报文中的首部。

Request Headers

一般用于HTTP请求,HTTP请求报文中的首部。

URL

一般用于HTTP请求。HTTP请求报文中的请求URL地址(未开启重定向功能);若开启了重定向功能,则包含原始请求中的请求URL地址与重定向后的URL地址。

比如前面访问新浪的例子,开启了重定向后,则包括:

http://www.sina.com/,http://www.sina.com.cn/和

https://www.sina.com.cn/三个URL地址

Response code

一般用于HTTP协议,指的是HTTP响应报文中的状态码,比如200、301、404等。

Response Message

一般用于HTTP协议,指的是HTTP响应报文中的原因短语,比如OK、Moved Permanently、Not Found等。

Name of created variable:

用于存储结果的JMeter变量的名称。

Regular Expression:

用于解析响应数据的正则表达式。使用正则表达式中的()来捕获响应字符串。

可以使用一组或多组()来捕获一个或多个字符串。这样的分组称为捕获组,

每个捕获组都有一个编号与之对应,以方便引用捕获组匹配的内容。若有多个捕获组,编号规则为:

从左至右,按照“(”出现的顺序,从1开始依次递增进行编号:1,2,3,... ,n

还有一个额外编号为0的捕获组,用于表示匹配到的整个正则表达式字符串。

比如:

正则表达式: ((\d{4})-(\d{2})-(\d{2}))\s((\d{2}):

(\d{2}):(\d{2}))

 

 

 

 

 

 

 

 

 Default Value:

如果正则表达式没有匹配到内容,则保存结果的JMeter变量将设置为默认值,这样会对调试JMeter测试带来便利。

如果没有提供默认值,则很难判断正则表达式是否匹配失败,或者RE元素是否未处理或者是否使用了错误的变量。

但是,如果您有多个设置相同变量的测试元素,那么如果表达式不匹配,您可能希望保持变量不变。

在这种情况下,请在调试完成后删除默认值。

Use empty default value:

如果选中该复选框则默认值为空,则JMeter会将保存结果的JMeter变量设置为空字符串。

应用案例:

  业务操作步骤:

  1.登录ECshop后台管理系统;

  2.设置查询条件(比如按商品品牌)搜索商品;

  3.在返回的查询结果集中选择第一个商品删除。

  这里每一步骤对应一个HTTP请求,在第二个请求中每次返回的查询结果集不一样(因为每执行一次会删除一个商品),

       故向第三个请求传递的商品编号参数不能写死,需要从第二个请求对应的响应数据中提取出来。

操作步骤:

 

posted @ 2020-01-10 15:35  川石信息  阅读(224)  评论(0)    收藏  举报