我有一项任务是使用JMeter和Selenium或JMeter进行负载/性能测试。
但我们希望以编程方式,不仅使用JMeter的GUI IDE ,例如以编程方式使用Selenium / Webdriver,而不是使用其GUI IDE。
我在google搜索后无法在线找到有用的示例,那么有人可以给我一些想法或示例吗?
EG。我想编写代码来模拟“我是导航www.google.com的10位用户之一”。
如果你能提供帮助,我将非常感激。
答案 0 :(得分:0)
您可以选中jmeter-java-dsl,这可以使您以简单的方式进行操作。
例如,您可以添加以下Maven依赖项:
<dependency>
<groupId>us.abstracta.jmeter</groupId>
<projectId>jmeter-java-dsl</projectId>
<version>0.1</version>
</dependency>
并定义一个这样的测试:
import static org.assertj.core.api.Assertions.assertThat;
import static us.abstracta.jmeter.javadsl.JmeterDsl.*;
import java.time.Duration;
import org.eclipse.jetty.http.MimeTypes.Type;
import org.junit.jupiter.api.Test;
import us.abstracta.jmeter.javadsl.TestPlanStats;
public class PerformanceTest {
@Test
public void testPerformance() throws IOException {
TestPlanStats stats = testPlan(
threadGroup(2, 10,
httpSampler("http://my.service")
.post("{\"name\": \"test\"}", Type.APPLICATION_JSON)
),
//this is just to log details of each request stats
jtlWriter("test.jtl")
).run();
assertThat(stats.overall().elapsedTimePercentile99()).isLessThan(Duration.ofSeconds(5));
}
}
您将获得一个运行中的嵌入式JMeter测试,该测试具有对结果的简单断言以及每个请求结果的记录。