Ranorex:通过自动化ID查找元素

时间:2016-07-24 23:19:14

标签: c# desktop-application ranorex

我是Ranorex的新手,并试图将Ranorex的C#API用于Windows桌面应用程序。如何仅通过C#中的自动化ID /文本查找元素?

寻找类似的东西,

mainWindow.Get(SearchCriteria.ByAutomationId("<automationId>"))
mainWindow.Get<Button>("<automationId>");

mainWindow.Button.GetElement("<automationId>");

但是在API文档中,我只能看到基于XPath(RanoreXPath)的对象识别。

3 个答案:

答案 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,帮助了我很多。