标签: beanshell

如何在JMeter中将变量从一个线程组传递到另一个线程组

我有一个带有2个线程组的JMeter测试 - 第一个是单个线程(创建一些库存),第二个有多个线程(购买所有库存).我使用BeanShell Assertions和XPath Extractors来解析返回的值(即XML)并存储变量(例如要购买的项目的ID).

但是,在第一个线程组中创建的值,无论是提取到标准${jmeter}类型变量还是${__BeanShell(vars.get("jmeter"))}类型变量,都不能在第二个线程组中使用.无论如何在第一个Thread Group中创建一个变量并使其对第二个可见?

java testing jmeter beanshell

51
推荐指数
5
解决办法
7万
查看次数

JMeter的.BeanShell PostProcessor

我在jmeter中经历了bean shell脚本,但是我没有找到任何这样的例子,它在jmeter中是如何有用的,以及哪种方式.读取采样器值等等.任何人都可以用例子解释Jmeter中的bean shell脚本.我们编写脚本的beanshell post/pre processor脚本.我正在努力解决这个问题的实际用途.请解释一下.对我或其他人来说,理解它的用法对我有很大的帮助.

jmeter beanshell

19
推荐指数
2
解决办法
6万
查看次数

JMeter/Beanshell"调用bsh方法时出错:eval源文件:"

我在JMeter中遇到问题,我收到此错误

2014/08/14 14:13:26 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration 
2014/08/14 14:13:26 WARN  - jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval   Sourced file: inline evaluation of: ``String RequestUrl = vars.get("RequestUrl"); String[] params = RequestUrl.split(" . . . '' : Typed variable declaration 
Run Code Online (Sandbox Code Playgroud)

我不知道什么是错的,否则代码似乎工作正常.谁能给我一些建议?

这是有问题的代码块:

String RequestUrl = vars.get("RequestUrl");
String[] params = RequestUrl.split("\\?");
String RequestTask …
Run Code Online (Sandbox Code Playgroud)

jmeter beanshell

11
推荐指数
1
解决办法
3万
查看次数

如何集成beanshell

我正在使用java开发基于组件的游戏引擎,现在当我对组件进行更改时需要重建并重新启动编辑器以使更改生效(或者如果应用程序运行,我可以使用一些有限的热代码注入调试模式).

我正在寻找一种方法,允许用户修改组件的源并重新加载它们,而无需重新启动应用程序(可能只是退出并进入游戏模式).我需要的一个重要特性是最终导出的代码应该是本机Java代码(因此最终结果中不应使用解释器)).

你能给我一些关于如何在项目中集成beanshell解释器的指针吗?我可以手动监视源文件夹中的更改并将更新的java类提供给它,但是如何真正发生热插拔?

java beanshell

10
推荐指数
1
解决办法
330
查看次数

使用Beanshell的Java可以使用干净的代码访问字段和对象

1).我知道如何从我的问题访问beanshell中的java字段和对象使用beanshell中的java类字段.但是,实现起来并不是那么干净,因为我需要先在beanshell中设置java变量,然后才能使用它.但是,在Jmeter中,它提供了非常干净的方式在beanshell中使用map,就像在java中一样,但是JMeter开发了它的知道库(类),它有助于访问map的get/put方法.我想以类似的方式在beanshell中访问Map.

我已经检查了JMeter以获取更多信息,我想知道,我已经创建了用户定义变量temp和赋值错误,现在在BSF过程中我只写了一行vars.put('Name','temp Value')并且它已更新临时变量的值.所以,问题是我还没有创建JMeterVariables对象变量,但仍然beanhell允许更新map中的值而不设置你的答案中提到的任何值.我想知道这是如何工作的,需要更深入的信息.

2).我在java和beanshell中创建了自己的类我正在导入这个类,但Command not found: BSClass()下面给出的是整个代码

Java类

package test;

public class BSClass {

public void BSCMethod(){
    System.out.println("I am from BSClass method BSCMethod");
    }
}
Run Code Online (Sandbox Code Playgroud)

sample.bsh

import test.BSClass;

c=BSClass();
c.BSCMethod();
print("I am from BeanShell Script");
Run Code Online (Sandbox Code Playgroud)

调用sample.bsh文件java类

package test;

import java.io.FileNotFoundException;
import java.io.IOException;
import bsh.*;

public class DynamicVariable {
   public static void main(String[] args) throws FileNotFoundException, IOException, EvalError {
    new bsh.Interpreter().source("\\src\\test\\sample.bsh");
   }
}
Run Code Online (Sandbox Code Playgroud)

注意:

  1. 我在JMeter中不需要帮助,它在核心java和beanshell中使用.
  2. 所有文件都在我的项目中.
  3. BSClass.class位于我项目的bin文件夹下

我很感激您的意见

java beanshell

10
推荐指数
1
解决办法
927
查看次数

Ant中的Beanshell屈服,"无法为beanshell创建javax脚本引擎"

