2016-09-04 10 views
0

私は要素がページにあります。そして異なるテキストがあるかもしれません。私は(コードは以下)のようにしようとしており、コンソールには表示されません。分度器で要素のテキストを一致させる

this.checkStatus = function() { 

    var element = $('.message') 
    browser.wait(EC.visibilityOf(element), 5000).then(function() { 
     browser.wait(EC.textToBePresentInElement(conStatus, 'TEXT1'), 500).then(function() { 
      console.log('TEXT1'); 
     }) 
     browser.wait(EC.textToBePresentInElement(element, 'TEXT2'), 500).then(function() { 
      console.log('TEXT2'); 
     }) 
     browser.wait(EC.textToBePresentInElement(element, 'TEXT3'), 500).then(function() { 
      console.log('TEXT3'); 
     }) 
     browser.wait(EC.textToBePresentInElement(element, 'TEXT4'), 500).then(function() { 
      console.log('TEXT4'); 
     }) 
    }) 
    return this; 
} 

おかげ

答えて

0

私は二つの問題を参照してください。まず、何が「状態」であるかを確かめないでください。それを修正する必要があります。第2に、一致する条件を見つけることができず、タイムアウトが満了すると、browser.waitはエラー/例外をスローします。したがって、最初の条件が満たされないと、タイムアウト例外が発生し、2番目の条件にはなりません。代わりに、以下のようなものを試してみてください。

var section = ""; 
this.checkStatus = function() { 

    var element = $('.message') 
    browser.wait(EC.visibilityOf(element), 5000).then(function() { 
     browser.wait(()=>{ 

     if(EC.textToBePresentInElement(element, 'TEXT1')){ 
        section = "Text1"; 
     } 
      else if(EC.textToBePresentInElement(element, 'TEXT2')) { 
        section = "Text2"; 
      } 
     else if(EC.textToBePresentInElement(element, 'TEXT3')) { 
        section = "Text3"; 
     } 
      else if(EC.textToBePresentInElement(element, 'TEXT4')) { 
        section = "Text4"; 
      } 
     if(section !== "") 
      return true; 
    }, 5000).then(()=>{ 
    <here you can do anything based on 'section'> 

} 

注 - 私はコンパイルエラーを確認していません。

0

わからない何をするためにアップされていますが、"or"で複数の予想される条件に参加することができます。

var conStatus = $('.message'); 
var containsText1 = EC.textToBePresentInElement(conStatus, 'TEXT1'); 
var containsText2 = EC.textToBePresentInElement(conStatus, 'TEXT2'); 
var containsText3 = EC.textToBePresentInElement(conStatus, 'TEXT3'); 
var containsText4 = EC.textToBePresentInElement(conStatus, 'TEXT4'); 

browser.wait(EC.or(containsText1, containsText2, containsText3, containsText4), 5000); 
+0

こんにちはAlecxeを!手伝って頂けますか ? http://stackoverflow.com/questions/39284506/how-to-integrate-protractor-test-cases-in-atom-using-typescript http://stackoverflow.com/questions/39348479/how- jasmine-framewo-noredirect = 1#comment66036450_39348479 のような書式を書いて書いた分度器テストスクリプトを使用しています。 –

関連する問題