修改 Java 表上的录制选项

此任务描述如何修改 Java 表上的某些录制选项,以及编辑器用于识别 table_external_editors_list 的工具包类。

修改 SetCellData 方法的默认 JTable 录制

如果 JTable 的默认录制行为不提供特定编辑器的 SetCellData 语句的预期值,则根据单元格内对象上执行的操作,将该编辑器设置为要录制,如同自定义单元格编辑器一样。

执行以下某项操作:

  • 高级 Java 选项对话框中,选择“表单元格控件”>“要识别为单独测试对象的控件”,然后指定应始终视为单独对象 (而非 JavaTable 对象) 的特定单元格编辑器类型。

  • 创建 Setting.Java ("table_internal_editors_list") 语句。

返回页首

修改表单元格控件选项

还可以指定希望 UFT One 识别为单独测试对象或希望 UFT One 为其录制和运行 JavaTable 操作的表单元格控件的列表。

  1. 在“高级 Java 选项”对话框中,单击一次相关选项以使其突出显示。

  2. 再次单击该选项,或按 F2 打开可在其中添加或修改控件列表的编辑框。

  3. 根据需要更改值。

    备注: 指定由空格、制表符、换行符或回车符分隔的编辑器类名。这些值区分大小写。

  4. 完成值的编辑后,单击对话框中的其他位置设置该值。

  5. 要将更改应用到当前打开的测试或业务组件,请关闭并重新打开文档。

返回页首

查找 JTable 单元格编辑器的工具包类

如果不知道编辑器用于 table_external_editors_list 变量的工具包类的值,可通过以下方法之一找到该值:

  • 使用对象侦测器检索该值。

  • UFT One 中运行简短测试检索该值。使用不会保持足够长的激活状态以使用对象侦测器捕获单元格的单元格时,可能要执行此操作。例如,选中或清除复选框后,单元格将不再处于激活状态。

  • 创建用户定义的函数,并将其作为一个步骤插入测试。使用业务组件时,可能要执行此操作。

    可以插入与以下示例类似的步骤:

    ' Sample test to retrieve the toolkit class of a table cell editor
    ' that cannot be made continuously active
    Set table = JavaWindow("TableDemo").JavaTable("Left table").Object
    Set JTableCS = table.mic_get_supp_class()
    Set comp = JTableCS.getComponentAt(table, 0, 6) ‘row 0, col 6
    MsgBox comp.getClass().getName()
    ' Set the value of TABLE_EXTERNAL_EDITORS_LIST
    Setting.Java("TABLE_EXTERNAL_EDITORS_LIST") = comp.getClass().getName()

    返回页首

查找 JTable 单元格编辑器的工具包类

  1. 打开表,并激活单元格编辑器列中的单元格。例如,确保光标正在编辑字段内闪烁,或者显示组合框的下拉列表。

  2. 激活相应单元格后,使用对象侦测器指向活动的单元格。

  3. 确保显示对象侦测器的“属性”选项卡,并选择标识单选按钮。

  4. 属性列中,滚动到 toolkit class

  5. 列中,选择 toolkit class 的值。该值将显示在“属性”选项卡下的框中。

  6. 将该值从对象侦测器复制并粘贴到 表单元格控件 要识别为单独测试对象的控件选项或 Setting.Java ("table_internal_editors_list") 语句。

返回页首

修改 JTable 单元格内的单击位置

默认情况下,在 JTable 单元格内单击时,单击是在单元格中间进行的。

如果要单击 Java Swing 表内的其他点,请修改以下变量:

  • jtable_click_x_percent。在 1 到 100 之间,较小的数字表示单元格的左侧,较大的数字表示单元格的右侧。
  • jtable_click_y_percent。在 1 到 100 之间,较小的数字表示单元格的顶部,较大的数字表示单元格的底部。

这些变量代表单元的宽度和高度的百分比,并指定单击位置。

例如:

Setting.Java("jtable_click_x_percent") = "10"
Setting.Java("jtable_click_y_percent") = "30"
JavaWindow("SwingSet").JavaTable("Inter-cell spacing:").ClickCell 1,1

返回页首