zoukankan      html  css  js  c++  java
  • 在Idea中编写Jmeter JSR223脚本(Groovy)

    1、在Idea中创建gradle项目

    2、在gradle.build文件中添加Jmeter相关依赖(以下是整个文件内容)

    plugins {
        id 'groovy'
        id 'java'
    }
    
    group 'org.example'
    version '1.0-SNAPSHOT'
    
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        mavenCentral()
    }
    
    def jmeterVersion = "5.3"
    def withoutBom = {
        exclude group: 'org.apache.jmeter', module: 'bom'
    }
    
    dependencies {
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_core', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_components', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_java', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_jdbc', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_http', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_junit', version: "${jmeterVersion}", withoutBom
        compile group: 'org.apache.jmeter', name: 'ApacheJMeter_native', version: "${jmeterVersion}", withoutBom
        compile 'org.codehaus.groovy:groovy-all:3.0.3'
        testCompile group: 'junit', name: 'junit', version: '4.12'
    }
    
    

    3、加载gradle配置

    4、在groovy文件中编写脚本

    5、附上JSR223脚本变量的来源

    import org.apache.jmeter.assertions.AssertionResult
    import org.apache.jmeter.protocol.http.control.Cookie
    import org.apache.jmeter.protocol.http.sampler.HTTPSampleResult
    import org.apache.jmeter.protocol.http.sampler.HTTPSampler
    import org.apache.jmeter.threads.JMeterContext
    import org.apache.jmeter.threads.JMeterVariables
    import org.slf4j.Logger
    import org.slf4j.LoggerFactory
    //API文档
    //https://jmeter.apache.org/api/org/apache/jmeter/samplers/Sampler.html
    //https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html
    //https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html
    //https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
    //https://jmeter.apache.org/api/org/apache/jmeter/assertions/AssertionResult.html
    
    def sampler = new HTTPSampler() /*Jmeter sampler*/
    Logger log = LoggerFactory.getLogger("demo");   /*日志*/
    def ctx = new JMeterContext()   /*非线程安全,仅适用于单线程*/
    def vars = new JMeterVariables() /*vars*/
    def props = new Properties()    /*props*/
    def Label = "当前sampler名字"
    def FileName = "当前脚本名字(如有)"
    def SampleResult = new HTTPSampleResult()   /*SampleResult,出现于sampler*/
    def prev  = new HTTPSampleResult() /*上一个SampleResult,出现于后置处理器*/
    def OUT = System.out
    def Parameters,args = "将参数传递给脚本中的参数";
    def AssertionResult  = new AssertionResult("demo")  /*断言*/
    
    def manager = sampler.getCookieManager()
    def cookie = new Cookie("CookieName", "value", "demo.com", "/", false, 1617835225)
    manager.add(cookie);
    def cookieInManager = manager.get(0)
    log.info(cookieInManager.getName())
    log.info(cookieInManager.getValue())
    
  • 相关阅读:
    用迭代法求x=a−−√。求平方根的迭代公式为 xn+1 = 12(xn + axn) 要求前后两次求出的x的差的绝对值小于10−5
    C 数组
    fofa自动化爬虫脚本更新+详解
    c# winfrom接收http协议body数据
    FLW要求
    modbus工具问题
    2020年总结
    WIFI K型热电偶传感器
    泛海三江烟感JTY-GD-H361 V2.7
    工位终端
  • 原文地址:https://www.cnblogs.com/testopsfeng/p/14630477.html
Copyright © 2011-2022 走看看