1. Chinaztest软件测试网首页
  2. 教程
  3. 测试框架
  4. TestNG教程

TestNG + Selenium负载测试

在本教程中,我们将演示如何使用@Test属性invocationCountthreadPoolSize在网站上执行负载测试或压力测试。

使用的工具 :

  • TestNG 6.8.7
  • Selenium 2.39.0
  • Maven 3

我们使用Selenium库自动化浏览器来访问网站。创建一个用于测试的Maven项目:TestngSelenium 。

1. 项目依赖文件配置

获取TestNG和Selenium库。如下 pom.xml 所示 –

2. @Test(invocationCount =?)

这个invocationCount确定TestNG应该运行这个测试方法的次数。

示例 2.1

输出 – repeatThis()方法将运行10次,结果如下所示 –

示例2.2 – 使用Selenium打开Firefox浏览器并加载“yiibai.com”。 此测试是确保页面标题始终为“易百教程™ – 专注于IT教程和实例”。

创建一个类文件:TestMultipleThreads.java,其代码如下所示:

输出结果如下 – 您会注意到Firefox浏览器将提示关闭3次。

3. @Test(invocationCount = ?, threadPoolSize = ?)

threadPoolSize属性告诉TestNG创建一个线程池以通过多个线程运行测试方法。 使用线程池,会大大降低测试方法的运行时间。

示例3.1 – 启动一个包含3个线程的线程池,并运行测试方法3次。

执行上面代码,输出以下结果 –

示例3.2 – 启动包含3个线程的线程池,并运行测试方法10次。

执行上面代码,输出以下结果 –

4. 负载测试示例

通过结合TestNG多线程和Selenium强大的浏览器自动化。 您可以创建一个简单而强大的负载测试,创建一个类文件:TestMultipleThreadsLoad.java,其代码如下所示:

 

输出 – 以上测试将启动一个线程池5,并发送100个URL请求到指定的网站。


一些问题

:对于使用Selenium和TestNG的负载测试,为什么一次仅提示一个浏览器?
:您的测试方法完成得太快,尝试放置Thread.sleep(5000)方法来延迟执行,现在您应该注意到多个浏览器同时提示(仅供演示用途)。

原创文章,作者:若木成林,如若转载,请注明出处:https://www.chinaztest.com/2692.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:983512074@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息