JMeter Logo

Jmeter 断言字符串长度

原创 2018年 10月 8日
标签: JMETER
本文发布至今已有6年零43天,可能不再适用,请谨慎对待。

先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章

公众号:晚花行乐

正文开始:

Jmeter 的断言(Assertion)用来判定系统响应的某些指标,比如响应长度、响应时间是否满足条件,Jmeter 提供了内置的断言类型,分别是 Size Assertion 和 Duration Assertion. 然而,更复杂的断言逻辑,比如判定某个字符串的长度,Jmeter 目前没有预先提供,这就需要更灵活的 JSR223 Assertion 组件。

期望目标

本文的期望目标是,断定一个名叫 Test_String 的字符串长度等于 10。

实现方法

使用 JSR223 Assertion 组件,并且 Script Language 一栏,选择 Groovy 语言

在组件的文本输入框中填入如下代码:

def test_string;
def failureMessage="";
def expectedLength=10;

test_string = vars.get("Test_String");
if (test_string.length() == expectedLength){
    AssertionResult.setFailure(false); 
}else{
    AssertionResult.setFailure(true);
    failureMessage += "Length of Test_String is expected as "+ expectedLength;
    failureMessage += ", but is " + test_string.length();
    AssertionResult.setFailureMessage(failureMessage);
}

实现原理

JSR223 Assertion 预先初始化了 AssertionResult 对象,可以用来控制断言结果。如果满足失败条件,脚本需要做两件事:

AssertionResult.setFailureMessage("错误消息")

AssertionResult.setFailure(true);

如果您对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: JMETER
给个免费的赞吧~

精彩评论

本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/jmeter-assert-string-length/ ,且不得用于商业用途。