2017-01-09 37 views
1

我对捕捉JS覆盖的整个概念很陌生。 我打算使用JS覆盖工具的方式是检查我的JS代码有多少行被浏览器中运行的测试所击中,因此使用代码覆盖率来即兴测试覆盖范围。 有人可以引导我一个示例/工具如何捕捉JS测试运行使用硒webdriver的覆盖率。通过硒测试的JS代码覆盖

回答

0

你可以试试JSCovermanual你可以找到如何与硒结合。

+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.不知道最近是否维护知识库 是。最新版本是2016年12月13日(距离今天28天前)。 – tntim96

0

像nyc这样的工具就是你需要的。把你的js文件(S)和运行像

纽约仪器

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

IJavaScriptExecutor js =(IJavaScriptExecutor)driver; string coverageData =(string)js.ExecuteScript(“return JSON.stringify(window.cov_h0rgge4zy);”); File.WriteAllText(@“C:\ someDir \ coverage \”+ DateTime.Now.Ticks +“.json”,“{\”someFile \“:”+ coverageData +“}”);

然后运行像

NYC报告HTML someCoverage.json

,你会得到覆盖报告,html格式