【问题标题】:Protractor AngularJS wait till element is displayed and do some actionsProtractor AngularJS 等到元素显示并执行一些操作
【发布时间】:2016-10-23 10:27:31
【问题描述】:

我必须创建一个方法来执行某些操作,而某些元素在页面上不可见。当它显示我结束测试。

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

但是有错误

“失败:fn 不是函数”

我试过这样的方法:

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

在测试中我像这样添加'while'

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

但是方法 isPresent() 返回 true(但页面上不存在元素)并且测试通过了!请帮忙!

【问题讨论】:

    标签: javascript angularjs protractor


    【解决方案1】:

    使用ExpectedConditionsbrowser.wait 使您的脚本等待特定条件。试试下面的代码。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-27
      • 2020-06-11
      • 2023-04-03
      • 1970-01-01
      • 2016-01-27
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多