我在 WPF 应用程序中有一个类似于下面的表。我们正在使用使用 VB.NET 的 Silk Test 17.5。
表是根据最新数据动态加载的。我需要单击特定行的“默认”(链接)。
例如,我需要单击 Trump1 、 Trump2 行的“默认”链接。
我该怎么做?默认链接的所有定位器都是相同的,我无法区分它们。有没有我可以将名字定位器附加到默认值以找出要单击的定位器?
托克奇
我在 WPF 应用程序中有一个类似于下面的表。我们正在使用使用 VB.NET 的 Silk Test 17.5。
表是根据最新数据动态加载的。我需要单击特定行的“默认”(链接)。
例如,我需要单击 Trump1 、 Trump2 行的“默认”链接。
我该怎么做?默认链接的所有定位器都是相同的,我无法区分它们。有没有我可以将名字定位器附加到默认值以找出要单击的定位器?
托克奇
SilkTest 有一个支持此类自定义控件的框架和一个很好的教程, 理论上你必须:
当然,正如教程告诉您的那样,如果您不想总是进行这些迭代,您应该创建一些更高级别的实用程序,您可以在其中一次获得 Cell。示例:GetGridViewRowCell(gridView, cellRow, cellColumn) 其中 cellRows 可以是更复杂的过滤器对象,您可以在其中描述哪个单元格必须具有哪个值才能识别正确的行
假设表格具有类似于 HTML 的层次结构,您应该能够执行以下操作:
//WPFDataGridCell[@text='Obama']
。..
。WPFDataGridRow
位置,再次向下搜索该行的“默认”链接//WPFHyperLink[@caption='Default']
。把它们放在一起,你会得到一个像//WPFDataGridCell[@text='Obama']/..//WPFHyperLink[@caption='Default']
.
当然,这只是基于您提供的信息的一个示例,因此如果您尝试它,请确保使用 Silk Test 的 locator spy 选择属性,以确保您获得正确的值。