winforms - Ranorex winforms 本地化问题

标签 winforms ranorex

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

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

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

    最佳答案

    Ranorex 支持团队的建议:

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

    关于winforms - Ranorex winforms 本地化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261632/

    相关文章:

    c# - 设置 DataGridView 的数据源时出现问题

    c# - 在 C# Winforms 应用程序中从命令提示符收集数据的好方法是什么?

    c# - 面板上两个用户控件之间的 "toggle"的最佳方法?

    c++ - Microsoft Active Accessibility、VB6 和 Ranorex

    c# - 让 Ranorex 等到文本更改?

    c# - WinForms WebBrowser - FireBug 检查类似元素的突出显示

    c# - 如何获取splitContainer.Panel2下的所有按钮和标签

    c# - 在 C# 中可以轻松导入和管理哪种文件类型

    windows - 使用 "SupressWhenMinimzed"安全关闭 RDP session 后,远程计算机的屏幕分辨率发生变化

    python - 你如何将 ranorex 与 python 一起使用?