Автоматизация браузеров Firefox и Chrome
Я ищу способ автоматизировать пару браузеров... Firefox и Chrome (теперь только на Windows) из внешнего приложения/процесса.
Есть ли способ сделать что-то в этом направлении:
- Запустите браузер с URL-адресом
- Загрузите страницу браузера на странице, запустите script и т.д.
- Осмотрите DOM
Для справки, IE может быть автоматизирован с использованием объекта InternetExplorer.Application, который может быть создан в оболочке script с использованием следующего javascript, а затем я могу пройти DOM API:
var ie = new ActiveXObject('InternetExplorer.Application');
Мотивационный сценарий здесь - автоматическое тестирование. Я хочу загрузить страницу, содержащую тестовый код, и собрать результаты после запуска теста.
Ответы
Ответ 1
http://watin.sourceforge.net/
WatiN делает именно это, и я считаю, что они недавно добавили поддержку Chrome
Обновление 6/22/2011:
Currrently WatiN работает только на Firefox 2 и 3, а не в Firefiox 4 (и почти наверняка не в Firefox 5, который был выпущен сегодня). Кроме того, время этого ответа, предположительно, добавляется поддержкой Chrome, но похоже, что он никогда не был полностью испечен и теперь не указан в качестве поддерживаемой платформы на их домашней странице.
Также стоит отметить, что по моему опыту WatiN стал намного медленнее, когда я обновился до IE9. Я видел это на двух разных машинах, и понижение до IE8 ускорило тесты на обеих машинах.
Я все еще часто использую WatiN, но теперь в основном для разработки с учетом поведения и функционального регрессионного тестирования, которые обычно не зависят от браузера. Затем вручную протестируйте в FF и Chrome для всех прогрессирующих тестов.
Обновление 9/22/2015:
Elmue прав, похоже, что WatiN больше не работает. Теперь мы изучаем Selenium для наших автоматических приемочных испытаний: http://www.seleniumhq.org
Ответ 2
TestR позволит вам автоматизировать IE, FF и Chrome. Я начал работать над поддержкой Edge, но просто не успел.
https://github.com/BobbyCannon/TestR
Вы можете использовать пакет nuget.
https://www.nuget.org/packages/TestR/
Вот несколько примеров.
https://docs.epiccoders.com/Page/35/TestR