【问题标题】:Mapping ui:field in GWT to generated code将 GWT 中的 ui:field 映射到生成的代码
【发布时间】:2011-07-10 19:59:48
【问题描述】:

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

例如,我有以下内容:

<g:Button text="Submit" ui:field="submitButton" enabled="true" />

生成:

<button class="gwt-Button" type="button">Submit</button>

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

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

ui:field="sumbitButton"

到生成的 HTML?

【问题讨论】:

    标签: gwt uibinder


    【解决方案1】:

    经过进一步调查,我发现您可以启用用于测试目的的 debugIds。如果添加:

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

    到您的 *.gwt.xml 文件中,您可以在您的 ui 元素上设置 debugId,如下所示:

    <g:Button text="Submit" ui:field="submitButton" enabled="true" debugId="submitButton"/>
    

    还可以在代码隐藏中使用确保调试 id 方法

    submitButton.ensureDebugId("submitButton");
    

    【讨论】:

    • 嘿。你是如何用硒点击这个按钮的?我尝试了几件事,但在让 selenium 单击按钮时遇到问题!
    • 我没有使用 selenium,但由于这只是在元素上设置 Id,因此您应该能够根据 Id 在 selenium 中选择它。
    • 请记住,生成的调试 ID 将是 gwt-debug-submitButton
    • 将 DebugInfo.setDebugIdPrefix("") 放入您的 onModuleLoad() 以从所有 ID 中删除 gwt-debug- 前缀。
    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多