发布新日志

  • jmeter beashell调用java文件/class文件/jar包方法

    2022-04-16 11:55:53

    前提:
    elipse中的java建立一个项目,项目结构包括: 包名:com.test, 其中有一个java文件 beanShellPractice.java,  java文件中有一个方法:calSquare

    代码如下:
    package com.test;
    public class beanShellPractice {
    public  int calSquare(int i) {
    int b;
    b = i * i;
    return b;
    }
    public static void main(String[] args) {
    beanShellPractice beanShellPractice = new beanShellPractice();
             System.out.println(beanShellPractice.calSquare(20));
           }
    }


    1. jmeter中如何调用jar包
       1)elipse中打包,下一步,下一步即可。
       2)jmeter test plan首页,指定此jar的位置
       3)beanshell中的代码如下:
        import com.test.*;--- 引包,下面操作和java中调用某个方法完全一致

    int x;
    String y;
    beanShellPractice beanShellPractice = new beanShellPractice();
    x = beanShellPractice.calSquare(12);
    y = String.valueOf(x);
    System.out.println(y);
    log.info("y="+y);

    2. jmeter中如何调用java文件
        只需要将调用jar包中的第一行,import com.test.* 替换为   source("C:/Mywork/100_ScrpitDev/EclipseWorkSpace/beanShell/src/com/test/beanShellPractice.java");  用于指定java文件的位置

       其他后续代码, 和调用jar包的完全相同

    3. jmeter中如何调用class文件
       在调用jar包方法中的第一行前面,再添加一行,addClassPath("C:/Mywork/100_ScrpitDev/EclipseWorkSpace/beanShell/bin/com/test/beanShellPractice.class");  用于指定class文件的位置,

       其他后续代码, 和调用jar包的完全相同
     


  • Jmeter post请求将整个请求报文,以文件的方式传入

    2020-02-07 20:52:42

    背景,
    在Jmeter的post请求,一般是放在jmeter的body data中的。 jmeter提供了,可以将整个body中的内容,作为一个文件传给http request。

    代码如下:
    ${__FileToString(${path}\data/${fileName})}

    其中:
    ${path}变量是获取系统的当前工作目录,利用如下的函数可以获得系统的当前工作目录
    ${__BeanShell(import org.apache.jmeter.services.FileServer;FileServer.getFileServer().getBaseDir();)}

    实际Jmeter中的截图如下:
  • Jmeter beanshell追加写文件和覆盖写文件方法

    2020-02-07 20:48:25

    追加写文件代码:
    import org.apache.jmeter.services.FileServer;

    // Get the variable(s) from the JMeter script
    caseid =vars.get("caseid");


    // Open File(s)
    f = new FileOutputStream(FileServer.getFileServer().getBaseDir()+"\\output\\output.csv", true); 
    p = new PrintStream(f); 

    // Write data to file 
    p.println(caseid);

    // Close File(s)
    p.close();
    f.close();

    覆盖写文件代码:
    import org.apache.jmeter.services.FileServer;

    // Get the variable(s) from the JMeter script
    caseid =vars.get("caseid");


    // Open File(s)
    f = new FileWriter(FileServer.getFileServer().getBaseDir()+"\\output\\output.csv", true); 

    // Write data to file 
    f.write(caseid);

    // Close File(s)
    f.close();

  • Jmeter-Http request中发送大量参数的方法

    2020-02-07 19:19:21

    背景:
    我们在使用Jmeter发送HTTP请求时,有时候需要在“参数”tab中传入多个变量以及值。如下图是真实的项目案例,参数达到220多个,一个一个复制粘贴,非常的费时费力。



    那如何解决这个问题呢?

    强大的Jmeter在上面截图的下方,有个“add from clipboard”按钮,点击这个按钮可以帮忙一次性将220个变量以及对应的值添加进入参数列表。
    操作步骤如下:
    1)将需要填入的变量以及变量值,修改为如下的形式:
    username=baokey
    password=pwd@123
    userage=12
    usersalary=23

    备注:变量与变量值之间用“=“连接。
    2)拷贝步骤1)中的变量以及变量值
    3)点击jmeter中的“add from clipboard”按钮,步骤1)中准备的变量以及变量值,就会被自动拷贝进入jmeter的参数列表。


  • Jmeter调用web service接口

    2018-09-30 10:36:48


    有两种方式:

    第一种: SOAP/XML-RPC Request
    Jmeter中的设置如附件1所示
    附件1中的Soap Action从哪里来的,见附件2。 即:将链接打在浏览中按回车后,在浏览器中查找Soap Action后所得。

    第二种:Http Request
    见附件3的详细描述
Open Toolbar