在Nightwatch中迭代元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Nightwatch中迭代元素相关的知识,希望对你有一定的参考价值。
我有一个网格视图表,我想测试具有不同xpath名称的列行。例如,
Row Elements 1 - Test Value
Row Elements 2 - Test Value
Row Elements 3 - Test Value
browser.useXpath()
browser.waitForElementVisible('//*[@id="asuccess"]', 1200000)
browser.waitForElementPresent('//*[@id="SearchListGridView_DXMainTable"]', 7000)
for (var i = 0; i < jsonObj.Sheet1.length;++i) {
selector = '//*[@id="SearchListGridView_DXDataRow' + i + '"]/td[4]';
browser.expect.element(selector).text.to.contain(jsonObj.Sheet1[i].Account)
}
错误消息:在_combinedTickCallback处于Object.Import_Batch [作为导入批处理](C: Users Peter Wong Documents Nightwatch Volare_Admin import_manager.js:73:32)的预期元素文本(internal / process / next_tick.js: 131:7)
第73行位于browser.expect.element(selector).text.to.contain(jsonObj.Sheet1 [i] .Account)
但是回答我的错误,说文字不是元素。请帮忙。
答案
这是错误指出的,你使用的是字符串对象而不是选择器。它应该工作,如果你摆脱new String
。既然你正在使用xpath,别忘了使用useXpath()
,
browser.useXpath().expect.element(selector).text.to.contain(jsonObj.Sheet1[i].Account)
以上是关于在Nightwatch中迭代元素的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 nightwatch.js 或 javascript 列出具有共同属性值的相同元素?