问候,我正在尝试将一些Beanshell脚本放在我的Ant build.xml文件中.我一直遵循Ant手册,但是当我运行Ant时,我一直得到"无法为beanshell创建javax脚本引擎".以下是我主要从Ant手册中的示例编写的测试目标:

<target name="test-target">
    <script language="beanshell" setbeans="true">
        <classpath>
            <fileset dir="c:\TEMP" includes="*.jar" />
        </classpath>
        System.out.println("Hello world");
    </script>
</target>
Run Code Online (Sandbox Code Playgroud)

我的beanshell"bsh-2.0b4.jar"文件在手册推荐的方式上位于脚本任务的类路径中.希望我有正确的文件.我现在正在c:\ TEMP工作.我一直在谷歌搜索并尝试一段时间.任何想法将不胜感激.谢谢.

java ant beanshell

9
推荐指数
1
解决办法
1万
查看次数

是否可以使用jmeter来测试grpc

想知道是否有人尝试过使用 jmeter 来测试 gRPC 应用程序。

我本来希望

  • 我可以编写一个带有非阻塞/异步存根的 gRPC 客户端类,该存根可以对服务器进行非阻塞调用,
  • 创建上述客户端的Jar
  • 将 Jar 导入到 JMeter
  • 在Jmeter BeanShell采样器中使用Java方法

在投入时间尝试上述方法之前,我想看看是否有人尝试过类似的方法

  • 如果以上解决方法有效?
  • 每个线程都会创建一个单独的 TCP 连接吗?

我们已经尝试使用 python 客户端和 locust.io 进行负载测试,但是 python gRPC 与 gevent 不兼容,即使使用异步调用(例如 Stub.GetFeature.future),我们也会达到每个进程每秒请求的限制(异步调用不会似乎是异步的,GIL瓶颈,一旦TCP流)

解决方案:看看https://github.com/whatalokation/whatalokation-grpc-client Readme.md 应该是不言自明的

jmeter beanshell grpc grpc-java

8
推荐指数
1
解决办法
1万
查看次数

在BeanShell中定义一个列表(jmeter)

任何人都可以帮助使用BeanShell脚本吗?所以,我正在尝试在我的代码示例中使用List,但是,我无法正确定义列表.来自BeanShell PostProcessor采样器的代码如下:

import java.io.*;
import java.util.*;
import org.json.*;
import org.apache.jmeter.samplers.SampleResult;


    if ((prev.getResponseCode() != null) && (prev.getResponseCode().equals("200") == true)) {
        JSONObject response = new JSONObject(prev.getResponseDataAsString());
        JSONArray array = response.getJSONArray("users");
        List<String> users_list = new ArrayList<String>();
        for(int i = 0; i < array.length(); i++)  {
            JSONObject object = array.getJSONObject(i);
            users_list.add(object.getString("user_id"));
            print(users_list);
      }
    }

jmeter.extractor.BeanShellPostProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval   In file: inline evaluation of: ``import java.io.*; import java.util.*; import org.json.*; import org.apache.jmete . . . '' Encountered "=" …
Run Code Online (Sandbox Code Playgroud)

java jmeter beanshell

7
推荐指数
2
解决办法
7138
查看次数

JMeter - 在类'java.nio.file.Paths'中找不到静态方法get(java.lang.String)

我正在尝试创建JMeter负载测试.我需要测试来获取示例日志文件并更改其名称.我能找到的唯一方法是在BeanShell预处理器中复制文件,但是我收到以下错误:

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: evalSourced file: inline evaluation of: ``import java.nio.file.StandardCopyOption; import java.io.IOException; import java . . . '' : Typed variable declaration : Error in method invocation: Static method get( java.lang.String ) not found in class'java.nio.file.Paths'
Run Code Online (Sandbox Code Playgroud)

我使用的代码如下:

import java.nio.file.StandardCopyOption;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

Path source = Paths.get(vars.get("filename");

String filename = "/Users/GX1/Desktop/jmeter/tmp/Device_"+vars.get("global_counter")+"_upload_"+vars.get("file_counter")+".csv.gz";

Path target = Paths.get(filename);
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
vars.put("filename", filename);
Run Code Online (Sandbox Code Playgroud)

filename,global_counter和file_counter是jmeter变量.

有谁知道我为什么会收到这个错误?beanshell预处理器不能像我尝试使用它那样工作吗?

java jmeter beanshell java.nio.file

6
推荐指数
1
解决办法
3522
查看次数

如何在jmeter中获取bean shell脚本的完整日志

我正在使用Apache JMeter 3.1,在我的测试套件中,我有一个BeanShell PreProcessor.当我运行Log Viewer脚本时,我可以看到bean shell脚本中存在错误.但错误信息非常有限,我怎样才能得到完整的错误?

例如,我在中看到的错误Log Viewer如下,

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``// Following is a sample for input // "abc.org/def/xyz . . . ''

有没有办法可以检索完整的错误?

logging jmeter beanshell

6
推荐指数
1
解决办法
4265
查看次数

标签 统计

beanshell ×10

jmeter ×7

java ×6

ant ×1

grpc ×1

grpc-java ×1

java.nio.file ×1

logging ×1

testing ×1