2014-07-07 4 views
0

Я буквально начал изучать Селен сегодня, поэтому, пожалуйста, несите меня, если я пропустил что-то очевидное. Я пытаюсь создать небольшую службу Windows, которая может контролировать несколько веб-сайтов, чтобы проверить, что они работают и работают правильно, и проверить их эффективность (например, мы заметили, что CDN работает медленно в последнее время). До сих пор я включил то, что я считаю, являются правильной NuGet зависимость:Запуск без запуска окна браузера

  • Селена WebDriver
  • Селен WebDrive Классы поддержки
  • Selenium.WebDriver.ChromeDriver

Тогда очень простой раздел из Код для тестирования:

using (var driver = new ChromeDriver()) 
{ 
    driver.Navigate().GoToUrl("http://www.google.com"); 
} 

Это нормально работает, и я могу запустить это на нескольких потоках, оберните секундомер вокруг них и т. д., но одна из проблем, которые я заметил, это то, что на самом деле запускает диалоговое окно браузера, тогда как я действительно хочу работать в режиме «безголовый» или «без окон». Я не могу SimpleBrowserDriver, но это не требует дополнительных запросов, чтобы захватить все соответствующие CSS & JavaScript для мониторинга производительности.

+0

См. [Это] (http://www.chrisle.me/2013/08/running-headless-selenium-with-chrome/) и [это] (http://www.installationpage.com/selenium/ how-to-run-selenium-headless-firefox-in-ubuntu /), они могут быть релевантными. – qqbenq

+0

@qqbenq: Я посмотрел на них, и я не думаю, что они есть. Я считаю, что я по существу делаю первый в C#, и я не уверен, как перевести второй в то, что я делаю. – Ian

ответ

0

Похоже, что вы ищете что-то вроде phantomjs, или можете попробовать запустить тесты с помощью службы BrowserStack. Phantomjs - это безгласный браузер, который вы можете запустить со своего сценария, и предоставит вам фоновый просмотр, который вы ищете. BrowserStack - одна из нескольких услуг, через которые вы можете направлять свои тесты; они обрабатывают браузер в фоновом режиме, сохраняя при этом возможность просмотра скриншотов и запуска журналов. BrowserStack предлагает бесплатную пробную версию, но затем платный сервис, поэтому phantomjs может быть лучшим вариантом, если он соответствует вашим целям.

+0

Andrew. Я хочу, чтобы это выполнялось через службу Windows, но записывая результаты в базу данных, информируя меня о том, как долго сайт должен был ответить – Ian

0

HTMLUNIT или PhantomJS будет вашим идеальным решением. У нас есть аналогичные безголовые рамки. Создание WebApps на основе CMS. Однако PhantomJS и HTMLUnits не обрабатывают родной браузер. Оповещения и зависимые тесты не сработают. BrowserStack - отличное решение, но многое будет принято во внимание При написании тестовых скриптов, таких как более явное ожидание, поскольку их машины могут быть больными, особенно при разрыве Java Script, который имеет тенденцию замедлять тестирование и иногда терпит неудачу.

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

Смежные вопросы