Подтвердить что ты не робот

Selenium: Есть ли какой-либо инструмент для покрытия кода JS (JavaScript), который мы можем интегрировать с Selenium Server/RC

Selenium: есть ли какой-либо инструмент для покрытия кода JS (JavaScript), который мы можем интегрировать с Selenium Server/RC

Привет,

Я хочу охват кода JS, сделанный моим Selenium Test Suite

Есть ли какой-либо инструмент для покрытия кода, который может быть интегрирован с моей существующей средой rc selenium?

4b9b3361

Ответ 1

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

Инструмент является JSCover http://tntim96.github.io/JSCover/

Просто запустите сервер

  • Запустить сервер java -cp JSCover-all.jar jscover.server.SimpleWebServer. 8080
  • Запустить прокси-сервер  java -jar target/dist/JSCover-all.jar -ws -proxy -port = 3128 -report-dir = target

  • Добавить прокси в свой Webdriver для указанного порта, 3128 в моем случае

  • После выполнения теста Сгенерировать отчеты с помощью

    ((JavascriptExecutor) driver).executeScript("jscoverage_report();");
    

Вы можете добавить эту строку, где вы выходите из WebDriver или Test Case

Ответ 2

В теории вы можете использовать любой инструмент охвата, который позволяет кодировать код JavaScript для сбора данных о покрытии.

Например, вы можете использовать JSCoverage либо в режиме прокси (для инструментов в реальном времени), либо для статического инструментария для запуска тестов Selenium с инструментального кода.

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

Ответ 3

Не известно о инструменте для Selenium, но JsTestDriver имеет дизайн, очень похожий на Selenium RC (может запускать тесты из командной строки, и они выполняются на сервере, который безболезненно управляет браузерами) и предоставляет информацию о покрытии кода.

IntelliJ интегрируется с JsTestDriver и предоставляет визуальное отображение информации о покрытии.

Ответ 4

Я не знаю, чего вы пытаетесь достичь, но:

  • Selenium тестирует конечный результат, как видно на самой странице.

Так что действительно не имеет значения, если его PHP, HTML, JSP, ASP или .NET - селен предназначен для имитации конечного пользователя и нажмите окончательное приложение - окончательный код HTML, созданный тем, что находится под капотом.

Селен также не очень хорош для тестов покрытия кода - один фрагмент кода может быть на многих страницах - поэтому лучший подход с селеном - это "охват пользователя" - попробуйте охватить все возможные действия, которые мог бы сделать живой человек с вашей страницей

Ответ 5

Взгляните на https://github.com/yui/yuitest/wiki/Code-Coverage

Я интегрировал этот инструмент в свои тесты Selenium некоторое время назад. Вам нужна небольшая работа для сбора информации о покрытии до изменения страницы (в любом случае js запускает перезагрузку страницы, ссылку и т.д.)

После того, как вы настроите все, он полностью охватит любые js, выполненные во время загрузки Selenium, и проверит ваши страницы веб-сайта.

PS: Даже если он был специально адаптирован для теста YUI, вы можете использовать его с селеном.

Ответ 6

Нет специального инструмента, который может интегрировать с Selenium для покрытия JS. Однако есть много инструментов, которые проверяют JS на каждой странице, которые могут определить, были ли у JS, выполняющие на вашей веб-странице какие-либо ошибки. Это может быть не идеальным решением, но на каждой странице вы будете иметь меру uptil, которая указывает JS, выполненную надлежащим образом на тестируемой веб-странице. Для этого есть два решения:

1.) API JSErrorCollector:. Он будет напрямую интегрироваться с Selenium и сообщать вам о наличии ошибок на странице. Можно найти по адресу: http://mguillem.wordpress.com/2011/10/11/webdriver-capture-js-errors-while-running-tests/

2.) Полноценные инструменты покрытия JS. Здесь есть отличный список инструментов, который по существу поможет вам прикрывать JS на ваших веб-страницах. Можно найти по адресу: JavaScript unit test инструменты для TDD