2017-12-14 3 views
1

私のページにボタンがあり、分度器を使ってe2eテストを書きたいと思います。私が実装したいのは、ボタンをクリックすると、ページがhttp://localhost:8100/#/bookingに変わるということです。私はそれをどのように実装できますか?分度器が特定のURLを持つページに直接接続することをお待ちしています

describe('booking function', function() { 
    it('should go to booking page', function() { 
    broswer.get(localHostCruises); 
    element(by.css('.button.button-stable.button-block')).click(); 
    //sudo code 
    expect(page change to "http://localhost:8100/#/book"); 
    }) 
}) 

答えて

1

あなたはbrowser.getCurrentUrl()メソッドを使用する必要があるので、このような何か:あなたは以下のコードでこれを達成することができます

element(by.css('.button.button-stable.button-block')).click().then(function() { 
    expect(browser.getCurrentUrl()).toEqual("http://localhost:8100/#/book"); 
}) 
1

let targetLocation = 'your/target/location'; 

    browser.get('localHostCruises'); // Login page. 
    element(by.css('.button.button-stable.button-block')).click(); // click on button. 
    browser.setLocation(targetLocation); 

    // If Login takes some time, so wait until it's done. 
    browser.wait(() => { 
     return browser.getCurrentUrl().then((url) => { 
      let isMatch = url.match(targetLocation); 

      if (isMatch) { 
       page = new Page; // I assume you writing test cases in page object. 
      } else { 
       browser.setLocation(targetLocation); 
      } 

      return isMatch; 
     }); 
    }, 2000, 'Should throw an error message.'); 
関連する問題