我有以下问题。
我想在一些情况下引用一些存储库元素。
例如,我有一个按钮。假设它是一个删除按钮。
它的名字是这样构造的: 假设我要删除名为“Joe”的元素 在这种情况下,在Spy中调用删除按钮:
Joe.DeleteButton
如果是Bill,则称为
Bill.DeleteButton
如果我想点击它,我想使用这样的声明:
repo.Joe.DeleteButton.Cklick();
repo.Bill.DeleteButton.Cklick();
但名称是在运行时确定的。
我可以设置,构造这个repo ...语句,或者有没有办法在动态时间(在运行时)?
答案 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
希望这有帮助!