• jmeter之导入jar包


    使用场景:当用jmeter发请求的时候,请求头里面需要添加sign签名,sign签名的生成规则一般都是通过请求参数拼接加密得到的,这时候我们就需要自己写个sign签名的方法,导成jar包在jmeter中去引用。

    (在网上看到说使用jmeter自带的函数助手也能实现该功能,但是我试了下好像不行,不知道是不是哪里弄错了。。)

    一、准备好jar包

    (前提是自己电脑上已经装好Java环境了哦~)

    1、在idea中新建一个Maven项目,就写一个自己测试的类吧

    刚开始的目录结构如下所示

    Hello类是我写的一个用来生成sign签名的类,Test类是为了测试Hello类中的方法是否可以被调用调通。

     2、将写好的类导出jar包

    在idea中,点击 File -> Project Structure

    在project structure中选择 Artifacts-> +号 -> JAR -> From modules with dependencies...

     然后选择程序执行的入口(这边我选择的时Hello类,前提是Hello类中要有main方法。试了下如果选择的是别的有main方法的类导出的jar包执行时会报错,不知道为什么?)

    我的配置如下的第二张和第三张图片所示:

     

     

     点击apply->ok

    点击 Build -> Build Artifacts

     点击...jar -> Build

     至此,jar包就打包好了,然后cmd进入到jar包所在目录验证jar包是否能够正确运行。

    java -jar test-code.jar 下图中看到正常执行,说明导出的jar包是正确的

     二、jmeter中导入jar包并使用

    因为我的接口请求头需要用到sign签名,所以我这边使用的是Beanshell预处理程序

    (在发送请求前通过这个预处理程序生成sign签名等其他的需要的参数,个人理解是预处理程序就相当于Java写接口测试的前置操作)

    1、将第一部分生成的jar包导入到jmeter目录apache-jmeter-5.0libext下

    2、打开jmeter,添加一个线程组,在线程组下添加一个BeanShell PreProcessor和一个http取样器

    3、在beanshell PreProcessor中导入我们的jar包,调用里面的生成sign方法,把结果保存在jmeter变量中,下面两个方法是beanshell中我们最常用到的:

    • vars.get(String paramStr):获得变量值
    • vars.put(String key,String value):,将数据存到jmeter变量中

    上图中的3个变量,在http信息头管理中有调用,如下:

     请求头中调用结果如下:

    说明调用成功~

    ****** 这个例子是使用Beanshell PreProcessor的,使用Beanshell Sampler是一样的结果,都是可以成功的。(感兴趣自己可以试一下)

    三、什么是Beanshell?

    • BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;
    • BeanShell是一种松散类型的脚本语言(这点和JS类似);
    • BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。
    • BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。

    更多功能可以去官网查看,官网:http://www.BeanShell.org/

  • 相关阅读:
    leetcode101
    leetcode345
    leetcode27
    leetcode342
    leetcode198
    2019-7-29-NetBIOS-计算机名称命名限制
    2019-7-29-NetBIOS-计算机名称命名限制
    2018-5-28-win10-uwp-动态修改ListView元素布局
    2018-5-28-win10-uwp-动态修改ListView元素布局
    2018-11-19-win10-uwp-使用-Matrix3DProjection-进行-3d-投影
  • 原文地址:https://www.cnblogs.com/wulixia/p/13419583.html
Copyright © 2020-2023  润新知