zoukankan      html  css  js  c++  java
  • jmeter进阶之Beanshell引用Java代码

    在Jmeter实际的使用中,根据业务往往需要构造一些数据源,比如虚拟用户的账号信息等,为了快速灵活,较好的方式往往是通过代码来辅助生产数据。
    故在Jmeter支持的众多 sampler 或 前/后置处理器 中,一般借助 Beanshell(推荐) 或 JSR223 等来实现。(源码示例为随机生成中国地区的手机号)


    对于 Beanshell,一般调用 Java 源码的方式有三种:

    • 通过 beanshell sampler or PreProcesser or PostProcesser 直接进行 Java 编码
    • 通过 beanshell sampler or PreProcesser or PostProcesser 引入本地 Java 源码文件
    • 通过导入的 jar 包,在beanshell sampler or PreProcesser or PostProcesser 中进行源码的调用(推荐)

    方法一:通过 beanshell sampler 直接进行 Java 编码

    方法二:通过 beanshell 引入本地 Java 源码文件

    如图示,先将源代码存放在本地的目录,然后通过 beanshell 的关键字加载之。

    #加载源码文件
    source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");
    #调用源码程序(略)
    #使用 beanshell 存/取 变量
    vars.put();
    vars.get();
    

    方法三:通过导入的 jar 包,在beanshell sampler中进行源码的调用

    Demo如图示:

    具体步骤参考:

    1. 先通过 jdk 的命令或者借助 IDE 编译器的功能,生成 jar 包(一般不需要生成可执行 jar 包)

    2. 将 jar 包放入 jmeter 的目录,并修改 jmeter.properties 文件(自行度娘)

    3. 启动 jmeter,在测试计划中,导入 jar 路径(该步骤可能不需要,可测试确认)

    4. 创建 beanshell 组件,按需引用源码(需要注意源码的 package 路径,图示为源码在 package 名称为 utils,类文件名称为 PhoneNoGenerateUtil)

    5. 在 Beanshell 中调用 所引用 jar包的代码(见 demo)

  • 相关阅读:
    Docker 实战(2)- 在 Jenkins 容器上的搭建持续集成环境和完成自动化测试
    Docker
    Jenkins(9)- 汉化 Jenkins 网站
    Docker 实战(1)- 使用 Jenkins 镜像创建容器,并搭建 Python + Pytest +Allure 的自动化测试环境
    Python
    Docker
    Linux
    Docker(20)- docker rmi 命令详解
    Docker(19)- docker pause/unpause 命令详解
    Docker(18)- docker kill 命令详解
  • 原文地址:https://www.cnblogs.com/hailongchen/p/9414813.html
Copyright © 2011-2022 走看看