2017-01-09 10 views
1

Я новичок во всей концепции захвата покрытия JS. То, как я намереваюсь использовать инструмент покрытия JS, - проверить, сколько строк моего кода JS попало под мои тесты, запущенные в браузере, таким образом используя покрытие кода, чтобы импровизировать мое тестовое покрытие. Может ли кто-нибудь привести меня к примеру/инструменту, как захватить покрытие JS для теста, выполняемого с помощью selenium webdriver.Охват кода JS с помощью тестов селена

ответ

0

Вы можете попробовать JSCover в manual вы можете найти, как интегрировать его с селеном.

+0

Я попытался JSCover и наблюдал несколько со стороны петель: 1. Провайдер JSCover в настоящее время поддерживает только HTTP, а не HTTPS 2. С помощью HTTP он не собирает данные покрытия моего приложения 3. Не уверен, что репозиторий поддерживается в последнее время – user3488072

+0

Также со следующей оценкой я более склонен к использованию istanbul [ ссылка] (HTTP: // stackoverflow.com/questions/32042195/blanket-js-vs-istanbul-js-vs-jscover) любая помощь вокруг этого была бы высоко оценена – user3488072

+0

> 2. С помощью HTTP он не собирает данные о покрытии моей заявки что-то не так с вашей конфигурацией. Имеются рабочие примеры на странице https://github.com/tntim96/JSCover-samples. > 3. Не уверен, что хранилище поддерживается в последнее время Это так. Последний релиз был 13 декабря 2016 года (28 дней назад с сегодняшнего дня). – tntim96

0

Инструмент типа nyc - это то, что вам нужно. Возьмите файл (ы) JS и запустить что-то вроде

NYC инструмента

на них и NYC будет изменять JS-файлы для записи покрытия. Используйте эти измененные файлы на своем веб-сайте. Затем выполните тесты на селен. В конце теста селена вам нужно захватить данные из файлов JS и сохранить их в json-файле. Я использую этот код для этого.

Драйвер IJavaScriptExecutor js = (IJavaScriptExecutor); string coverageData = (строка) js.ExecuteScript ("return JSON.stringify (window.cov_h0rgge4zy);"); File.WriteAllText (@ "C: \ someDir \ coverage \" + DateTime.Now.Ticks + ".json", "{\" someFile \ ":" + coverageData + "}");

затем запустить что-то вроде

отчет NYC HTML someCoverage.json

и вы получите отчет покрытия, HTML формат