当前位置: 首页 > 知识库问答 >
问题:

使用MAven执行JMETER JUnit采样器(Selenium WebDrive)

邹禄
2023-03-14

我创建了一个简单的JMETER负载测试,它在JMETER上运行得非常好。我通过以下方式创建了负载测试用例:

  • 在eclipse中编写简单的JUNIT测试
  • 将JUNIT测试导出为Jar
  • 使用JUNIT测试用例创建负载测试

以上在JMETER中运行良好。但是,我无法使用MAVEN(JMETER MAVEN插件)运行相同的功能,即测试不运行。我可以看到一条消息

[info] Executing test: JUnitRequest.jmx
[info] Completed Test: JUnitRequest.jmx
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.033s
[INFO] Finished at: Wed Jun 07 20:12:40 BST 2017
[INFO] Final Memory: 16M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:1.9.1:jmeter (jmeter-tests) on project restapitest: C:\2017\JMETER\RestApiTest\target\jmeter\results\20170607-JUnitRequest.jtl (The system cannot find the file specified) -> [Help 1]
[ERROR] 

然后是一条错误消息:

请在下面找到我的POM。XML:

<?xml version="1.0" encoding="UTF-8"?>
<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.jmeter.restapi</groupId>
    <artifactId>restapitest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>1.9.1</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins:pom:1.3.1</artifact>
                    </jmeterExtensions>
                    <junitLibraries>
                        <artifact>com.lazerycode.junit:junit-test:1.0.0</artifact>
                    </junitLibraries>
                </configuration>

                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.17</version>
                        <type>jar</type>
                        <scope>compile</scope>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project>

共有1个答案

葛胡媚
2023-03-14

接下来,请您将错误以及我们最感兴趣的内容包括在内,而不是您的配置。

关于你的问题本身,我没有看到任何堵塞你的jar或依赖库的迹象。

你需要包括:

  1. 你的JUnit罐子本身
  2. 有依赖关系吗

进入pom。xml文件。在JMeter Maven Plugin wiki的类路径页面中添加其他库时,将详细描述该过程。

我的期望是你的pom。xml文件应该看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<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>jmeter-selenium-junit</groupId>
    <artifactId>jmeter-selenium-junit-test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <repositories>
        <repository>
            <id>your-junit-jar</id>
            <name>your junit repo</name>
            <url>file:/path/to/your-junit-jar.jar</url>
        </repository>
    </repositories>

    <build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.2.0</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jmeterExtensions>
                        <artifact>org.seleniumhq.selenium:selenium-java:2.52.0</artifact>
                        <artifact>org.seleniumhq.selenium:selenium-firefox-driver:2.52.0</artifact>
                    </jmeterExtensions>
                    <junitLibraries>
                        <artifact>com.yourcompany.yourgroup:your-artifact:1.0-SNAPSHOT</artifact>
                    </junitLibraries>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

有关运行JMeter测试的不同方法(包括Maven插件)的更多信息,请参阅不使用JMeter GUI文章即可启动JMeter测试的五种方法

 类似资料:
  • null 有什么主意吗?我该怎么做?我知道我不能只使用Once Controller,因为每个请求也是由每个线程执行的。

  • 我需要从OS进程采样器执行jmx文件。我得到了错误 响应代码:500响应消息:执行系统调用时发生异常:java.io.ioException:无法运行程序“jmeter-n-t c:\test\jmeter\reliability\scripts\test.jmx”(在目录“c:\apache-jmeter-4.0\bin”中):CreateProcess error=2,系统找不到指定的文件 下

  • < li >我正在对多个并发用户执行登录测试。 < ol start="2 " > < li >我创建了一个JDBC请求,以从患者表中获取用户名和密码。然后创建了一个测试。借助BeanShell断言使用相同数据的CSV文件。 < li >现在在CSV数据集configTest.csv中传递此文件名。 < li >我可以同时登录多个用户,但面临一个问题:当我第一次运行测试时。该文件在同一位置不可用,

  • 尽管回顾了如何使用Java 11和JavaFX 11运行ControlsFX示例应用程序,以及如何运行ControlsFX Java 11和JavaFX 11以及web上的其他建议,但我仍然无法让ControlsFX示例应用程序在Java 11(OpenJDK 11.0.1)中运行。这是我的命令行: 和输出: 任何帮助将不胜感激,谢谢。

  • 我有下面的JSR223采样器,它读取图像,稍微修改它,并发送一个POST multipart/form-data请求。与HTTP采样器相比,我发现它广泛使用了CPU,但我不能使用HTTP采样器,因为它不支持在不保存到文件系统的情况下更改映像。 如果任何人有任何输入来优化JSR223采样器中的脚本,这样它就不会占用大量的CPU,我将很感激。