使用selenium测试进行JS代码覆盖

时间:2017-01-09 08:53:05

标签: javascript code-coverage istanbul

我对捕获JS覆盖的整个概念不熟悉。 我打算使用JS覆盖工具的方法是检查我的JS代码在浏览器中运行的测试中有多少行,从而使用代码覆盖来即兴创建我的测试覆盖率。 有人可以引导我一个示例/工具,了解如何使用selenium webdriver捕获运行测试的JS覆盖率。

3 个答案:

答案 0 :(得分:0)

您可以在JSCover中尝试manual,了解如何将其与硒合并。

答案 1 :(得分:0)

像你一样的工具就是你所需要的。拿你的js文件并运行类似

的东西

nyc乐器

对他们和nyc将修改js文件以记录覆盖范围。在您的网站中使用这些修改过的文件然后运行你的硒测试。在selenium测试结束时,您需要从JS文件中捕获数据并将其保存到json文件中。我使用这个代码。

IJavaScriptExecutor js =(IJavaScriptExecutor)驱动程序;   string coverageData =(string)js.ExecuteScript(" return JSON.stringify(window.cov_h0rgge4zy);");             File.WriteAllText(@" C:\ someDir \ coverage \" + DateTime.Now.Ticks +" .json"," {\" someFile \& #34;:" + coverageData +"}");

然后运行

之类的东西

nyc报告html someCoverage.json

并且您将获得覆盖率报告,html格式

答案 2 :(得分:0)

将生成的.json文件保留在.nyc_output目录中,然后运行 下面的命令。 nyc report --reporter = html

参考https://istanbul.js.org/docs/advanced/coverage-object-report/