[英]How to generate timeuuid in Jmeter beanshell processor?
I would like to know a way to dynamically generate timeUUID
via pre-processor or post-processor beanshell in Jmeter for dynamic load testing to better fit real life scenario. 我想知道一种通过timeUUID
预处理器或后处理器beanshell动态生成timeUUID
的方法,以进行动态负载测试,以更好地适应现实生活中的情况。 I have tried to add datastax cassandra driver in /lib
folder, but it seems to complain about missing com.google.common.base.charsets
dependencies. 我试图在/lib
文件夹中添加datastax cassandra驱动程序,但似乎抱怨缺少com.google.common.base.charsets
依赖项。 It is probably not a standalone cassandra driver. 它可能不是独立的cassandra驱动程序。 Any suggestion for a library that can generate timeUUID would be appreciated. 对于可以生成timeUUID的库的任何建议将不胜感激。
Looking into Maven Central Cassandra JDBC Driver has some dependencies which you need to have in JMeter's CLASSPATH as well. 研究Maven Central Cassandra JDBC驱动程序还具有一些依赖关系,您还需要在JMeter的CLASSPATH中具有这些依赖关系。
Example steps (assume Apache Maven ) 示例步骤(假设Apache Maven )
Create pom.xml
file in that folder with the following contents: 在该文件夹中创建具有以下内容的pom.xml
文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>gd.wa</groupId> <artifactId>minimal-pom</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>minimal-pom</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>2.1.10.1</version> </dependency> </dependencies> </project>
Replace 2.1.10.
替换2.1.10.
with the version of your Cassandra server 与您的Cassandra服务器的版本
In the folder created in step 1 execute the following command: 在步骤1中创建的文件夹中,执行以下命令:
mvn dependency:copy-dependencies
Copy all the .jar files from target/dependency
folder to JMeter's CLASSPATH (ie to "lib" folder of your JMeter installation). 将所有.jar文件从target/dependency
文件夹复制到JMeter的CLASSPATH(即,复制到JMeter安装的“ lib”文件夹)。 My list looks like: 我的清单如下:
asm-5.0.3.jar asm-analysis-5.0.3.jar asm-commons-5.0.3.jar asm-tree-5.0.3.jar asm-util-5.0.3.jar cassandra-driver-core-2.1.10.1.jar guava-14.0.1.jar jffi-1.2.10-native.jar jffi-1.2.10.jar jnr-constants-0.9.0.jar jnr-ffi-2.0.7.jar jnr-posix-3.0.27.jar jnr-x86asm-1.0.2.jar metrics-core-3.0.2.jar netty-buffer-4.0.33.Final.jar netty-codec-4.0.33.Final.jar netty-common-4.0.33.Final.jar netty-handler-4.0.33.Final.jar netty-transport-4.0.33.Final.jar slf4j-api-1.7.5.jar
In Beanshell Test Elements use the following code: 在Beanshell测试元素中,使用以下代码:
import com.datastax.driver.core.utils.UUIDs; UUID timeUUID = UUIDs.timeBased(); String timeUUIDString = timeUUID.toString(); vars.put("timeUUID", timeUUIDString); //etc.
See How to Use BeanShell: JMeter's Favorite Built-in Component for more information on using Beanshell in JMeter. 有关在JMeter中使用Beanshell的更多信息,请参见如何使用BeanShell:JMeter的最喜欢的内置组件 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.