当前位置:网站首页>使用jmeter做Web端自动化测试
使用jmeter做Web端自动化测试
2022-06-21 16:55:00 【测试加】
前言
熟悉jmeter的同学应该都知道,jmeter是做服务端性能测试的工具。jmeter还可以进行Web端自动化测试,这个功能也是我最近才知道的,个人认为比较有意思。参考了网上一些文章,文本就尝试体验下如何使用。
下载WebDriver依赖
核心还是需要WebDriver依赖才能启动网页。
- 下载地址(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语言编写自动化测试代码。
测试流程: 打开网页 -> 点击搜索 -> 输入文字 -> 点击完成
代码片段
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端自动化测试是能做但是不适合。所以如果有开发能力的话,还是写自动化脚本实现吧。
边栏推荐
- 在线文档协作:办公必备高效率神器
- Structural modeling and Design -- a practical summary of the functions of rotary cutting and fillet chamfering in feature forming of SolidWorks software (drawing a countersunk screw hole)
- 快速失败和安全失败的区别
- 剑指 Offer 12. 矩阵中的路径
- Move Protocol Beta测试版稳定,临时决定奖池规模再扩大
- Reids面试题集合 数据结构+穿透雪崩+持久化+内存淘汰策略+数据库双写+哨兵
- 【微服务|Nacos】快速实现nacos的配置中心功能,并完成配置更新和版本迭代
- AI writes its own code to let agents evolve! The big model of openai has the flavor of "human thought"
- TypeScript的一些基本特征
- 基于AM4377的EtherCAT主站控制stm32从站
猜你喜欢
随机推荐
SQL操作:WITH表达式及其应用
EtherCAT igh源码的ecrt_slave_config_dc()函数的理解。
原码、补码、反码的关系
缓存型数据库Redis的配置与优化
AttributeError: ‘Book‘ object has no attribute ‘sheet‘
POSIX创建终止线程
AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了
如何把1000随机分配成10个数
企业高管收入杂谈
【微服务|Nacos】快速实现nacos的配置中心功能,并完成配置更新和版本迭代
数据库面试总结
PHP的empty,isset和is_null区别
Tcpserver enable multithreading
力扣160. 相交链表
Xlrd finds the row of the specified content and its content
Node的全局安装
2022 high altitude installation, maintenance and removal work license question bank and simulated examination
2022年R1快开门式压力容器操作操作证考试题库模拟考试平台操作
在线文档协作:办公必备高效率神器
论文解读(USIB)《Towards Explanation for Unsupervised Graph-Level Representation Learning》









