我正在使用webdriverjs进行一些测试,到目前为止我很喜欢它。我只是遇到了一个问题,我似乎不能运行更广泛的测试。我很好奇是否有任何方法可以查看页面是否有特定的内容,而不需要向它传递特定的css选择器?
也就是说,我有一个到处都是文本的网页,我特别想运行一个测试,看看我的页面是否有字符串"Hello World!“在页面上的某处。字符串在哪里并不重要,重要的是它在那里。
如果webdriverjs不能做到这一点,有没有其他方法来运行这种测试呢?
发布于 2014-10-21 18:47:45
使用webdriverjs是可能的。默认情况下没有hasContent方法,但是使用getText()方法可以很容易地自己创建一个。getText()获取给定元素及其子元素的可视文本。因此,要获取网页的完整文本,只需调用<html>元素即可。如下所示:
var selenium = require('selenium-webdriver');
var By = selenium.By;
var driver = new selenium.Builder().withCapabilities(selenium.Capabilities.chrome()).build();
function hasContent(content) {
driver.findElement(By.tagName('html')).getText().then(function(entireVisibleText) {
if (entireVisibleText.indexOf(content) > - 1) {
// text found
}
else {
// text not found
}
});
}https://stackoverflow.com/questions/24371309
复制相似问题