QF测试没有ID的动态组件

时间:2018-03-05 10:44:59

标签: web-frontend qf-test

我正在使用Qf测试软件测试组件是动态的并且没有ID,我们尝试了xpath但是Html树很复杂。您是否有任何想法如何在Qf测试中处理该步骤说明???

1 个答案:

答案 0 :(得分:0)

最简单的方法,如果你只有一个或几个这样的动态组件:

  1. 打开一个新的测试套件(Ctrl + N)
  2. 将动态组件上的鼠标单击/检查事件记录到此新套件中。
  3. 刷新您的浏览器页面(或执行任何需要完成的操作以便更改组件)。
  4. 打开第二个(新)测试套件(Ctrl + N)
  5. 将另一个鼠标点击/检查事件记录到您的动态组件中,插入第二个新套件。
  6. 您现在有两间套房。您的两个套房基本上都是这样的:

    + Testset: unknown
      + Testcase: unknown
    + Procedures
    + Extras
      + Recording ...
        + Mouse click
          QF-Test component ID: someText
    + Window and components
      + Window
        + ... some nodes ...
          + Component
            QF-Test ID: someText
    

    重要的是要注意,鼠标单击的QF-Test组件ID与您的"窗口和组件下面的组件节点的QF-Test ID具有相同的ID /字符串"节点。这是因为"窗口和组件"节点代表某种数据库。每当鼠标单击/文本重放/检查/ ...节点被重放时,QF-Test将使用此id /字符串搜索组件节点(在"窗口和组件"节点下方)。然后,QF-Test将尝试根据此组件节点中提供的识别信息以及此组件节点的父节点在GUI中查找组件。手册中描述了有关此识别算法的有趣细节。最重要的章节是:

    因此,通过查看多个(两个)录制之间的差异,通常可以提出一个描述所需组件的组件层次结构。一般来说,最简单的方法是删除所有中间父节点。所以

    + Window and components
      + Window
        + ... some nodes ...
          + Component
            QF-Test ID: someText
    

    正在成为

    + Window and components
      + Window
        + Component
          QF-Test ID: someText
    

    然后比较两个套件中此组件节点和Window节点的所有功能,额外功能和其他属性。删除两个套件中不同的那些,除了" QF-Test ID"属性。在这里选择组件的发言名称。现在,您可以在" QF-Test组件属性中使用所选的说话名称"鼠标点击等节点。

    通常就是这样。但是,现在发生的组件描述现在可以匹配应用程序中要测试的太多组件。在这种情况下,需要再次添加额外功能等,直到识别变得稳定。

    如果您有多个此类组件,QF-Test的录制可以通过解析器脚本根据您的需要进行调整。使用解析器脚本,可以修改录制,以便不记录某些窗口/组件节点,或者以不同方式记录某些功能/额外功能等等。