JMeter ----与WebDriver安装与测试
主要内容
-
JMeter安装
-
WebDriver安装
-
一个简单的JMeter+WebDriver示例
环境与参考
jvm版本: 1.8.0_65
jmeter版本: 2.13
firefox版本: 39.0.3
参考来源:
Leverage your Load Testing using JMeter and Selenium WebDriver
jmeter-plugins.org:FirefoxDriverConfig
jmeter-plugins.org:WebDriverTutorial
jmeter-plugins.org:WebDriverSampler
Using Selenium with JMeter's WebDriver Sampler
安装
有brew的童鞋可以很方便的通过命令行安装
$ brew install jmeter --with-plugins
然后运行
$ jmeter
没有brew的童鞋可以自行下载然后通过java运行,关于插件也需要自行手动下载安装:
- Unzip jmeter bundle
- Unzip jmeter-plugins bundles
- Copy JMeterPlugins-WebDriver-1.3.1/lib/ext/JMeterPlugins-WebDriver.jar into jmeter/lib/ext
- Copy JMeterPlugins-Standard-1.3.1/lib/ext/JMeterPlugins-Standard.jar into jmeter/lib/ext
- Copy JMeterPlugins-WebDriver-1.3.1/lib/*.jar into jmeter/lib/
*注意:Webdriver依赖的jar和JMeter依赖的jar会有冲突,可能会导致以下错误:
-
我们需要移除:
- httpclient-4.2.6.jar
- httpcore-4.2.5.jar
- httpmime-4.2.6.jar
并保留较高版本
测试
准备
在测试之前我们需要先查看firefox的版本,由于当前使用的最新版jmeter 2.13对firefox40+支持的还不是特别好,可能会出现错误,所以我将本地的firefox重新安装了一个实例,版本为39.0.3。firefox 40+下对Selenium IDE 2.9.1 Addon支持的也不是很好,在录制脚本的时候会漏掉某些动作,在此不赘述,会在Selenium自动化测试中详细介绍。
究其原因,主要是因为我们查看jmeter2.13的release note其依赖的WebDriver plugin 1.3.1依赖的是selenium-firefox-driver-2.47.0.jar,而这个版本对firefox的支持可以在其github的release note上找到
如果本地firefox是40+的版本,我这里使用的是43,可能会出现错误
一个简单的示例
-
为测试计划(Test Plan)新建一个线程组(Thread Group)
添加完成:
-
为线程组添加一个Firefox Driver配置
添加完成:
-
为线程组添加一个WebDriver Sampler配置
并加入以下脚本:
WDS.sampleResult.sampleStart() try { WDS.browser.get('http://baidu.com') WDS.sampleResult.sampleEnd() } catch(ex) { WDS.sampleResult.sampleEnd() WDS.sampleResult.setSuccessful(false) WDS.sampleResult.setResponseMessage('Expected title to be Baidu') }
添加完成:
-
为线程组添加一个结果配置(View Results in Table)
添加完成
-
运行测试计划
查看日志