我正在使用 Selenium WebDrive 测试网页,并想对 JavaScript 文件进行断言,但不确定如何做。
我想断言 servers
(一个数组)的长度为 2。
我的 JavaScript 文件 config.js
包含我希望断言存在的以下数组:
var location = location || {};
location.Config = {
servers: [
{name: "a"},
{name: "b"}
]
}
我的第一次尝试是使用 className
但没有成功:
Assert.assertThat(webDriver
.findElement(className("config.js"))
.getAttribute("servers")
.length(),
Matchers.is(2));
最佳答案
成功!
向浏览器传递一个 JavaScript 命令来运行并捕获它的结果就成功了。
long servers = (long) ((JavascriptExecutor) webDriver).executeScript("return location.Config.servers.length");
Assert.assertThat(servers, Matchers.greaterThan((long) 0));
关于javascript - 使用 Selenium WebDriver 对 JavaScript 变量进行断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36280426/