2017-12-28 42 views
1

AskJeevesで検索機能が機能しているかどうか、検索ボックスに正しい文字列が格納されているかどうかを確認します。これを確認するには分度器:1つのテストに合格しますが、もう1つは失敗します。

私は3を実行するステートメントを期待する:

expect(searched_term.getText()).toEqual('Baking a Cake without Margarine'); 
expect(searched_term.getText()).toEqual('Baking a Pie without Butter'); 
expect(searched_term.getText()).toEqual(search_box.getText()); 

だけもう一つは失敗するはずです。しかし、最初のものも失敗します。何故ですか?ここにエラーログがあります。また、私はどのように多くのexpect文を数え、console.log()の出力を数えることができますか?

エラーログは:

enter image description here

browser.waitForAngularEnabled(false); 
describe('Enter Search Query in Ask Jeeves', function() { 
    it('This will insert a query', function() { 
     browser.get(browser.baseUrl); 

     element(by.xpath('//*[@id="search-box"]')); 
     var search_box = element(by.name("q")).sendKeys('Baking a Cake without Margarine'); 
     browser.pause(1500); 


     var button = element(by.xpath('//*[@id="sbut"]')); 
     button.click(); 
     var searched_term = element(by.name("q")); 

     expect(searched_term.getText()).toEqual('Baking a Cake without Margarine'); 
     expect(searched_term.getText()).toEqual('Baking a Pie without Butter'); 
     expect(searched_term.getText()).toEqual(search_box.getText()); 
     // This expect statement checks if the term in the following page reflects the term originally searched. 
     // In addition this will check functionality of the search engine. 

     browser.pause(1500); 
    }); 
}); 

答えて

2

searched_term要素がinput要素である - それは、「テキスト」と入力の値value属性に格納されていません。 getText()getAttribute("value")と置き換えます。

expect(searched_term.getAttribute("value")).toEqual('Baking a Cake without Margarine'); 
+0

素晴らしい!ありがとう、Alecxe。 searched_termが入力要素であることをどうお知りになりましたか?それはJSのことですか?またはGoogle Chromeで要素を分析してそれが持つ属性を調べるだけです。 – Dasman

+0

@Dasman rightは、要素を調べるためのブラウザ開発ツールを使用していました。ありがとう。 – alecxe

関連する問題