首页 > 解决方案 > 在 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();
}

这不会停止测试,而是继续执行剩余的代码。有没有办法停止测试?

标签: selenium-webdriverjmeterjmeter-5.0

解决方案


替换这 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 大问题


推荐阅读