1

それは非常に明確です。いくつかのリンクを含む配列があり、それらすべてを試すためにループを構築したいのですが、問題はリンクが常に 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 );

しかし、それは常にエラーメッセージのchooseOfferオブジェクトを示しています...

4

1 に答える 1

3

これは古典的な閉鎖問題で、以下で詳しく説明されています。

あなたの場合、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);
}
于 2015-01-14T15:22:23.390 に答える