前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用jmeter做Web端自动化测试

使用jmeter做Web端自动化测试

作者头像
测试加
发布2022-06-21 16:32:10
1.4K0
发布2022-06-21 16:32:10
举报

前言

熟悉jmeter的同学应该都知道,jmeter是做服务端性能测试的工具。jmeter还可以进行Web端自动化测试,这个功能也是我最近才知道的,个人认为比较有意思。参考了网上一些文章,文本就尝试体验下如何使用。

下载WebDriver依赖

核心还是需要WebDriver依赖才能启动网页。

  1. 下载地址(https://jmeter-plugins.org/downloads/old/)JMeterPlugins-WebDriver-1.1.2 。

2.将JMeterPlugins-WebDriver-1.1.2\lib\ext中的*.jar拷贝到D:\apache-jmeter-2.13\lib\ext下。

3.将JMeterPlugins-WebDriver-1.1.2\lib中的*.jar拷贝到D:\apache-jmeter-2.13\lib下。

添加插件配置元件

重新jmeter后,在配置元件中可以看到Chromdriver Driver Config,说明插件配置成功。

配置本地Chrome Driver地址,Chrome Driver需要提前下载好。

添加WebDriver Sampler

在取样器中选择WebDriver Sampler采样器。

WebDriver Sampler采样器支持多种语言(java、beanshell、js),我们使用js语言编写自动化测试代码。

测试流程: 打开网页 -> 点击搜索 -> 输入文字 -> 点击完成

代码片段

代码语言:javascript
复制
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classes
var support_ui = JavaImporter(org.openqa.selenium.support.ui.WebDriverWait); //WebDriver classes
var wait = new support_ui.WebDriverWait(WDS.browser, );
var timeunit = java.util.concurrent.TimeUnit


WDS.sampleResult.sampleStart(); //captures sampler's start time
WDS.sampleResult.getLatency();
WDS.log.info("Sample started");


WDS.browser.get('http://duckduckgo.com'); //opens website specified in 'http://duckduckgo.com'
WDS.log.info("Sample ended - navigated to duckduckgo.com");

var searchField = WDS.browser.findElement(pkg.By.id('search_form_input_homepage')); //saves search field into searchField
searchField.click(); //clicks search field

searchField.sendKeys(['blazemeter']); //types word "blazemeter" in field
WDS.log.info("Searched for BlazeMeter");

var button = WDS.browser.findElement(pkg.By.id('search_button_homepage')); //Find Search button
button.click(); //Click Search Button
WDS.log.info("Clicked on the search button");

var link = WDS.browser.findElement(pkg.By.cssSelector('#r1-0 > div > h2 > a.result__a > b')); //also saves selector as variable but uses CSS.
link.click(); //Click the search result's Link

//设置整个事务的总的请求超时时间
WDS.browser.manage().timeouts().pageLoadTimeout(,timeunit.SECONDS);

WDS.sampleResult.sampleEnd();

调试脚本的时候,打开debug日志比较方便调试。

总结

基于jmeter的扩展插件WebDriver并且结合js编写测试用例,可以实现WEB端自动化测试。jmeter是可以提供继承Samlper采样器开发扩展的采样器的,WebDriver插件开发原理也是基于这个特性来开发的。 不过使用jmeter做WEB端自动化测试是能做但是不适合。所以如果有开发能力的话,还是写自动化脚本实现吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试加 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 下载WebDriver依赖
  • 添加插件配置元件
  • 添加WebDriver Sampler
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档