资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

在Jmeter中使用SeleniumWebDriver完成测试-创新互联

引子

以下内容选自《小强软件测试疯狂讲义》一书

成都创新互联公司是一家集网站建设,宕昌企业网站建设,宕昌品牌网站建设,网站定制,宕昌网站建设报价,网络营销,网络优化,宕昌网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

正文

首先不得不感叹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。

在Jmeter中使用Selenium WebDriver完成测试

图3.38 配置元件

4) 新建jp@gc - Firefox Driver Config,配置如图3.39所示。

在Jmeter中使用Selenium WebDriver完成测试

图3.39 jp@gc - Firefox Driver Config

5) 新建jp@gc - 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所示。

在Jmeter中使用Selenium WebDriver完成测试

图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/。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:在Jmeter中使用SeleniumWebDriver完成测试-创新互联
转载注明:http://cdkjz.cn/article/dcgeed.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220