引子
以下内容选自《小强软件测试疯狂讲义》一书
正文
首先不得不感叹Jmeter的日渐强大,尤其是其插件。之前我们讲解过,Jmeter可以完成性能测试、接口测试,而这次它居然可以依靠WebDriver来完成GUI的功能自动化测试了。
下面我们就以打开我的博客地址首页为例进行讲解,大致的实现步骤如下:
1) 下载JMeterPlugins-WebDriver-1.3.1.zip,解压之后把lib目录下的所有jar文件和lib/ext目录下的JMeterPlugins-WebDriver.jar文件分别拷贝到本地Jmeter安装目录下的lib目录中和lib/ext目录中。
2) 进入本地Jmeter安装目录下的lib目录中,把httpclient、httpcore、httpmime三个jar包较低版本的删除掉,只保留较高版本的。
3) 启动Jmeter,可以看到图3.38中配置元件中新增了几个Driver Config。
图3.38 配置元件
4) 新建[email protected] - Firefox Driver Config,配置如图3.39所示。
图3.39 [email protected] - Firefox Driver Config
5) 新建[email protected] - WebDriver Sampler,编写如下代码:
//测试代码开始,需要测试的业务放在start和end之间即可。
WDS.sampleResult.sampleStart()
try{
//打开博客首页
WDS.browser.get(‘http://xqtesting.blog.51cto.com‘)
//测试代码结束
WDS.sampleResult.sampleEnd()
}catch(x){
WDS.sampleResult.sampleEnd()
//设置为结果失败
WDS.sampleResult.setSuccessful(false)
//返回信息设置为-_- sorry
WDS.sampleResult.setResponseMessage(‘-_- sorry‘)
}
6) 新建查看结果树和用表格查看结果。
7) 运行Jmeter脚本,可以看到会自动调用火狐浏览器并模拟操作。最终运行结果如图3.40所示。
图3.40 运行结果
以上是最简单的使用,算是一个尝鲜吧,其中WebDriver Sampler中代码编写可以扩展,和你编写WebDriver一样,可以利用By.id,By.cssSelector等方法进行元素的定位并操作,类似如下代码:
var pkg = JavaImporter(org.openqa.selenium)
WDS.browser.findElement(pkg.By.id(‘what‘)).sendKeys([‘xiaoqiang‘])
感兴趣的朋友可以到官网查看详细的示例代码,地址:
http://jmeter-plugins.org/wiki/WebDriverSampler/。