Нажмите ссылку из всплывающего окна - PullRequest
0 голосов
/ 30 мая 2018

У меня проблема с кликом по ссылке из всплывающего окна.После нажатия на кнопку в течение примерно 3 секунд отображается всплывающее окно:

<toast-container class="ng-tns-c12-31 ng-star-inserted">
<div class="toast-top-center" id="toast-container" style="position: fixed;">
  <!----><div class="toast toast-info ng-star-inserted ng-animating">
    <!----><div class="toast-close-button ng-tns-c12-31 ng-star-inserted" style="">×
    </div> 
    <!---->
    <div class="ng-tns-c12-31">
      <!----><span class="toast-message ng-star-inserted" style="">Section will removed. <a class="toast-link">Cancel</a></span>
      <!---->
    </div>             
  </div>
</div>
</toast-container>

Я пытался нажать «Отмена» с помощью

element(by.partialLinkText('Cancel'))

и

var cancelLink = $('#toast-container a');
browser.executeScript("arguments[0].click();", cancelLink)

Но ссылка не была нажата.Я понятия не имею, как утверждение работает нормально в этом всплывающем окне

var toastMessageBox = $('#toast-container');
    this.assertClearSelectionToastMessage = function () {
        expect(toastMessageBox.$('span').getText()).toBe(toastText)
        return this;
    }

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Может быть, вы можете попытаться принудительно нажать на ссылку, используя Действия Webdriver Builder?

Что-то вроде: browser.wait(protractor.ExpectedConditions.visibilityOf(element(by.css('a.toast_link'))), 5000); driver.actions().click(element(by.css('a.toast_link'))).perform();

Проблема с этимчто он работает только в настольных браузерах - он еще не реализован в Appium - поэтому вам, возможно, придется ввести некоторую логику, чтобы сделать это иначе, если вы тестируете также и в мобильных браузерах.

0 голосов
/ 30 мая 2018

Всплывающее окно еще не загружено.Ссылка не видна, поэтому ее нельзя нажать.Вам нужно дождаться появления всплывающего окна.

Возможно, элемент будет кликабельным, а нажатие на элемент ничего не даст.

См .: https://stackoverflow.com/a/21387564/1997776

@ JonnyЛидс отметил, что:

Главное, на что нужно обратить внимание, это то, включена ли кнопка или нет.Вы по-прежнему можете щелкнуть их, и ничто не упадет, и элемент есть, но он не готов к щелчку, поэтому просто ничего не делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...