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(); } } |