我使用Approval Tests和WatiN来测试我的ASP.NET MVC2页面的集成。 WatiN启动IE打击给定的URL,然后给我一个变量的浏览器的HTML响应。然后,批准测试允许我将html响应与“批准”版本的html响应进行比较。这个系统工作得很好,除了某些东西(无论是IE还是JQuery)将一个意外的属性添加到我的元素中。为什么我的FORM元素有一个随机的JQuery属性?
这里的形式标签的副本从IE的HTML响应:
<FORM method=post action=/Account/LogOn jQuery1314030136323="2">
通知的jQuery1314...
属性的形式的元素。它始终设置为“2”,但属性的名称始终不同(jQuery ###########)。由于每次都有所不同,我的批准测试失败。我需要在html输出上运行一个正则表达式,并用蛮力去除param,找到一种方法来使每个属性的名称相同,或者完全删除。有任何想法吗?
我故意不使用ASP.NET标记,因为我真的认为这是特定于IE或JQuery的。
能否请你给我一个如何jQuery.expando设置的东西为例:
如下您可以更改的expando线像'jquery'? –
添加到我的答案。 –
这是一个很好的答案,但我宁愿不修改我的jQuery源代码。相反,我选择了在我的html响应中运行正则表达式,并手动删除以'jquery'开头的属性。这个问题帮助我实现了这个目标:http://stackoverflow.com/questions/7151269/how-to-strip-out-one-common-attribute-from-every-form-element-on-the-page/7151545#7151545 –