对于捕获JS覆盖的整个概念,我还是个新手。我打算使用JS覆盖率工具的方法是检查在浏览器中运行的测试命中了我的JS代码的多少行,从而使用代码覆盖率来即兴实现我的测试覆盖率。有没有人可以指导我如何使用selenium webdriver为测试运行捕获JS覆盖率的示例/工具。
发布于 2017-06-08 06:11:18
像nyc这样的工具就是您所需要的。获取js文件并运行如下所示的命令
nyc仪器
然后nyc将修改js文件以记录覆盖范围。在你的网站中使用这些修改过的文件。然后运行您的selenium测试。在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\":”+ coverageData + "}");
然后运行类似于
纽约市报告html someCoverage.json
你会得到覆盖范围的报告,html格式
发布于 2018-10-25 12:52:16
将生成的.json文件保存在.nyc_output目录中,然后运行下面的命令。纽约报道--reporter=html
参考https://istanbul.js.org/docs/advanced/coverage-object-report/
https://stackoverflow.com/questions/41544158
复制相似问题