Javascript 使用selenium测试的JS代码覆盖率

Javascript 使用selenium测试的JS代码覆盖率,javascript,code-coverage,istanbul,Javascript,Code Coverage,Istanbul,我对捕获JS覆盖的整个概念都是陌生的。 我打算使用JS覆盖工具的方法是检查我的JS代码中有多少行被在浏览器中运行的测试击中,从而使用代码覆盖率来临时提高我的测试覆盖率。 有人能给我介绍一个示例/工具,介绍如何使用selenium webdriver为运行的测试捕获JS覆盖率。您可以在中尝试,您可以找到如何将它与selenium集成。像nyc这样的工具正是您所需要的。获取js文件并运行类似的操作 纽约仪器 在他们和纽约市将修改js文件,以记录覆盖率。在您的网站中使用这些修改过的文件。然后运行sel

我对捕获JS覆盖的整个概念都是陌生的。 我打算使用JS覆盖工具的方法是检查我的JS代码中有多少行被在浏览器中运行的测试击中,从而使用代码覆盖率来临时提高我的测试覆盖率。
有人能给我介绍一个示例/工具,介绍如何使用selenium webdriver为运行的测试捕获JS覆盖率。

您可以在中尝试,您可以找到如何将它与selenium集成。

像nyc这样的工具正是您所需要的。获取js文件并运行类似的操作

纽约仪器

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

IJavaScriptExecutor js=(IJavaScriptExecutor)驱动程序; string coverageData=(string)js.ExecuteScript(“返回JSON.stringify(window.cov_h0rgge4zy);”; writealText(@“C:\someDir\coverage\”+DateTime.Now.Ticks+“.json”、“{\'someFile\”:“+coverage data+”}”)

然后运行类似于

纽约报告html someCoverage.json


您将得到覆盖率报告,html格式

将生成的.json文件保存在.nyc_输出目录中,然后运行 在命令下面。 纽约报道——reporter=html


参考

我试过JSCover并观察到一些铰链侧:1。JSCover代理目前只支持HTTP,不支持HTTPS 2。使用HTTP,它不会收集我的应用程序3的覆盖率数据。不确定存储库是否后期维护,因此,通过以下评估,我更倾向于使用伊斯坦布尔。对此,我们将非常感谢您提供的任何帮助>2。使用HTTP时,它不会收集我的应用程序的覆盖率数据。您的配置一定有问题。上有工作示例。>3.不确定最近是否维护了存储库。最后一次发布是2016年12月13日(从今天起28天前)。