Jmeter4.0之beanshell引用外部jar

beanshell练习 ---导入外部jar包

步骤:

1.Eclipse下准备好测试类 ,如下

package test;
public class TestBeanShell { 
 public static String testHello(String username, String password) {
  if (!username.equals("clover")) {
   return "用户名错误";
  } else if (!password.equals("456")) {
   return "密码错误";
  } else {
   return "恭喜你,登陆成功!";
  } 
 }
}

2.导出jar包,右键-export-JAR-test.jar

===================================================Jmeter 相关===============================================================================

3.将导出的jar包放在jmeter的lib\ext下:  E:\WorkSpace\Jmeter\apache-jmeter-4.0\lib\ext

 4.打开jmeter,在测试计划里边引入test.jar,同时并新增用户自定义的变量,beanshell sample,查看结果数

扫描二维码关注公众号,回复: 7234135 查看本文章

5.定义用户定义的变量   定义user  passwd

6.线程组-右键添加-beanshell  sample 

7.编写beanshell 代码 获取用户名和密码,并传递给提前封装好的类,并返回登录后的结果

import test.*;
//静态方法打点调用 不需要实例化 
// 注意分号 注意分号 注意分号
 a = vars.get("user");
 b = vars.get("pass");
String c = TestBeanShell.testHello(a,b);
log.info(c);

 8.运行成功                         

总结及与遇到的问题

1.beanshell  中写的代码 没加分号;  导致一直报错=============对JAVA语法不熟

2.beanshell  常用功能

  • vars.get("user")    获取变量值  如上面的用户定义的变量 user  ,想要得到user 对应的值clover ,就这样使用:vars.get("user") 结果是clover
  • vars.put("v1","${user}")  ${user}  的结果是clover , 这句话就是将clover赋给v1  即 v1="clover"
  • log.info("==========") 打印日志

3.以下三种种方式都可以取到用户名和密码的值

//String result = TestBeanShell.testHello("${user}", "${pass}");
//vars.put("v1",bsh.args[0])    vars.put("v1",bsh.args[1]);   在beanshhell 定义变量的时候要用空格隔开 ${user} ${pass}  空格隔开空格隔开空格隔开
//vars.ger("user") vars.get("pass")

4.进阶版

import test.*
vars.put("v1","${user}"); vars.put("v2","${pass}"); vars.put("v3",Parameters); String result = TestBeanShell.testHello(vars.get("v1"), vars.get("v2")); log.info(result); String name = vars.get("v1"); String pass = vars.get("v2"); String params = vars.get("v3"); log.info("输入用户名=" + name); log.info("输入密码=" + pass); log.info("params=" + params); //log.info("bsh.args="+ Arrays.toString(bsh.args)); int bshArgs = bsh.args.length; log.info("bsh.args数组长度="+Integer.toString(bshArgs)); for(int i = 0 ; i< bshArgs ; i++){ log.info("bsh.args第"+i+"个元素=" + bsh.args[i]); }

5.多实践多实践多实践!!!

猜你喜欢

转载自www.cnblogs.com/eosclover/p/11489031.html