当使用PhantomJS配置尝试单击按钮时,JMeter Selenium Sampler崩溃

时间:2016-10-21 01:35:26

标签: javascript selenium-webdriver jmeter phantomjs

我创建了一个JMeter项目并使用WebDriver Sampler(Selenium)来捕获与某个网页功能交互时的响应时间。

我使用Firefox和Chrome驱动程序配置测试了该项目。当我尝试使用PhantomJS时,当我点击特定按钮时会冻结。

我检查了HTML代码,发现模态位于我需要与之交互的所有网络元素之上。

我已经对按钮断言,确认它已存在,可见并已启用。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

根据弹出窗口的类型,需要以不同方式处理。例如,JavaScript Confirm(是/否)对话框,如下所示:

<html>
<body>
<input type="button" id="somebutton" value="clickme" onclick="return confirm('Hello, JMeter')"/>
</body>
</html>

可以像:

一样解决
var By = org.openqa.selenium.By
var ExpectedConditions = org.openqa.selenium.support.ui.ExpectedConditions
var wait=new org.openqa.selenium.support.ui.WebDriverWait(WDS.browser, 10)

WDS.sampleResult.sampleStart()
WDS.browser.get('http://some.url')
WDS.browser.findElement(By.id('somebutton')).click()
WDS.browser.executeScript('window.confirm = function(){return true;}');
WDS.sampleResult.sampleEnd()

查看The WebDriver Sampler: Your Top 10 Questions Answered文章,了解有关Selenium和JMeter集成的更多提示和技巧