如何单击动态加载表的特定行中的链接

时间:2018-06-22 08:49:39

标签: selenium automated-tests silktest

我在WPF应用程序中有一个与下面类似的表。 我们正在使用VB.NET使用Silk Test 17.5。

{{3}}

表是根据最新数据动态加载的。 我需要单击“默认”(链接)以显示特定行。

例如我需要单击Trump1行Trump2的“默认”链接。

我应该怎么做?默认链接的所有定位符都是相同的,我无法区分它们。 我可以在“默认”后面附加“名字”定位器以找出要单击的定位器吗?

托奇

2 个答案:

答案 0 :(得分:2)

SilkTest有一个用于支持此类自定义控件的框架和一个不错的教程here 从理论上讲,您将必须:

  1. 列出控件上的所有方法
  2. 从上一个清单(或通过与开发人员交谈)中查找访问控件内行的方法
  3. 过滤您的行并获取您感兴趣的行
  4. 从该行中,您可以按照相同的模式获取单元格(找到为其提供访问权限的方法,对其进行获取,进行过滤)
  5. 点击链接

当然,正如本教程告诉您的那样,如果您不想总是进行这些迭代,则应该创建一些更高级别的实用程序,您可以在其中立即获取Cell。示例:GetGridViewRowCell(gridView,cellRow,cellColumn),其中cellRows可以是更复杂的过滤器对象,您可以在其中描述哪个单元格必须具有哪个值才能识别正确的行

答案 1 :(得分:1)

假设表格具有类似于HTML的层次结构,则您应该能够执行以下操作:

  1. 在要查找的行中找到一个容易找到的单元格,例如//WPFDataGridCell[@text='Obama']
  2. 在该单元格中,使用..将层次结构上移一个步骤。
  3. 现在您位于正确的WPFDataGridRow中,再次使用//WPFHyperLink[@caption='Default']向下搜索该行的“默认”链接。

将所有内容放在一起,您将获得一个像//WPFDataGridCell[@text='Obama']/..//WPFHyperLink[@caption='Default']这样的定位器。

当然,这只是基于您提供的信息的一个示例,因此,如果尝试使用该信息,请确保使用Silk Test的定位器间谍选择属性,以确保获得正确的值。