设置调试ID而不是在元素上设置普通id有什么好处:
button.ensureDebugId("myDebugId");
button.getElement().setId("myId");
如果我花时间设置一些id,为什么不把它永久化呢?为什么调试id?
答案 0 :(得分:3)
使用调试ID时,您要确保生产环境中使用的编译排列具有较小的文件大小,因为它没有任何调试信息。调试ID应仅用于开发。
这对最终用户很重要,因为您的应用会加载更快。
答案 1 :(得分:3)
使用调试ID的优点在于,它使项目的开发人员清楚地知道这些id 仅用于Selenium(或其他基于DOM的方法)测试。它清楚地表明它们不应该被用于生产应用程序。
理想情况下,您使用2个不同的GWT模块(一个用于生产,一个用于测试):
Production.gwt.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN"
"http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<inherits name='com.google.gwt.user.User'/>
<entry-point class='com.mycompany.MyApp'/>
</module>
Testing.gwt.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN"
"http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
<module>
<inherits name='com.mycompany.Produdction'/>
<inherits name="com.google.gwt.debug.Debug"/>
</module>
这可以确保调试ID只会在测试阶段出现在DOM中,并且不会污染您的生产应用程序。