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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何单击动态加载表的特定行中的链接相关的知识,希望对你有一定的参考价值。

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

enter image description here

表是基于最新数据动态加载的。我需要点击特定行的“默认”(链接)。

例如我需要点击Trump1,Trump2行的'Default'链接。

我该怎么办?默认链接的所有定位器都是相同的,我无法区分它们。有没有我可以将First Name定位器附加到Default以确定要单击哪个定位器?

Tokci

答案

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

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

总而言之,你会得到像//WPFDataGridCell[@text='Obama']/..//WPFHyperLink[@caption='Default']这样的定位器。

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

另一答案

SilkTest有一个支持这种自定义控件的框架和一个很好的教程here理论上你必须:

  1. 列出控件上的所有方法
  2. 从上一个列表(或与开发人员交谈)中查找访问控件内部行的方法
  3. 过滤您的行并获得您感兴趣的行
  4. 从行开始,您可以按照相同的模式获取单元格(找出可以访问它的方法,获取它,过滤)
  5. 点击链接

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

以上是关于如何单击动态加载表的特定行中的链接的主要内容,如果未能解决你的问题,请参考以下文章

如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

在android中动态创建选项卡并使用传入的参数加载片段

单击链接加载组件

ExtJS 4 - 如何禁用特定行中的复选框

单击行中的切换按钮时,如何从 mysql select 生成的 php 表中发布?

单击主屏幕小部件时如何打开特定片段