在多种方式之间选择设置GWT元素ID

时间:2015-04-23 13:15:47

标签: java css gwt

据我所知,有两种方法可以在GWT中设置Web元素的ID。我需要执行Selenium自动化测试,并希望深入了解每种技术的相对优势。

选项1:普遍接受的方法

uiObject.ensureDebugId("idForMyElement");

此解决方案已有详细记录,并得到谷歌的正式支持。但是它有一些缺点:

我的团队必须为每个包的gwt.xml文件添加行,如下所示:

<inherits name='com.google.gwt.user.Debug' />

此外,Debug类预先设置&#34; gwt-debug&#34;默认情况下为ID。我意识到我可以改变这种行为,但我不想在我可以提供帮助的地方增加复杂性。

选项2:使用通用的setAttribute调用

uiObject.getElement().setAttribute("id", "idForMyElement);

这对我来说似乎更清洁 - 我可能会忽略任何不足之处吗?

相关资源: How can I set id for GWT widgets in UiBinder? https://code.google.com/p/google-web-toolkit/issues/detail?id=4176

1 个答案:

答案 0 :(得分:3)

第一个选项更好,因为您可以从生产代码中编译出调试ID,使其更小。

即使您不再需要它们,第二个选项ID也会存在。