5

Я использую AngularJS, и я хочу удалить ссылку, в таких случаях появляется предупреждение, подтверждающее удаление.Как нажимать OK в поле предупреждения с помощью транспортира

Я пытаюсь выполнить проверку e2e с помощью транспортира, как я могу подтвердить в поле предупреждения?

Я пробовал:

browser.switchTo().alert().accept() 

, но это не похоже на работу.

Есть ли какое-либо положение в транспортирнике для обработки предупреждающих ящиков?

ответ

2

попробовать

browser.driver.get('URL'); 
browser.switchTo().alert().accept(); 

или

browser.ignoreSynchronization = true 
browser.get('URL'); 
browser.switchTo().alert().accept(); 

или: browser.switchTo().alert() not working in protractor

+0

Тем не менее я получаю сообщение об ошибке «UnexpectedAlertOpenError: неожиданное предупреждение открытым» –

+0

@PrateekChoudhury вы нашли решение? – Nick

+0

Не используйте ignoreSynchronization. Текущая версия требует 'browser.waitForAngularEnabled (false)' – Machtyn

0

Настроенный обещание ждать настороже присутствовать :

function getAlertAndClose(element) { 
    return element.click().then(function (alertText) { 
     //Wait for alert to pop up 
     browser.wait(function() { 
      return browser.switchTo().alert().then(
       function() {return true;}, 
       function() {return false;} 
      ); 
     }, 3000); // Wait timeout 

     // Test alert is what you expect 
     var popupAlert = browser.switchTo().alert(); 
     alertText = popupAlert.getText(); 
     expect(alertText).toMatch('Are you sure you want to delete this?'); 

     // Close alert 
     popupAlert.dismiss(); 
    }) 
} 

var saveButton = $('.saveBtn'); 
getAlertAndClose(saveButton); 
Смежные вопросы