【问题标题】:How can I get an alert-message in Webdriver Sampler for JMeter?如何在 JMeter 的 Webdriver Sampler 中获取警报消息?
【发布时间】:2019-10-29 09:31:51
【问题描述】:

我需要在使用 Webdriver Sampler 运行 JMeter 测试时记录所有警报消息(并接受警报框)。 我已经尝试截屏并接受警报,但没有成功:

try{
    WDS.browser.switchTo().alert();
    WDS.browser.getScreenshotAs(JavaImporter(org.openqa.selenium).OutputType.FILE).renameTo(new java.io.File("output/screenshot.png"));
    WDS.browser.switchTo().alert().accept();
} catch(exception){
    WDS.log.info(exception);
}

Screenshot of Sampler Result

【问题讨论】:

    标签: javascript selenium selenium-webdriver jmeter jmeter-plugins


    【解决方案1】:

    WebDriver Sampler 的当前版本是 3.1,它假定为 Selenium Support library version 3.14.0

    从 Selenium 支持库版本 3.14.0 开始,在警报出现并处于活动状态之前,您无法截取屏幕截图(实际上可以做任何其他事情),因此这意味着您无法通过 Selenium 截取浏览器截图。

    如果您确实需要带有警报的页面屏幕截图,您可以使用 Robot.createScreenCapture() function,替代代码类似于:

    new org.openqa.selenium.support.ui.WebDriverWait(WDS.browser, 2000).until(org.openqa.selenium.support.ui.ExpectedConditions.alertIsPresent())
    javax.imageio.ImageIO.write(new java.awt.Robot().createScreenCapture(new java.awt.Rectangle(java.awt.Toolkit.getDefaultToolkit().getScreenSize())), "png", new java.io.File("output/screenshot.png"));
    WDS.browser.switchTo().alert().accept()
    

    更多信息:The WebDriver Sampler: Your Top 10 Questions Answered

    【讨论】:

    • 感谢您的回复。我尝试了您的代码 sn-p 但似乎 Webdriver 会等到出现警报并且不会继续。我想我需要一个类似事件监听器的东西。这可能吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 2022-07-13
    相关资源
    最近更新 更多