【发布时间】:2020-11-11 02:22:27
【问题描述】:
我有一个带有 JavaScript 代码的页面,它每秒轮询一次 API,并用响应替换 HTML 页面中的元素。我想使用 Selenium WebDriver 测试这个页面。我在 Junit 测试中设置了 WebDriver,但我不知道如何处理轮询 Java 脚本。
RemoteWebDriver driver = chrome.getWebDriver();
driver.get("http://localhost:8080");
JavaScript 代码配置了一个定时器来调用getMessage() 是这样设置的。
<body>
<h1 id="message"> Loading ... </h1>
</body>
<script>
function getMessage()
{
$.ajax({
url : '/message',
type: 'GET',
success: function(data){
$('#message').text(data.message);
},
error: function (data) {
$('#message').text("Error Response");
}
});
}
$(document).ready(function() {
window.setInterval(getMessage, 1000);
});
</script>
我想测试 H1 消息值在 30 秒内每秒更改为某个值,因此我希望在 30 秒的测试运行中看到 25 个更改。如何使用 Selenium WebDriver 做到这一点?
【问题讨论】:
-
你到底需要测试什么?要测试页面上的值是否每 30 秒更改一次?或者测试间隔是30秒?或测试该值是否更改为收到的响应?
-
我想在 30 秒内测试每秒更改为某值的值。
标签: java selenium selenium-webdriver webdriver