我正在尝试在tabpanel中设置标签的ID。我写的代码是:
Panel dateTab = new VerticalPanel();
queryTabPanel.addTab("Date", dateTab);
其中queryTabPanel是另一个TabPanel。
我的问题:是为标签设置ID。这样我就可以点击tabpanel中的“日期”标签。 我尝试过:通过操纵DOM,如:
DOM.setElementAttribute(productTab.getElement(), "id", "Swagatika");
但这似乎不起作用。 :(
有没有人知道是否可能,如果是这样的话,添加ID有多难。
提前致谢。
答案 0 :(得分:2)
要使用WebDriver进行测试,您应该使用<inherits name="com.google.gwt.user.Debug"/>
的特殊模块(请参阅the GWT DevGuide中的“重命名模块”),并在您的小部件上调用ensureDebugId。
在您的情况下,在致电queryTabPanel.ensureDebugId("queryTabPanel")
后,第一个标签的ID为gwt-debug-queryTabPanel-bar-tab1
(有关详情,请参阅TabPanel.html#onEnsureDebugId)。
答案 1 :(得分:0)
除了Debug标志之外,您需要使用TabLayoutPanel.getTabWidget(...)
并在其上使用ensureDebugId
,如下所示:
SimpleLayoutPanel newTabPanel = new SimpleLayoutPanel();
tabLayoutPanel.add(newTabPanel, "Date Tab");
tabLayoutPanel.getTabWidget(newTabPanel).ensureDebugId("MyDateTab");
请注意,在将Widget添加到tabLayoutPanel之前设置调试ID不会产生任何影响。另外,请务必使用getTabWidget(..)
而不是getWidget(...)
。