Jmeter+Selenium 前端性能测试

安装插件

通过 JMeter Plugins Manager 方式

在这里插入图片描述

离线安装插件

  1. 从 官网下载 Selenium/WebdriverDriver 插件
    在这里插入图片描述
  2. 解压下载好的文件,将文件放置到 jmeter\lib\ext目录下
    注意:解压后的文件可能存在多个文件夹,应根据文件目录对应放置到 jmeter 目录下,并非所有文件都放置在 lib\ext 目录内。
  3. 重启 Jmeter
    在这里插入图片描述
    看到以上几个选项表示插件安装成功

配置本地环境

下面的配置都以 chrome 运行环境为例

1. 添加 chrome 驱动配置文件:线程组 >> 添加 >> 配置元件 >> Chrome Driver Config
片描述](https://img-blog.csdnimg.cn/ddf357739490456881cf55695a2f1b6b.png)

2. 设置本地驱动文件 chromedriver.exe 路径

在这里插入图片描述

3. 设置本地浏览器 chrome.exe 路径

在这里插入图片描述

4. 添加 WebDriver 取样器:线程组 >> 添加 >> 取样器 >> WebDriver Sample

在这里插入图片描述
在这里插入图片描述

5. 添加脚本

// 延时
function sleep(delay) {
	var start = (new Date()).getTime()
	while(((new Date).getTime()-start) < delay) {
		continue;
	}
}



// 示例:https://jmeter-plugins.org/wiki/WebDriverSampler/?utm_source=jmeter&utm_medium=helplink&utm_campaign=WebDriverSampler#Browser
// 1. a 开始捕捉取样器计时
WDS.sampleResult.sampleStart()

// 2. 执行 Sampler 任务
WDS.browser.get('https://www.baidu.com')

// 1. b 结束捕捉取样器计时
WDS.sampleResult.sampleEnd()

// 3. 验证结果
var title = WDS.browser.getTitle()
WDS.log.info(title)
if(title != '百度一下,你就知道') {
    WDS.sampleResult.setSuccessful(false)
    WDS.sampleResult.setResponseMessage('Expected title to be Google')
}


/* ******************************************** 日志操作 ******************************************************* */

var d = new java.util.Date()
// 日志 https://excalibur.apache.org/apidocs/org/apache/log/Logger.html
//WDS.log.debug(d.getTime())
WDS.log.info(d.getTime())
//WDS.log.error(d.getTime())
//WDS.log.fatal(d.getTime())



/* *********************************************** 获取参数 ********************************************************** */
// 参数 在Parameters 填写 Hello Jmeter
WDS.log.info(WDS.parameters)		// console log "Hello Jmeter"
WDS.log.info(WDS.args[0])		// console log "Hello"
WDS.log.info(WDS.args[1])		// console log "Jmeter"


/* ******************************************** 浏览器元素操作 ************************************************************ */
// 浏览器操作 https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/WebElement.html
var pkg = JavaImporter(org.openqa.selenium)

// 添加 cookie
WDS.browser.manage().addCookie(new pkg.Cookie('test', 'xiaoming0000'))
// 设置隐式等待


// 操作元素
var searchInput = WDS.browser.findElement(pkg.By.id('kw'))
searchInput.sendKeys(['jmeter'])
// 获取元素
var suBtn = WDS.browser.findElement(pkg.By.id('su'))
// 单击元素
suBtn.click()
// 双击元素
var actions = new org.openqa.selenium.interactions.Actions(WDS.browser)
actions.doubleClick(suBtn).perform()

//sleep(30000)

6. 测试结果展示
注意:这个测试结果的时间统计时依据一下两个语法之间的操作

// 开始捕捉取样器计时
WDS.sampleResult.sampleStart()

/*
	内部写前端操作
*/

// 介素捕捉取样器计时
WDS.sampleResult.sampleEnd()

在这里插入图片描述


配置远程环境 (Selenium Grid)

关于 Selenium Grid 环境如何配置一下内容不做解释,可以阅读 Selenium Grid 配置

1. 添加本地 chrome 驱动配置文件:线程组 >> 添加 >> 配置元件 >> Remote Driver Config

在这里插入图片描述

2. 配置远程 Selenium Grid Hub

注意:如果无法找到 chromedriver.exe 会启动浏览器但是不会执行脚本。解决方法:将 chromedriver.exe 文件放置到 C:\Windows\Systme32 目录下

在这里插入图片描述

3. 脚本
Selenium Grid 运行脚本与本地环境运行脚本相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值