2

我正在尝试为本地化应用程序编写一个通用测试模块。

  1. 我遇到的第一个问题是 MenuItems 不支持 controlname 属性。目前我的菜单项是通过文本或accessiblename 属性定位的。有没有办法支持 controlname 属性?
  2. 我试图让 text 和 accessibilityname 属性指向一个变量,然后将该变量绑定到某个外部字典。据我了解,外部数据源被视为包含单个变量的各种数据项的行。我看不到使用将第一列视为变量名并将第二列视为变量值的外部数据源的方法。有没有办法实现这样的功能?
  3. 我想了一种方法来扩展 RanorexXPath 以接受函数。然后我可以编写类似 ...menuitem[text=localizationService.Translate("#ADMINISTRATION") 的内容,并让 Ranorex 根据 localizationService.Translate 函数的结果找到菜单项。有没有办法做到这一点?
  4. 最后,通过使用全局变量和模块变量,我在某种程度上设法获得了我需要的结果。我所做的是创建一个模块,该模块使用本地化服务来用正确的数据填充模块变量。接下来我将模块变量绑定到全局参数并在后续测试中使用数据。对于大量变量,这很容易出错并且难以实现。有没有办法直接从代码访问和设置全局变量(无需使用绑定)?

如果任何 4. 点是可能的,请告诉我。

4

1 回答 1

3

Ranorex 支持团队的建议:

通常只有整个菜单是 WinForms 中的一个控件。该控件 (MenuItems) 中的元素只能通过 MSAA 识别。问题是无法访问 MenuItems 的“名称”属性。作为解决方法,我建议在您的应用程序中使用属性“AccessibleDescription”来自动化菜单。此属性也可用于独立于语言的名称。

于 2013-05-01T07:34:11.397 回答