zoukankan      html  css  js  c++  java
  • Jmeter(三十九)_Beanshell脚本断言Mock接口

    我们在做接口断言的时候,如果遇到复杂的json,可以考虑用beanshell脚本去解析list,同时加入自定义的断言

    Mock例:https://www.easy-mock.com/mock/5cb46739edfdac7de69fe792/example/provider

    如图所示,我们在json返回中有name和remark字段,希望断言remark和name的返回值。如果断言失败,抛出自定义的异常信息

    我们在mock接口下添加一个后置处理器的beanshell

    beanshell中写断言脚本

    import org.apache.jmeter.assertions; 
    import org.apache.jmeter.samplers.SampleResult; 
    import org.apache.jmeter.assertions.AssertionResult; 
    import org.json.*;
    String response_data = prev.getResponseDataAsString();
    JSONObject data_obj = new JSONObject(response_data);
    log.info(response_data);
    String code = data_obj.get("remark"); 
    log.info(code);
    if(code.equals("接口测试服务商")) 
    { 
    String user_name = data_obj.get("dockedContact").get("name").toString(); 
    if(user_name.equals("zhufc")){ 
    Failure = true; 
    log.info(user_name);
    log.info("提取值与预期相符,断言通过");
    FailureMessage = "断言通过";
    } 
    else{ 
    Failure = false;
    log.info("名称不同,断言失败");
    FailureMessage = "断言失败";
    prev.setStopThread(true);
    } 
    }

    日志等级调整为info

     

    启动脚本,打开log,查看结果

  • 相关阅读:
    [LeetCode] 374. Guess Number Higher or Lower
    [LeetCode] 35. Search Insert Position
    [LeetCode] 205. Isomorphic Strings
    [LeetCode] 87. Scramble String
    [LeetCode] 274. H-Index
    [LeetCode] 507. Perfect Number
    [LeetCode] 88. Merge Sorted Array
    [LeetCode] 283. Move Zeroes
    [LeetCode] 287. Find the Duplicate Number
    [LeetCode] 204. Count Primes
  • 原文地址:https://www.cnblogs.com/Zfc-Cjk/p/10738433.html
Copyright © 2011-2022 走看看