QF测试没有ID的动态组件

问题描述 投票:0回答:1

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

web-frontend qf-test
1个回答
0
投票

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

  1. 打开一个新的测试套件(Ctrl + N)
  2. 将鼠标单击/检查事件记录到动态组件中,直接进入此新套件。
  3. 刷新浏览器页面(或执行任何需要执行的操作以使组件更改)。
  4. 打开第二个(新)测试套件(Ctrl + N)
  5. 将另一个鼠标单击/检查事件记录到第二个新套件中的动态组件上。

你现在有两套房。你的两个套房基本上都是这样的:

+ 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的记录可以通过Resolver脚本根据您的需要进行调整。使用解析器脚本,可以修改录制,以便不会记录某些窗口/组件节点,或者某些功能/额外功能将以不同方式记录,等等。

© www.soinside.com 2019 - 2024. All rights reserved.