您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试工具 > 性能测试工具 > 正文

JMeter中使用Selenium进行测试

发表于:2017-01-09 作者:网络转载 来源:

  JMeter是使用非常广泛的性能测试工具,而Selenium是ThroughtWorks 公司一个强大的开源Web 功能测试工具。Jmeter和Selenium结合使用,就可以实现对网站页面的自动化性能测试。
  这里有两种方式在Jmeter中调用Selenium测试用例。可以使用 Jmeter JUnit sampler 或者 BeanShell sampler,后一种方式包含了Selenium client 和 server,因此不需要单独启动Server。
  方法一
  准备工作:
  将文件selenium-server-standalone-2.*.jar拷贝到JMeter类库安装目录%JMETER_HOME%/lib/下,手动启动Selenium server。
  Jmeter JUnit sampler
  将Selenium测试用例打包成.jar文件,并拷贝到%JMETER_HOME%/lib/junit/目录下,注意:测试用例应该继承TestCase or SeleniumTestCase类,从而允许JMeter获取到该测试用例,且测试方法名称应该以test开头。
  在Jmeter中创建test group和JUnit sampler测试计划,并在JUnit sampler中选择测试用例的名称,选择测试方法并运行。当然还可以根据需求设置其他参数。
  一个测试用例例子:

 

package com.example.tests; import com.thoughtworks.selenium.*; import org.junit.Before; import org.junit.Test; import org.junit.After; public class selenium extends SeleneseTestCase { @Before public void setUp() throws Exception { . . . } @Test public void testSelenium_test() throws Exception { . . . } @After public void tearDown() throws Exception { selenium.stop(); } }

  方法二
  准备工作:
  将文件selenium-server-standalone-2.*.jar拷贝到JMeter类库安装目录%JMETER_HOME%/lib/下,不需要启动Selenium server.
  Jmeter JUnit sampler
  将Selenium测试用例打包成.jar文件,并拷贝到%JMETER_HOME%/lib/junit/目录下,注意:测试用例应该继承TestCase or SeleniumTestCase类,从而允许JMeter获取到该测试用例,且测试方法名称应该以test开头。
  在Jmeter中创建test group和JUnit sampler测试计划,并在JUnit sampler中选择测试用例的名称,选择测试方法并运行。当然还可以根据需求设置其他参数。
  一个测试用例例子:

import junit.framework.TestCase; import org.openqa.selenium.*; import org.junit.Before; import org.junit.Test; import org.junit.After; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; public class selenium extends TestCase { WebDriver driver; @Before public void setUp() { FirefoxProfile profile = new FirefoxProfile(); . . . driver = new FirefoxDriver(profile); } @Test public void testSelenium_test() throws Exception { . . . } @After public void tearDown() { driver.quit(); } }