在守夜人中迭代元素

时间:2018-02-28 08:02:02

标签: testing nightwatch.js

我有一个网格视图表,我想测试具有不同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)
    }  

错误讯息: 预期的元素文本        at Object.Import_Batch [as Import Batch](C:\ Users \ Peter Wong \ Documents \ Nightwatch \ Volare_Admin \ import_manager.js:73:32)        at _combinedTickCallback(internal / process / next_tick.js:131:7)

第73行位于browser.expect.element(selector).text.to.contain(jsonObj.Sheet1 [i] .Account)

但是回复我的错误说文字不是元素。请帮忙。

1 个答案:

答案 0 :(得分:1)

错误指出的是,您使用的是字符串对象而不是选择器。如果你摆脱new String它应该有效。 由于您使用的是xpath,请不要忘记使用useXpath()

browser.useXpath().expect.element(selector).text.to.contain(jsonObj.Sheet1[i].Account)