如何将cucumber-jvm项目编译成.jar文件

时间:2017-03-18 02:15:16

标签: jmeter bdd executable-jar cucumber-jvm

如何将cucumber-jvm项目编译到jar文件中以实现自执行

我正在使用带有maven的cucumber-jvm, 下面是我的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>com.test</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.3</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>1.10</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.15</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>commons-dbutils</groupId>
        <artifactId>commons-dbutils</artifactId>
        <version>1.5</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.3</version>
    </dependency>
    <dependency>
        <groupId>net.sourceforge.htmlunit</groupId>
        <artifactId>htmlunit</artifactId>
        <version>2.15</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.35</version>
    </dependency>
  </dependencies>
    <build>
    <finalName>test</finalName>
    <plugins>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>2.3.1</version>
           <configuration>
               <source>1.7</source>
               <target>1.7</target>
           </configuration>
       </plugin>
    </plugins>
  </build>
    </project>

我想将我的项目编译为可执行jar文件,并使用Jmeter中的jar文件进行性能测试

1 个答案:

答案 0 :(得分:0)

我认为您不能将您的Cucumber测试提供给JMeter,因为它既没有相关的测试元素也没有插件来理解和运行它们。选项包括:

  1. 使用ie Future Tasks
  2. 在测试级别添加多线程
  3. 只需使用JMeter的HTTP(S) Test Script Recorder记录您的测试。运行JMeter的代理并配置您的测试以通过WebClientOptions使用它,如:

    ProxyConfig jmeterProxy = new ProxyConfig("localhost", 8888);
    webClient.getOptions().setProxyConfig(jmeterProxy); 
    

    运行测试时,JMeter会记录相关请求并将其转换为HTTP Request个采样器。通过这种方式,您可以获得更加“干净”的解决方案,这种解决方案可以更好地扩展,因为模拟HTTP请求的内存占用量比启动无头浏览器要少得多。您甚至可以使用基于云的代理而不是内置的JMeter绕过关联(有关详细信息,请参阅How to Cut Your JMeter Scripting Time by 80%文章)