文档章节

jmeter中的关联

孟飞阳
 孟飞阳
发布于 2017/04/07 17:47
字数 1037
阅读 28
收藏 1

话说LoadRunner有的一些功能,比如:参数化、检查点、集合点、关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下。

JMeter的关联方法有两种:后置处理器-正则表达式提取器与XPath Extractor。

一、正则表达式提取器

1、添加正则表达式

在需要获得数据的上一个请求上右击添加一个后置处理器-->正则表达式提取器

解释

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

(2)正则表达式

    ()括起来的部分就是要提取的。

    .匹配任何字符串。

    +:一次或多次。

    ?:不要太贪婪,在找到第一个匹配项后停止。

注:(.+?)[.\n]+可以匹配换行符在内的所有字符。

(3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组。

(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。

2、关于正则表达式的举例说明

(1)提取单个字符串:

假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。

一个符合要求的正则表达式:name = "file" value = "(.+?)">。

():封装了待返回的匹配字符串。

.:匹配任何字符串。

+:一次或多次。

?:不要太贪婪,在找到第一个匹配项后停止。

 

(2)提取多个字符串:

假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取file和readme.txt。

一个符合要求的正则表达式:name = "(.+?)" value = "(.+?)"。

引用名称:MYREF

模板:$1$$2$

 

如下变量的值将会被设定:

MYREF_g0:name = "file"value = "readme.txt"

MYREF_g1:file

MYREF_g2:readme.txt

引用${MYREF_g1}

 

3、使用该关联的请求

如下图:

4、完整的例子事例代码

二、XPath Extractor

XPath Extractor是另一个可被用来提取页面给定内容的Post Processor,XPath Extractor的使用方式与Regular Expression Extractor类似,只不过需要在该Extractor中指定的不是正则表达式,而是给定的XPath路径。

用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。

Xpath一般用于返回xml用得多。

XPath Extractor的设置界面:

l  Use Tidy?:当需要处理的页面是HTML格式时,必须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。

l  Reference Name:存放提取出的值的参数。

l  XPath Query:用于提取值的XPath表达式。

l  Default Value:参数的默认值。

 

三、小结这两种方式

正则表达式提取器和XPath Extractor都可以用来提取给定页面中的特定文本,并将其保存在参数中,这两种方式各有优缺点。

正则表达式提取器可以用于对页面任何文本的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配;

而XPath Extractor则可以提取返回页面任意元素的任意属性。

相比较而言,

如果需要提取的文本是页面上某元素的属性值,建议使用XPath Extractor;

而如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。

本文转载自:http://www.cnblogs.com/yangxia-test/p/4095177.html

共有 人打赏支持
孟飞阳
粉丝 206
博文 969
码字总数 544135
作品 5
朝阳
个人站长
私信 提问
JMeter学习-002-JMeter环境配置

本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一、JDK配置 默认用户本地已经安装且配置好 JDK。若未配置,进行 JDK 环境安装配置。 二、下载JMe...

拎壶冲冲冲
05/29
0
0
五.jmeter代码学习(2)

使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/downloadjmeter.cgi 2.启动jmeter 运行bin/jmeter.bat 3.添加线程组 在TestPlan节点上右键,Add-->Threads(Users)-->......

木子木
2014/03/24
0
1
jmeter+ant+jenkins

1,下载jenkins 2,修改jenkins.xml配置文件的端口,防止端口冲突(默认8080) 3,重启Jenkins服务器 4,下载ant 5,配置ant环境变量 6,录制jmeter脚本(脚本的录制可以使用badboy) 7,复制...

gool_hard
06/26
0
0
Jenkins中集成jmeter-maven插件

第一步.先在maven工程中单独使用jmeter-maven插件 0.环境 Windows7 64bit SUN JDK 1.7 64bit eclipse v3.7 m2e v1.0.100.20110804-1717 eclipse中外挂maven 3.02 注意: 由于jmeter-maven插件......

miscellanea
2013/10/15
0
1
性能测试day05_Jmeter学习

  今天来学习下jmeter这个性能测试工具,虽然说性能测试最主要的是整个性能的思路,但是也少不了工具的帮忙,从以前主流的LR到jmeter的兴起,不过对于性能测试来说,个人感觉jmeter比较适合...

~泪小白~
08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

十月开源项目推荐:专为 Python 初学者准备的 IDE 你用过吗?

每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品...

编辑部的故事
12分钟前
6
0
Java/Android 获取文件夹的文件列表(file.listFiles())并按名称排序,中文优先

排序规则 因为是中国人,习惯性看中文文件夹放前面比较顺眼,所以在别人博客(https://blog.csdn.net/da_caoyuan/article/details/56664673)的基础上,加上了自己的排序规则。 默认排序规则...

她叫我小渝
13分钟前
0
0
RabbitMQ通过shovel插件迁移数据

前言 生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商、不同Region之间数据迁移、新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例。 前提条件: 源RabbitMQ实例打开了s...

中间件小哥
16分钟前
0
0
kubernetes 环境搭建

kubernetes 简介:Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful)。 点击此处查看官网详情。...

MrPei
30分钟前
1
0
关于scala macro的example

http://www.bbartosz.com/blog/2016/09/24/fun-with-scalameta-examples-part1/

Littlebox
32分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部