将GWT中的ui:field映射到生成的代码

Dim*_*tar 7 gwt uibinder

我正在尝试在GWT应用程序上进行一些自动UI测试,而我却无法找到跟踪UI元素的方法.

例如,我有以下内容:

<g:Button text="Submit" ui:field="submitButton" enabled="true" />
Run Code Online (Sandbox Code Playgroud)

产生:

<button class="gwt-Button" type="button">Submit</button>
Run Code Online (Sandbox Code Playgroud)

设置ui:field和id都是编译器错误(无论如何都认为id已被弃用)所以问题是我没有简单的方法来使用像selenium这样的东西来选择我的提交按钮.

有谁知道我可以映射的方式

ui:field="sumbitButton"
Run Code Online (Sandbox Code Playgroud)

生成的HTML?

Dim*_*tar 8

经过进一步调查后,我发现您可以启用debugIds,以便进行测试.如果你添加:

<inherits name="com.google.gwt.user.Debug"/>
Run Code Online (Sandbox Code Playgroud)

在你的*.gwt.xml文件中,你可以在你的ui元素上设置debugId:

<g:Button text="Submit" ui:field="submitButton" enabled="true" debugId="submitButton"/>
Run Code Online (Sandbox Code Playgroud)

并且通过使用ensure debug id方法在代码隐藏中

submitButton.ensureDebugId("submitButton");
Run Code Online (Sandbox Code Playgroud)