Nightwatch.js - 获取元素的标题并稍后进行比较
Nightwatch.js - Getting title of element and compare it later
我正在使用 Nightwatch.js 进行 E2E 测试。
在测试中,点击 table 列表中的特定元素应该会出现 select 一篇文章。然后文章被加载。
现在我想通过比较标题来检查是否加载了正确的文章。
如何获取 selected 元素的文本?在我的代码中,只需单击该元素。第二部分,对这个题目进行比较。在我下面的代码中,它只是硬编码:
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()
}
}
如果我理解你的问题,我认为你需要使用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
我正在使用 Nightwatch.js 进行 E2E 测试。
在测试中,点击 table 列表中的特定元素应该会出现 select 一篇文章。然后文章被加载。
现在我想通过比较标题来检查是否加载了正确的文章。
如何获取 selected 元素的文本?在我的代码中,只需单击该元素。第二部分,对这个题目进行比较。在我下面的代码中,它只是硬编码:
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()
}
}
如果我理解你的问题,我认为你需要使用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