我是Ranorex的新手,并试图将Ranorex的C#API用于Windows桌面应用程序。如何仅通过C#中的自动化ID /文本查找元素?
寻找类似的东西,
mainWindow.Get(SearchCriteria.ByAutomationId("<automationId>"))
mainWindow.Get<Button>("<automationId>");
或
mainWindow.Button.GetElement("<automationId>");
但是在API文档中,我只能看到基于XPath(RanoreXPath)的对象识别。
答案 0 :(得分:2)
您不必提供整个XPath,而是使用like this:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import scala.util.Try
def getLocalDate(date: String): java.time.LocalDate = {
val pattern1 = DateTimeFormatter.ofPattern("dd MMM, yyyy")
val pattern2 = DateTimeFormatter.ofPattern("dd MMM yyyy")
val pattern3 = DateTimeFormatter.ofPattern("yyyy-MMM-dd")
val pattern4 = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val pattern5 = DateTimeFormatter.ISO_LOCAL_DATE
val result = Try {
LocalDate.parse(date, pattern1)
} recover {
case _ => LocalDate.parse(date, pattern2)
} recover {
case _ => LocalDate.parse(date, pattern3)
} recover {
case _ => LocalDate.parse(date, pattern4)
} recover {
case _ => LocalDate.parse(date, pattern5)
}
result.get
}
var s1 = "01/08/2010"
getLocalDate(s1)
答案 1 :(得分:0)
为了帮助找到XPath语法来查找元素,强烈建议使用Ranorex Spy(可以节省大量时间)。
我还建议使用录音机而不是直接用户代码,因为它大大简化了自动化测试维护......(并有助于学习Ranorex)。 顺便说一句,如果您使用录音机创建录音并打开其相应的源文件,您将看到执行您录制的任何操作所需的等效代码。开发用户代码时节省了大量时间......
希望这能指出你正确的方向。
答案 2 :(得分:0)
你知道它的位置(大约)吗?如果这样做,请打开SPY并单击“跟踪”,然后单击元素所在的区域。在SPY中,导航到“BROWSER&amp; RESULTS”选项卡并查看树。在右侧,您可以看到“概述/高级”选项卡,而在“高级”选项卡中,滚动到底部并查找元素的名称。
此外,您可以尝试这样做:编辑元素的路径并点击“应用”。例如,如上所述 - 使用取决于您的元素的.//text[@automationid='DealerNameText']
或.//button[@automationid='ButtonPause' and @visible='true']
。检查this,帮助了我很多。