将函数中的两个参数添加到 "then" protractor
Add two parameters in function into "then" protractor
很清楚。我有一个包含一些 link 的数组,我想构建一个循环来尝试所有这些,但问题是 link 始终为 3。这意味着它读取了我数组中的最后一个数字。为什么?我该如何解决?
var categories = ['1','2','3'];
for( var i = 0; i < categories.length; i++ ) {
var link = '/'+categories[i];
browser.get(link);
browser.sleep(2000);
browser.driver.getCurrentUrl().then( function(url) {
expect(url).toMatch(link);
});
}
我有 div 列表,我想从中随机读取信息。所以我做了以下
chosenOffer = Math.floor( (Math.random() * count ) + 1);
offer = element.all( by.className('offer')).get( chosenOffer );
但它总是显示错误信息 chosenOffer object...
这是一个经典的闭包问题,详细描述如下:
在你的情况下,让 expect()
解决承诺:
var categories = ['1','2','3'];
for (var i = 0; i < categories.length; i++) {
var link = '/' + categories[i];
browser.get(link);
browser.sleep(2000);
expect(browser.driver.getCurrentUrl()).toMatch(link);
}
很清楚。我有一个包含一些 link 的数组,我想构建一个循环来尝试所有这些,但问题是 link 始终为 3。这意味着它读取了我数组中的最后一个数字。为什么?我该如何解决?
var categories = ['1','2','3'];
for( var i = 0; i < categories.length; i++ ) {
var link = '/'+categories[i];
browser.get(link);
browser.sleep(2000);
browser.driver.getCurrentUrl().then( function(url) {
expect(url).toMatch(link);
});
}
我有 div 列表,我想从中随机读取信息。所以我做了以下
chosenOffer = Math.floor( (Math.random() * count ) + 1);
offer = element.all( by.className('offer')).get( chosenOffer );
但它总是显示错误信息 chosenOffer object...
这是一个经典的闭包问题,详细描述如下:
在你的情况下,让 expect()
解决承诺:
var categories = ['1','2','3'];
for (var i = 0; i < categories.length; i++) {
var link = '/' + categories[i];
browser.get(link);
browser.sleep(2000);
expect(browser.driver.getCurrentUrl()).toMatch(link);
}