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