2016-04-14 88 views
0

我想知道一種通過Jmeter中的預處理器或後處理器beanshell動態生成timeUUID的方法,用於動態負載測試以更好地適應實際生活場景。我試圖在/lib文件夾中添加datastax cassandra驅動程序,但它似乎抱怨丟失com.google.common.base.charsets依賴項。這可能不是一個獨立的cassandra驅動程序。任何建議可以產生timeUUID庫,將不勝感激。如何在Jmeter beanshell處理器中生成timeuuid?

回答

1

展望Maven Central卡桑德拉JDBC驅動程序有一些依賴您也需要在JMeter的CLASSPATH中使用它。

實施例步驟(假定Apache Maven

  1. 創建一個任意的文件夾某處
  2. 創建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> 
    
  3. 替換2.1.10.用的版本您的Cassandra服務器

  4. 在步驟1中創建的文件夾執行以下命令:

    mvn dependency:copy-dependencies 
    
  5. 複製從target/dependency夾中的所有.jar文件JMeter的CLASSPATH(即到JMeter安裝的「lib」文件夾)。我的名單看起來像:

    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 
    
  6. 重啓JMeter的挑罐子了
  7. 在BeanShell的測試元素使用下面的代碼:

    import com.datastax.driver.core.utils.UUIDs; 
    
    UUID timeUUID = UUIDs.timeBased(); 
    
    String timeUUIDString = timeUUID.toString(); 
    vars.put("timeUUID", timeUUIDString); 
    //etc. 
    

How to Use BeanShell: JMeter's Favorite Built-in Component的詳細信息,使用的BeanShell在JMeter。

+0

非常詳細!謝謝。不知道你是怎麼想出這個pom.xml的? – eriflame

+0

這只是一個最小的POM文件+ cassandra驅動程序依賴項。 –

0

你可能也需要把番石榴jar文件到/lib

UUIDS類的源代碼,它是進口com.google.common.base.charsets

相關問題