夜间守卫文本断言中的奇怪行为

时间:2017-06-11 01:34:18

标签: selenium nightwatch.js

当我试图在一个dom中断言简单文本时,我对nightwatchjs很新并遇到一种奇怪的行为

enter image description here

相同的断言方法和一个有效,但另一个没有

// This works
client.expect.element('#MenuToggle').text.to.contain('Menu'); 

// This doesn't work and it always returns empty "" string
client.expect.element('#BackToMain').text.to.contain('Back to main'); 

1 个答案:

答案 0 :(得分:0)

您的问题中给出的代码是正确的并且应该有效...为了帮助您进行调试,请尝试运行以下最小的工作示例:

HTML index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Nightwatch</title>
</head>
<body>
  <a href="#" class="site-header__menu" id="MenuToggle">Menu</a>
  <a href="#" class="site-header__back-to-main" id="BackToMain">Back to main</a>
</body>
</html>

JavaScript test.js

module.exports = {
  'Test': function (browser) {
    browser.url('http://localhost:8000/index.html'); // Change this if needed
    browser.expect.element('#MenuToggle').text.to.contain('Menu');
    browser.expect.element('#BackToMain').text.to.contain('Back to main');
    browser.end();
  }
};

<强>命令

nightwatch -t tests/test.js


如果不起作用:

  1. 检查您的环境是否正常(适用于节点v7.7.4 + Nightwatch v0.9.14 )。
  2. 编辑您的问题以添加更多代码。