Eclipse SWT / RAP HTML组件的浏览器中未显示ID属性

时间:2015-09-23 14:03:35

标签: eclipse swt eclipse-rap

我们正在使用RAP和Eclipse SWT在浏览器中呈现我们的应用程序UI。 我们希望使用selenium自动化应用程序测试,这需要每个HTML组件的ID。 但问题是小部件(在这种情况下是文本)没有" id"作为浏览器中可见的属性。

我们尝试使用以下文本小部件的setData方法,但仍然在浏览器中看不到id属性。

tf_offerId.setData(SWT.SKIN_ID, "myId1");
tf_offerId.setData(SWT.SKIN_CLASS, "myClass");

以下是我们的示例代码。

class A {
  private Text tf_offerId;
  void method1() {
    Composite comp_left = new Composite(this, SWT.NONE);
    Composite comp = new Composite(comp_left, SWT.NONE);
    GridLayout gl_comp = new GridLayout(3, false);
    gl_comp.marginWidth = 0;
    comp.setLayout(gl_comp);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false,1, 1));
    Label lbl = new Label(comp, SWT.NONE);
    lbl.setText("Offer Id / Cluster Id");
    lbl.setBackground(new Color(getDisplay(),220,220,220));
    lbl.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    tf_offerId = new Text(comp, SWT.BORDER);
    tf_offerId.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,true, false, 1, 1));
    tf_offerId.setToolTipText("Usage:\nsss_pricing/se_configuration-OfferId\nse_calculation-OfferId\nsss_build/sss_validation-ClusterId");
  }
}

请建议可能的解决方案。

1 个答案:

答案 0 :(得分:1)

要在客户端识别窗口小部件,最好定义一个专用的测试属性,其中包含用于测试的ID。使用此ID,可以在Selenium中识别窗口小部件。

可以在此处找到有关在客户端识别小部件以便使用Selenium进行测试的各种替代方法的讨论:

How to write UI tests for RAP with Selenium 2.0