2016-10-23 5 views
0

ページ上に要素が表示されていない間に何らかのアクションを行うメソッドを作成する必要があります。それが表示されたら私はテストを終了します。分度器AngularJS要素が表示されて何らかのアクションを実行するまで

this.waitHolidayInCalendarFunc = function() { 
       return browser.wait(anyHolidayInCalendar.isDisplayed() 
        .then(nextWeekButton.click())); 
      }; 

しかし、エラーが発生した

"失敗しました:fnが関数ではありません":

this.IsPresentHoliday = function() { 
      browser.wait(function() { 
       return holiday.isPresent(); 
      }, defaultDelay); 
     };" 

とテストIには私はこのような方法を行うにしようとした

このように 'while'を追加する

var clickNextWeek = new holidaycalendar.NavigateOnCalendarView(); 
while (clickNextWeek .IsPresentHoliday() == false) clickNextWeek.GoNextWeek(); 

しかし、メソッドisPresent()はtrueを返しますが、要素はページに存在しません。助けてください!

答えて

2

ExpectedConditionsbrowser.waitを使用すると、特定の条件でスクリプトを待機させることができます。以下のコードを試してみてください。

var EC = protractor.ExpectedConditions; 
var waitTime = 5000; //5 secs 
var elementToBeVisible = element(by.id("some-id")); 
browser.wait(EC.visibilityOf(elementToBeVisible),waitTime); 
+0

私は試してみました。 – Kate

関連する問題