2016-07-01 2 views
2

Я пытаюсь использовать PhantomJSDriver для тестирования приложения, и я получил ошибки, чтобы получить эквивалент Selenium объекта Alert. Я пробовал:Как получить объект Alert с PhantomJSDriver в java?

if (driver instanceof PhantomJSDriver) { 
    PhantomJSDriver phantom = (PhantomJSDriver) driver; 
    Alert alert = (Alert) phantom.executeScript("return window.alert;"); 
} 
else { 
    Alert alert = driver.switchTo().alert(); 
} 

но он не работает. Как я могу получить объект Alert?

+0

Что такое исключения, вы получаете ??? –

+0

Я должен изменить состав в String (ClassCastException), и после получения этой строки: «function alert() {[native code]}». Это нормально, потому что я получаю функцию предупреждения javascript. – Steefler35

+0

Вы можете просто принять оповещение с помощью этого ... 'phantom.executeScript (" window.alert = function() {return true;} ");' ..Не нужно его отличать. –

ответ

2

Я не думаю, что используя PhantomJS вы можете получить объект Alert.

Чтобы просто принятьalerts, вы должны попробовать, как показано ниже, для каждой перезагруженной страницы, которая будет иметь оповещение позже на странице.

if (driver instanceof PhantomJSDriver) { 
PhantomJSDriver phantom = (PhantomJSDriver) driver; 
phantom.executeScript("window.alert = function(){return true;}"); 
} 

Надеется, что это поможет ... :)

+1

кажется, что это работает, спасибо ! – Steefler35

Смежные вопросы