vib*_*hor 10 javascript selenium node.js nightwatch.js
我是使用nightwatch.js的新手.我想获得一个元素列表,并使用给定的字符串验证每个元素的文本值.我试过了 :
function iter(elems) {
elems.value.forEach(function(element) {
client.elementIdValue(element.ELEMENT)
})
};
client.elements('css selector', 'button.my-button.to-iterate', iter);
Run Code Online (Sandbox Code Playgroud)
对于另一个stackoverflow问题但我现在正在使用的是
waitForElementPresent('elementcss', 5000).assert.containsText('elementcss','Hello')
Run Code Online (Sandbox Code Playgroud)
它正在返回输出
Warn: WaitForElement found 5 elements for selector "elementcss". Only the first one will be checked.
Run Code Online (Sandbox Code Playgroud)
所以我希望它应该验证列表中每个元素的文本值.
小智 7
所有的事情都不能通过nightwatch js简单的命令来完成,所以他们提供了自定义命令意味着selenium协议.在这里你可以拥有所有的 selenium协议.我使用以下代码来断言具有给定字符串"text"的每个元素的文本值.希望它会对你有所帮助
module.exports = {
'1. test if multiple elements have the same text' : function (browser) {
function iter(elems) {
elems.value.forEach(function(element) {
browser.elementIdText(element.ELEMENT, function(result){
browser.assert.equal(result.value,'text')
})
})
};
browser
.url('file:///home/user/test.html')
.elements('tag name', 'a', iter);
}
};
Run Code Online (Sandbox Code Playgroud)
我的HTML代码段
<div id="test">
<a href="google.com" class='red'> text </a>
<a href="#" class='red'> text </a>
<a href="#" class='red'> text 1</a>
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13527 次 |
最近记录: |