夜间观看变量范围并访问外部.元件呼叫



我在夜间测试中具有以下方法,该方法无法正常工作:

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;最初使其可用于该方法的其余部分。

最新更新