Проблема заключается в том, что когда новое окно запускает тест, он зависает после строки waitForPageToLoad (3000) и, наконец, истечет время ожидания. Как только тест зависает, если я вручную запускаю какое-то событие в родительском окне, тест начинает выполняться нормально. Итак, в качестве решения я попытался добавить код, который выбирает родительское окно и запускает какое-то событие. Но этот код вообще не работает. Если бы кто-нибудь мог указать, где я что-то упускаю, или указать на мой неправильный подход.
Шаги, которые я выполнил:
Щелкните ссылку, которая откроет новое окно (здесь link=3018).
Как только открывается новое window2, никакие дальнейшие действия не выполняются автоматически, и тест просто зависает до истечения времени ожидания, после чего просто выдается исключение времени ожидания.
Вручную активировать событие (click link=outbox) в родительском окне1 до истечения времени ожидания.
Тест начинает выполняться в обычном режиме и завершается успешно.
Фрагмент кода (который отлично работает после ручного запуска события в родительском окне):
selenium.click("link=Last");
selenium.waitForPageToLoad("30000");
selenium.click("link=3018");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window2");
selenium.selectFrame("relative=up");
selenium.click("687c55");
selenium.waitForPageToLoad("30000");
assertEquals("window2", selenium.getTitle());
selenium.close();
Фрагмент кода (который не работает даже после добавления кода для выбора окна и активации события в родительском окне):
selenium.click("link=Last");
selenium.waitForPageToLoad("30000");
selenium.click("link=3018");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window1");
selenium.click("link=Outbox");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window2");
selenium.selectFrame("relative=up");
selenium.click("687c55");
selenium.waitForPageToLoad("30000");
assertEquals("window2", selenium.getTitle());
selenium.close();
Я не могу найти причину, по которой мой код все еще не работает после добавления кода для выбора родительского окна и запуска события щелчка. Он по-прежнему просто зависает и выдает исключение по истечении времени ожидания. :(
Есть ли ошибка при обработке всплывающих окон селеном? Хотел бы получить какие-либо предложения относительно модификации моего подхода к обработке всплывающих окон в селене.