selenium-webdriver - 在 Jmeter 中停止 Selenium WebDrvier 测试
问题描述
我在 Jmeter 中使用 Selenium WebDriver。现在,当我遇到任何错误时,例如元素的文本不匹配,我想停止执行测试。
var ele1 = WDS.browser.findElement(pkg.By.cssSelector('<element>')).getText();
var ele2 = WDS.browser.findElement(pkg.By.cssSelector('<another_element>')).getText();
var ele3 = WDS.browser.findElement(pkg.By.cssSelector('<another_element>')).getText();
if(ele.localeCompare('text') && ele2.localeCompare('UP') && ele3.localeCompare('UP') )
{
WDS.sampleResult.setSuccessful(false)
WDS.sampleResult.setResponseMessage('Error found, text not matching');
WDS.sampleResult.sampleEnd();
}
这不会停止测试,而是继续执行剩余的代码。有没有办法停止测试?
解决方案
替换这 3 行:
WDS.sampleResult.setSuccessful(false)
WDS.sampleResult.setResponseMessage('Error found, text not matching');
WDS.sampleResult.sampleEnd();
有了这个:
throw new Error('Error found, text not matching')
它将生成一个运行时错误,这将停止所有进一步的执行,此行以下的代码将永远不会运行。
有关 WebDriver Sampler 提示和技巧的更多信息:WebDriver Sampler:您回答的 10 大问题
推荐阅读
- knn - 使用 MFCC 进行婴儿哭泣检测和使用 KNN 分类器进行哭泣原因
- ubuntu - dotnet core 2.1 应用程序的最大进程地址空间是多少?
- git - Jenkins - Bitbucket 拉取请求构建器未按预期工作
- c++ - 编译时错误:Union 默认构造函数被删除
- mongodb - 解释为什么在 upsert 上重复输入
- php - 无法使用phpspreadsheet下载excel文件
- google-chrome-extension - 运行 contextMenus.create 时未选中 runtime.lastError:无法创建具有重复 ID 的项目
- javascript - 在laravel中使用ajax将多个数组发送到控制器
- python - Python Firebase Admin 监听器每小时自动触发一次
- c++ - 使用 QuaZip 提取 .cbz 并在 Qt 中创建 QImages?