请参阅Ranorex存储库元素

时间:2016-10-31 11:38:16

标签: c# ranorex

我有以下问题。

我想在一些情况下引用一些存储库元素。

例如,我有一个按钮。假设它是一个删除按钮。

它的名字是这样构造的: 假设我要删除名为“Joe”的元素 在这种情况下,在Spy中调用删除按钮:

Joe.DeleteButton

如果是Bill,则称为

Bill.DeleteButton

如果我想点击它,我想使用这样的声明:

repo.Joe.DeleteButton.Cklick();
repo.Bill.DeleteButton.Cklick();

但名称是在运行时确定的。

我可以设置,构造这个repo ...语句,或者有没有办法在动态时间(在运行时)?

2 个答案:

答案 0 :(得分:1)

如果Joe和Bill具有相同的类型并位于某个repo容器上,您可以像这样找到它们 Ranorex.Adapter namesContainer = repo.NamesContainer.Self; 列表与LT; Names_Type > namesList = namesContainer.FindChildren< Names_Type >();

之后,可以用这种方式点击每个名称

namesList [1] .DeleteButton.Click();

答案 1 :(得分:0)

对于我给出一个完整的答案,我需要知道两个删除按钮的XPath。

例如,如果Joe和Bill都是表单并且它们都包含删除按钮,则repo项的XPath语法可能是这样的:

Joe删除按钮= /form[@title='Joe']/button[@accessiblename='Delete']

帐单删除按钮= /form[@title='Bill']/button[@accessiblename='Delete']

如果您不想单击删除按钮,无论表单名称如何,只需将XPath语法更改为:

任何删除按钮= /form/button[@accessiblename='Delete']

您可以添加@processname以确保它是您应用的删除按钮,或使用您测试中的应用所独有的任何其他功能。

在您的特刊中,Ranorex间谍是您最好的朋友。

如果您不想了解更多关于XPath的信息,我建议您观看Ranorex的截屏视频(非常值得您花时间): Ranorex Screen casts

以下文章中还提供了有关XPath的有价值信息: Ranorex XPath tips and tricks

希望这有帮助!