我正在测试使用DevExpress开发的新网页。对象Ids(html ids)都是随机字符串,与它们识别的内容无关。
即: a class =" dxm-content dxm-hasText dx" HREF =&第34 / CR /&SDPersonellHomePage#34; ID =" HeaderMenu_DXI0i0_T" style =" float:none;"> span class =" dx-vam">摘要页/ span> / a>
有没有办法告诉DevExpress给这个对象一个更有意义的ID? 或者添加另一个我们可以用来为我们的测试工件提供可读性的参数?
答案 0 :(得分:0)
使用Watir,如果模式本身是唯一的,您可以使用正则表达式来匹配属性。它比精确的字符串慢,但更灵活。例如:
browser.link(id: /HeaderMenu_\w{6}_T/)
browser.link(id: /HeaderMenu_\w{6}_T/, class: 'dx-vam')
browser.link(id: /HeaderMenu_\w{6}_T/, class: /^dx/)
browser.link(id: /^HeaderMenu_/, href: /PersonellHomePage$/)
答案 1 :(得分:0)
在与DevExpress支持进行多次对话后,他们现在声称他们实际上并不支持Selenium,并建议使用他们自己的测试引擎。
回顾一下,引擎几乎比录制和播放工具更好。 DevExpress明确声明他们不建议使用'Id'参数进行自动化测试,并且迄今为止还没有提供添加自定义参数的方法。
此时,如果您计划构建任何持久的自动化测试,我必须建议不要使用此工具。
如果DevExpress回复一个可行的解决方案,我会更新。