2016-06-28 21 views
1

ステップ-8、テストの部分、コード二乗平均AngularJS - scenario.jsコード<a href="http://angularjs.org" rel="nofollow">angularjs.org</a>上のアプリケーション構築チュートリアルで

element.all(by.css('.phones li a')).first().click(); 
expect(browser.getLocationAbsUrl()).toBe('/phones/nexus-s'); 

感謝の次の行を行い、事前に何を!

PS: https://docs.angularjs.org/tutorial/step_08 IS-正確なURLとコードファイル(scenarios.js) IS-

'use strict'; 

// Angular E2E Testing Guide: 
// https://docs.angularjs.org/guide/e2e-testing 

describe('PhoneCat Application', function() { 

    describe('phoneList', function() { 

    beforeEach(function() { 
     browser.get('index.html'); 
    }); 

    it('should filter the phone list as a user types into the search box', function() { 
     var phoneList = element.all(by.repeater('phone in $ctrl.phones')); 
     var query = element(by.model('$ctrl.query')); 

     expect(phoneList.count()).toBe(20); 

     query.sendKeys('nexus'); 
     expect(phoneList.count()).toBe(1); 

     query.clear(); 
     query.sendKeys('motorola'); 
     expect(phoneList.count()).toBe(8); 
    }); 

    it('should be possible to control phone order via the drop-down menu', function() { 
     var queryField = element(by.model('$ctrl.query')); 
     var orderSelect = element(by.model('$ctrl.orderProp')); 
     var nameOption = orderSelect.element(by.css('option[value="name"]')); 
     var phoneNameColumn = element.all(by.repeater('phone in $ctrl.phones').column('phone.name')); 

     function getNames() { 
     return phoneNameColumn.map(function(elem) { 
      return elem.getText(); 
     }); 
     } 

     queryField.sendKeys('tablet'); // Let's narrow the dataset to make the assertions shorter 

     expect(getNames()).toEqual([ 
     'Motorola XOOM\u2122 with Wi-Fi', 
     'MOTOROLA XOOM\u2122' 
     ]); 

     nameOption.click(); 

     expect(getNames()).toEqual([ 
     'MOTOROLA XOOM\u2122', 
     'Motorola XOOM\u2122 with Wi-Fi' 
     ]); 
    }); 

    it('should render phone specific links', function() { 
     var query = element(by.model('$ctrl.query')); 
     query.sendKeys('nexus'); 

     element.all(by.css('.phones li a')).first().click(); 
     expect(browser.getLocationAbsUrl()).toBe('/phones/nexus-s'); 
    }); 

    }); 

}); 

答えて

1

それは/phones/nexus-sへのルーティングの試験です。 Protractorに書かれています。

最初の行はDOMを読み取り、すべての.phones li a CSSルールを見つけます。その後、最初のものだけを取り、click()を呼び出します。

element.all(by.css('.phones li a')).first().click(); 

2行目は機能browser.getLocationAbsUrl()の出力は、したがって、すべてのすべてのテストフレームワークで/phone/nexus-s

expect(browser.getLocationAbsUrl()).toBe('/phones/nexus-s'); 

文字列であることを期待ボタンをクリックすると、それは新しいページにルーティングすることを期待しています。

+0

お返事ありがとうございました。 – HardikT

+0

問題はありません@トロベディ。あなたはそれを感じるならば、答えを "1アップ"することもできます。 – eikooc

+0

もちろん、そうすることで1評判が下がります。 これで私を助けることができるかもしれません;) – HardikT

関連する問題

 関連する問題