1

角度のない Web サイトの検索結果が並べ替え順に表示されることを検証する方法を教えてください。

リストされたすべてのアイテムを配列にキャプチャし、後でそれらが並べ替えられているかどうかを検証しようとしていました。ただし、テスト結果を配列にプッシュすることはできません。次のコード スニペットをご覧になり、これについてアドバイスをいただけますでしょうか。

//element locator for all funds.
var fundingOpportunityList = element.all(by.css('#search-results-list li a article h3'));

//page object
var fundingOpportunityPage = function(){

this.checkFundingItemsSorted = function() {
        //temporary array to store results
         var temp = [];

        //check 10 funding opportunities shown in first pagination tab
        fundingOpportunityList.then(function(items) {
          //Following section working i.e. 10 items shown in each page.
          expect(items.length).toBe(10);  

        }); 

        //This section is not working, unable to save results in Array
        fundingOpportunityList.each(function(elem,index){
            //retrieve all funding opportunities and store in an array
              elem.getText().then(function (text) {
                expect(text).toMatch('junk');  //this line added for debugging
                temp.push(text);    //trying to push text into an array

            });


        }); 

        expect(temp.length).toBe(10);  //length shown as 0
        expect(temp).toEqual('hello'); 

    }

以下はテスト結果の出力です。

1) テスト Web サイト - 資金調達機会リスト - 資金調達リストがソートされた順序で表示されていることを確認します メッセージ: 0 が 10 になると予想されます。

2) テスト Web サイト - ファンディング機会リスト - チェック ファンディング リストがソートされた順序で表示されます メッセージ: [ ] は 'hello' と等しいと予想されます。Stacktrace: エラー: [ ] は「hello」に等しいと予想されます。3) テスト Web サイト - 資金調達機会リスト - 資金調達リストがソートされた順序で表示されていることを確認します 4) テスト Web サイト - ファンディング機会リスト - チェック ファンディング リストがソートされた順序で表示されます メッセージ: 「ジャンク」に一致する「3Rs 賞」が期待されます。5) テスト Web サイト - 資金調達機会リスト - 資金調達リストがソートされた順序で表示されていることを確認します

4

1 に答える 1

0

の代わりにeach()、次を使用しますmap()

var fundingOpportunityList = element.all(by.css('#search-results-list li a article h3'));

var opportunities = fundingOpportunityList.map(function(elem) {
    return elem.getText();
});

expect(opportunities).toEqual(['hello1', 'hello2']); 
于 2015-06-05T21:50:18.080 に答える