我正在使用Nightwatch.js进行E2E测试。
在测试中,应该单击表格列表中的特定元素来选择文章。然后文章被加载。
现在我想通过比较标题来检查是否已加载了正确的文章。
如何获取所选元素的文本?在我的代码中,只需单击该元素。在第二部分中,应该比较这个标题。在下面的代码中,它只是硬编码:
module.exports = {
'article': function(browser) {
browser
.click('#list tbody tr:first-child .selectable')
.waitForElementVisible('#article-wrapper', 10000)
browser.expect.element('h1').text.to.equal('specific title')
browser.end()
}
}
答案 0 :(得分:1)
如果我理解你的问题,我认为你需要使用getText
方法。我不知道您的HTML代码的结构,但这个最小的工作示例肯定会帮助您:
HTML ( index.html )
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Nightwatch</title>
</head>
<body>
<h1>Foo</h1>
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Foo</td>
<td>Bar</td>
</tr>
</table>
</body>
</html>
JavaScript ( title.js )
module.exports = {
'Title': function (browser) {
browser
.url('http://localhost:8000/index.html') // Change this if needed
.waitForElementPresent('body', 1000);
browser.getText('table tr:last-child td:first-child', function (title) {
browser.expect.element('h1').text.to.equal(title.value);
});
browser.end();
}
};
<强>命令强>
nightwatch -t tests/title.js