javascript - 无法在带有 Nightwatch 的 Chai.js 中使用期望

标签 javascript chai nightwatch.js

我使用 Nightwatch 构建简单的 e2e 测试。这个简单的e2e测试就顺利通过了。
接下来,我构建第二个测试以使用 Chai.js/Mocha.js。但是这个测试引发了异常。

// First(successfully passed)
module.exports = {
  'increment counter': browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .click("button#plus-btn")
      .assert.containsText('h1', '1')
      .end()
  },
  "decrement counter": browser => {
    browser
      .url(process.env.VUE_DEV_SERVER_URL)
      .click("button#minus-btn")
      .assert.containsText('h1', '-1')
      .end()
  }
}
// Second
describe('counter testing', () => {

  describe('press plus button', () => {

    it('increments counter', (browser) => {
      browser
        .url(process.env.VUE_DEV_SERVER_URL)
        .click("button#plus-btn")
        .expect.element('h1').text.to.equal('1')
        .end()
    })
  })

  describe('press minus button', () => {

    it('decrements counter', (browser) => {
      browser
        .url(process.env.VUE_DEV_SERVER_URL)
        .click("button#minus-btn")
        .expect.element('h1').text.to.equal('-1')
        .end()
    })
  })
})

异常信息

TypeError: browser.url(...).click(...).expect.element(...).text.to.equal(...).end is not a function

接下来我该做什么?

最佳答案

根据 docs ,当使用 expect 进行断言时,您应该以不同的方式调用 end。我认为这是因为 expect 方式是基于 chai 的。将您的测试更改为这样就可以了

it("increments counter", browser => {
  browser
    .url(process.env.VUE_DEV_SERVER_URL)
    .click("button#plus-btn")
    .expect.element("h1")
    .text.to.equal("1");
  // See how end is called differently
  browser.end();
});

关于javascript - 无法在带有 Nightwatch 的 Chai.js 中使用期望,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55411826/

相关文章:

javascript - jquery .click 函数不起作用,如何在 chrome 开发工具中查看?

javascript - 向视频添加 onclick 事件处理程序不起作用?

javascript - 在 Ember 的本地存储中,对象属性的值没有被更改

javascript - React Mocha-chai 测试无法识别 Prop 中的商店

javascript - 尝试维护用户 session 以使用 chai 请求代理进行测试时发送错误后无法设置 header

javascript - 选择框选项是可见还是隐藏?

php - 停止 PHP 执行 <?在 javascript 中

javascript - TypeError:Expect不是函数

selenium - Chromedriver 错误 "Chrome version must be >= 52"使用 Nightwatch

javascript - 带索引的 xpath 不能用作选择器