我在夜间测试中具有以下方法,该方法无法正常工作:
function checkCategoryRows(browser, theOptionText, rows) {
var isGood = true;
rows.value.forEach(function (row) {
browser.elementIdText(row.ELEMENT, function (categoryText) {
if (categoryText.value != theOptionText) {
browser.verify.ok(0 == 1, categoryText.value + ' = ' + theOptionText);
isGood = false;
} else
isGood = false; //<-- Manually making sure it sets either way
})
})
browser.verify.ok(isGood == true, theOptionText + ' category is good...');
}
isgood
始终是正确的;即使我手动设置它。看来browser.element(){}
呼叫内部的任何内容仅在该调用中范围内范围。在for loop
结束时,我该如何工作,我可以证明在那一组行中有些"不好"?
显然,在夜间观看中,没有'document'或'窗口'对象。似乎有一个"浏览器"对象似乎相似。这是我解决的方式:
function checkCategoryRows(browser, theOptionText, rows) {
browser.isGood = true;
rows.value.forEach(function (row) {
browser.elementIdText(row.ELEMENT, function (categoryText) {
//console.info(categoryText)
if (categoryText.value != theOptionText) {
browser.verify.ok(0 == 1, categoryText.value + ' = ' + theOptionText);
browser.isGood = false;
}
//else
// browser.isGood = false; // for testing
console.log('browser.isGood=' + browser.isGood);
})
})
browser.verify.ok(browser.isGood == true, theOptionText + ' category is good...');
}
设置browser.isGood = true;
最初使其可用于该方法的其余部分。