Jmeter bsf处理器(复杂逻辑的测试脚本)

什么是bsf,  Bean Scripting Framework(BSF)是一个支持在Java应用程序内调用脚本语言 (Script),而且支持脚本语言直接访问Java对象和方法的一个开源项目。 jmeter 使用bsf处理器, 无非就是能够编写本身的script脚本代码, 来实现更强大的测试脚本。javascript

下面这个例子告诉你,何时必须使用jmeter的bsf处理器, 何时使用正则表达式提取器就足够了。(如下例子均为假设,并不真实存在)html

须要使用bsf的例子 使用正则表达式提取器便可的例子
   

2. 返回了一个json(协议)字符串 其中包含了一个key为java

passwd, 他的值为mypasswd. 正则表达式

 

2. 返回了一个html页面包含以下一个连接json

 

咱们想找到 http://blog.whoistester.com  这个字符串测试

并赋予到变量${url} 加密

 

3.  将mypasswd 这个值抓取到,并赋给${mypasswd}url

 

3. 直接利用征则表达提取器提取到xml

字符串并赋予给${url}变量htm

4. 对${mypasswd}的值进行md5加密,

并md5加密后的字符串赋到 ${md5mypasswd}

 
5. 而后使用${md5mypasswd}进行下一步的操做   如何使用正则表达式提取,请浏览

经过例子对比, bsf能够经过编写咱们本身的脚本,进行更复杂的逻辑处理。 一般jmeter本身提供的方法没法知足咱们的需求时,咱们则须要用bsf本身编写脚本,来实现本身的复杂处理逻辑. 

bsf 有前置与后置处理器。后置处理器,经过  prev.getResponseDataAsString()能够得到该sample请求的返回数据。 咱们将返回的数据获得咱们想要的数据,而后能够进行逻辑运算处理。

而后经过 vars.put("key", value); 放入到jmeter的变量里。 

这样咱们在后面的sample或者其余类型的处理器里,就可使用$key 这个变量了。  

额外说的是, 尽可能不要使用javascript的正则表达式去解析html,xml。 这是痛苦的一件事情,但若是你须要获取少许的数据, 固然你可使用正则表达式的方法。 一个最好的办法是, 服务端尽可能返回json格式。 

相关文章
相关标签/搜索