continuous-integration - Selenium 中集成的 xHTML 标记检查器

标签 continuous-integration selenium markup tidy

最近,我思考如何通过在持续集成机器上使用 xHTML 源的持续检查来提高项目质量。

看,我们有一个项目

http://sourceforge.net/projects/jtidy - jTidy JTidy 是 HTML Tidy 的 Java 端口,是一个 HTML 语法检查器 和 pretty-print 。

它可以通过命令行界面验证 xHTML。或者这个工具可以按照我们需要的方式进行扩展,因为所有源代码都是开放的。

我们可以覆盖每个Selenium验证方法,例如assertTextPresent或任何其他方法,因此它将调用jTidy(通过提供当前状态的HTML源),并且如果出现一些错误或警告 - 可以将其保存到Continental集成机器构建的日志 - 因此任何相关项目都可以看到此信息。

我们不能重写所有的 Selenium 方法,在每个步骤中集成这个调用,而是在我们想要的地方(在 DOM 操作之后)进行这个调用。

是的,我们可以为我们的网站使用 W3C 标记验证器,但是使用此验证器不可能验证页面源的非初始状态。创建页面后,可能会有大量 DOM 操作,这些操作可能会产生标记错误/警告 - 我们可以使用此方案立即找到它。

使用持续集成的好处之一是您可以从代码中获得快速反馈 - 它如何与现有代码库集成,测试单元和功能测试是否通过。为什么不获取额外的有用信息,例如即时 xHTML 标记验证状态。我们越早发现问题,就越容易解决。

我还没有在谷歌中找到任何关于这个主题的内容。 想知道您对这个想法有何看法?

最佳答案

似乎是一个值得的想法。

我之前用 CI 做过两件类似的事情:

  1. 我用过 Ant 的 XMLValidate作为构建过程一部分验证静态 xhtml 文件的任务

  2. 我使用 httpunit 来提取页面,然后将其解析为 xml

但是在功能测试运行期间绑定(bind)到 Selenium 来验证内容的想法对我来说很新颖。

关于continuous-integration - Selenium 中集成的 xHTML 标记检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618890/

相关文章:

html - 比 <aside> 更好的放置广告的元素

build - 跳过 Jenkins 工作中的步骤

angular - Azure DevOps - Angular 项目构建失败,错误为 : Npm failed with return code: 3

docker - 在 CI/CD 工作流程中使用 Lets Encrypt HTTPS 的正确方法是什么?

docker - CI上kubectl在交互模式下运行失败

c# - Selenium Firefox 驱动程序 - 由于 "DirectoryNotFoundException"无法加载 FirefoxProfile

javascript - 我无法编辑 Selenium Standalone 上的超时

markup - 你如何在fogbugz Cases(tickets)中制作代码块?

java - 使用 Java/Selenium 从网站下载视频?

html - 为图像添加说明