我有一个奇怪的场景。我创建一个html页面,向其添加脚本标签。脚本标记包含UI组件的js文件,该组件使用react js完全开发。
我的HTML: 我使用本地网络服务器来启动此页面并能够看到我的组件,在这种情况下,它是一个模态'。
我在maven环境中编写java selenium测试来测试这个模态,并且它没有任何问题地进行测试。
我现在的要求是通过运行我的java selenium测试(甚至手动测试)来获得该组件的代码覆盖率。
这是否可行,可行。我做了很多谷歌搜索,找不到合适的东西。
非常感谢任何帮助。
答案 0 :(得分:1)
摘要,灵感来自上面发布的链接,但有些人可以简单地遵循。
将istanbul依赖项添加到package.json
通过运行此命令手动检测js文件
istanbul instrument test.js >> test-instumented.js
允许您的文件访问此已检测文件,而不是原始js文件。
现在,对于实际运行,在@AfterClass中或在运行所有测试之后以及关闭并退出webdriver之前添加此覆盖信息脚本。
现在转储了coverage.json文件以及所有覆盖范围信息。
是时候从中生成html报告了。转到您的coverage.json目录并运行以下命令,然后按Enter:
istanbul report
这将生成一个名为coverage的目录,在其中您可以找到lcov.info文件,您可以将其传递给sonarqube或打开html文件以查看结果。
快乐的代码覆盖率。