Вопрос

Следующая команда

selenium.click("link=Identify Awards");

открывает всплывающее окно, однако тест не продолжается

Я поместил

selenium.waitForPopUp(null, "1500");
selenium.windowFocus();
selenium.selectPopUp("Search -- Webpage Dialog");

После команды click безрезультатно ссылка в a java функции.

Я знаю, что эта команда нажимает на ссылку, кнопку, флажок или переключатель. Если действие Click вызывает загрузку новой страницы (например, ссылка обычно делает), вызовwaitForPageToLoadОтказ Я думаю, что waitforPageToLoad не регистрирует всплывающую загрузку

Обновлять

Я попробовал следующее

selenium.fireEvent("link=Identify Awards", "onClick");

и получил следующее

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

Exception in thread "Main Thread" org.openqa.selenium.ie.UnexpectedJavascriptExecutionException: Cannot execute script
System info: os.name: 'Windows Vista', os.arch: 'x86', os.version: '6.1', java.version: '1.5.0_12'
Driver info: driver.version: ie
    at org.openqa.selenium.ie.ErrorHandler.verifyErrorCode(ErrorHandler.java:70)
    at org.openqa.selenium.ie.InternetExplorerDriver.executeScript(InternetExplorerDriver.java:205)
    at org.openqa.selenium.internal.seleniumemulation.JavascriptLibrary.callEmbeddedSelenium(JavascriptLibrary.java:47)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:35)
    at org.openqa.selenium.internal.seleniumemulation.FireEvent.handleSeleneseCommand(FireEvent.java:1)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:33)
    at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:47)
    at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:277)
    at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:209)
    at com.thoughtworks.selenium.DefaultSelenium.fireEvent(DefaultSelenium.java:201)
Это было полезно?

Решение

использовать selenium.selectWindow выбрать всплывающее окно, а затем использовать selenium.selectWindow(null) выбрать базовое окно. Вы не описали, как это всплывает. Это подтверждающее поле или кадр или диалоговое окно модели или просто другое окно. Селен отличается лечением всех этих

Другие советы

Я обнаружил, что в некоторых случаях при запуске JavaScript в частности функция щелчка Selenium не вызывает правильную команду элементов onclick правильно, и это может быть проблема, которую вы столкнулись.

Если это так, попробуйте использовать следующее, чтобы явно уволить событие onClick:

selenium.fire_event("link=Identify Awards", "onClick")

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top