Автоматизация испытаний робота DOH прерывается всплывающим сообщением - PullRequest
0 голосов
/ 29 июля 2010

Чтобы автоматизировать тесты DOH во время нашего процесса сборки, я использую Selenium RC для запуска других браузеров (IE и Firefox) на сервере, расположенном в другом домене, чем машина для сборки. Каждый браузер направлен на наш runTests.html для запуска DOH.

Иногда при запуске теста, использующего doh.robot, отображается следующее сообщение:

"DOH обнаружил, что текущая веб-страница пытается получить доступ к DOH, но принадлежит к другому домену, чем тот, на который вы согласились автоматизировать DOH. Если вы не намеревались начать новый тест DOH, посетив На этой веб-странице нажмите Отмена и покиньте веб-страницу "

но поскольку эти тесты не выполняются, он просто ждет, когда кто-нибудь нажмет OK, и Selenium отключается (в IE 8 кажется, что всплывающее окно исчезает автоматически, но робот ничего не делает после этого).

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

Кто-нибудь знает способ запретить показ этого всплывающего окна?

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Вероятно, это неправильный способ сделать это, но в util / doh / robot / DOHRobot.java вы можете изменить код, чтобы не проверять это, или всегда имитировать нажатие кнопки «ОК».Я сам не пробовал, но мне может понадобиться сделать это и для некоторых наших автоматических тестов.

0 голосов
/ 24 мая 2011

Когда робот DOH инициализируется, он сначала пытается щелкнуть в верхнем левом углу страницы, которую вы пытаетесь протестировать. Если вы затемните этот div (вы можете увидеть его с помощью firebug), появится сообщение. Я думаю, проблема в том, что ваша страница не всегда загружается достаточно быстро.

Исправить это довольно сложно. Некоторое время я не использовал DOH, но я не думаю, что есть способ, которым вы можете использовать setTimeout, чтобы это исправить. (Вы можете попробовать использовать setTimeout в команде doh.run, но может случиться так, что робот DOH нажимает на этот div перед анализом любых команд doh.)

Еще одна вещь, которую вы можете сделать, это добавить в Selenium команду «ожидания» или любую команду оболочки, которую вы используете для запуска системы.

...