Как я могу заставить Selenium запускать тесты только после завершения $ (document) .ready ()?

Наш сайт выполняет большую часть работы JavaScript / jQuery в функции $ (document) .ready (), настраивая кнопки, загружая контент через ajax и т. д. Selenium ожидает загрузки DOM, но затем переходит к тестированию до того, как .ready () будет

В частичном решении, похоже, используется проверка, есть ли в браузере ожидающие запросы ajax:

selenium.browserbot.getCurrentWindow().jQuery.active == 0

Однако это не гарантирует, что мы еще не настраиваем привязки для кнопок и прочего.

Любая помощь будет очень благодарна. Текущее «лучшее» предложение - добавить элемент на страницу в конце метода .ready (), который Selenium может уловить как сигнал к началу работы, но идея добавления такого кода для целей тестирования кажется в лучшем случае отрывочной. .

7
задан David Smith 14 January 2011 в 19:22
поделиться