Автоматизация тестов робота DOH прерывается всплывающим сообщением

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

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

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

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

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

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

2 ответа

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

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

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

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

Другие вопросы по тегам