Автоматизация браузеров Firefox и Chrome

Я ищу способ автоматизации нескольких браузеров... Firefox и Chrome (на данный момент только для Windows) из внешнего приложения / процесса.

Есть ли способ сделать вещи по этим направлениям:

  1. Запустите браузер с URL
  2. Браузер должен загрузить страницу, запустить скрипт и т. Д.
  3. Осмотреть DOM

Для справки, IE может быть автоматизирован с помощью объекта InternetExplorer.Application, который может быть создан в сценарии оболочки с использованием следующего javascript, а затем я могу пройтись по DOM API:

var ie = new ActiveXObject('InternetExplorer.Application');

Мотивирующим сценарием здесь является автоматизированное тестирование. Я хотел бы загрузить страницу, содержащую тестовый код, и собрать результаты после запуска теста.

2 ответа

Решение

http://watin.sourceforge.net/

WatiN делает именно это, и я думаю, что они недавно добавили поддержку Chrome

Обновление от 22.06.2011: В настоящее время WatiN работает только в Firefox 2 и 3, а не в Firefiox 4 (и почти наверняка не в Firefox 5, выпущенном сегодня). Кроме того, во время этого ответа предположительно добавлялась поддержка Chrome, но похоже, что она так и не была полностью выпечена и теперь не указана в качестве поддерживаемой платформы на их домашней странице.

Также стоит отметить, что по моему опыту WatiN стал намного медленнее, когда я обновился до IE9. Я видел это на двух разных машинах, и переход на IE8 ускорил тестирование на обеих машинах.

Я до сих пор активно использую WatiN, но сейчас в основном для поведенческого проектирования и функционального регрессионного тестирования, которые обычно не зависят от браузера. Затем вручную протестируйте в FF и Chrome все тесты прогрессии.

Обновление 22.09.2015: Elmue прав, похоже, над WatiN больше не ведется работа. Сейчас мы ищем Selenium для наших автоматических приемочных тестов: http://www.seleniumhq.org/

TestR позволит вам автоматизировать IE, FF и Chrome. Я начал работать над поддержкой Edge, но у меня просто не было времени.

https://github.com/BobbyCannon/TestR

Вы можете использовать пакет nuget.

https://www.nuget.org/packages/TestR/

Вот несколько примеров.

https://docs.epiccoders.com/Page/35/TestR

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