Nightwatch 执行()不是预期后的方法

Nightwatch perform() not method after expect

所以我相信在查看文档后这应该可以正常工作,但我想要一些 运行 期望已经完成的东西,但是目前它似乎没有工作。

工作

browser
  .url('https://www.google.co.uk/?')
  .expect.element('.Google Search').value.to.contain('Dashboard')
  .perform(function() {
    console.log('elementValue');
  })

坏了

browser
  .url('https://www.google.co.uk/?')
  .expect.element('.Google Search').value.to.contain('Dashboard')
  .perform(function() {
    console.log('elementValue');
  })


Error while running perform command: browser.moveToElement(...).doubleClick(...).setValue(...).click(...).expect.element(...).text.to.contain(...).perform is not a function

当您使用 .expect 时,您会中断 Nightwatch 命令链并启动 Expect.js 链,因此在您调用 .expect.element('.Google Search') 之后,您会得到 Expect.js 对象而不是 Nightwatch browser对象。

您需要的是简单地启动另一个链:

browser
  .url('https://www.google.co.uk/?')
  .expect.element('.Google Search').value.to.contain('Dashboard');

browser
  .perform(function() {
    console.log('elementValue');
  });