protractor - 在 Protractor 中使用 "is not a thenable"时获取 "eventually"消息

标签 protractor cucumber chai cucumberjs

当我尝试验证如下条件时。

 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.eventually.equal(false)

我得到 false is not a thenable 消息,如果我删除 最终 条件如下,那么它工作正常。
 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.equal(false)

任何人都可以帮助我理解其中的区别。此外,如果条件失败,它会显示错误消息并且不执行 hooks.js

最佳答案

简单来说:
eventually - 是一种来自 chai-as-promised 的方法。
如果您使用 eventually Protractor ,则预计您正在断言对值(value)的 promise 的结果(在本例中为 false )。val1val2 是 bool 值。 val1val2 的比较也是一个 bool 值。

Bool 不是 promise 。

你有两种可能:
1. 不要使用finally(只是一个chai)。
2. 从这些值的比较中返回一个 promise。

关于protractor - 在 Protractor 中使用 "is not a thenable"时获取 "eventually"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900889/

相关文章:

javascript - 大于 100 但从 html 传递字符串的 Protractor 测试用例

angular - 如何使用 Protractor typescript 使用 _ngcontent 和 span buttontext 单击元素

javascript - 非法中断语句。 Node.js

gradle - 如何从 java TestRunner 类运行 cucumber 测试

用于检查具有特定类的元素的父级的 cucumber 测试

javascript - 使用项目索引对数组进行单元测试

angularjs - Protractor :测试引导警报

ruby-on-rails - Capybara 选择器匹配但不是所有过滤器,这是什么意思?

javascript - 如何期望一个字符串恰好包含 Chai 中特定字符的 N 个?

javascript - 运行 cypress 测试时,当我登录后访问新网址时,页面仅保留在当前网址上