我有 cucumberjs 的问题。我找不到一种方法来确保具有给定选择器的元素呈现到 DOM 中。我将 cucumberjs 与 Chai 一起使用。 https://github.com/cucumber/cucumber-js isPresent 返回对象 - 无论元素是否存在。所以问题是如何检查元素是否存在于 DOM 中。
我将编辑问题以分享一个经验教训。我阅读了文档还要感谢 Nathan Thompson。isPresent() 返回一个承诺,该承诺将解决该元素是否存在于页面上。
http://angular.github.io/protractor/#/api?view=Protractor.prototype.isElementPresent
代码示例有点误导。因此,如果您想知道 DOM 中是否存在具有给定选择器的元素,您必须使用如下内容:
element(by.id('someId')).isPresent().then(function(isElementVisible) {
expect(isElementVisible).to.be.true;
});
或者将 chai 与 promise 一起使用。
expect(element.isPresent()).to.eventually.be.false
然而,“最终”这个词听起来令人不快。我们希望确定最终不确定。:)
这里可以在我的个人博客中查看关于这个问题的文章。