您如何将 ranorex 与 python 一起使用?

How do you use ranorex with python?

似乎是 Ranorex stopped support for python with version 3.x,那是 2011 年的事了。我只找到了有关如何将它与 IronPython 一起使用的旧文档。

你能提供一个如何获得 ranorex 的最小示例吗 运行,最好是在标准 CPython 中(而不是 IronPython)

好消息:Ranorex 仍然适用于 .NET for Python。只要 ranorex 支持 C# 或 VB API 并且 dotnet for python 仍受支持(确实如此,最后一次提交是几天前的时间),这仍然会在未来发生post).

现在,在 Python 中获取 Ranorex 遥控器 运行 有点棘手。此设置来自纯粹的反复试验并结合了不同的在线信息:

  1. 为 .net 安装 python:pip3 install pythonnet
  2. 找出ranorex的DLL文件夹。在我的例子中是 C:\Program Files (x86)\Ranorex 8.0\Bin\x64\。在此文件夹中,您应该看到几个 DLL(我的机器上有 75 个 DLL),包括 Ranorex.Core.dll

现在 Ranorex 应该可以在 Python 中使用了。这是一个小示例(您需要将 sys.path.extend() 替换为您从第 2 步获得的路径。

import sys
import clr

# make Ranorex module available, needs before the `import Ranorex`
sys.path.append('C:\Program Files (x86)\Ranorex 8.0\Bin\x64\')
clr.AddReference('Ranorex.Core') 
import Ranorex

Ranorex.Host.Local.RunApplication('C:\path\to\my_app.exe')

apps = [c for c in Ranorex.Host.Local.Children if "My App" in c.ToString()]
if len(apps) != 1:
    print("starting of 'My App' somehow failed, quitting now")
    sys.exit(1)

app = apps[0]
app.PressKeys('{LMenu down}{Fkey}{LMenu up}') # presses Alt-F -> e.g. opens the file menu

要开发您的 python 脚本,您最好在 ranorex 记录器中设置测试,然后通过 Export -> Generate C# Code (Ctrl-G) 生成 C# 代码。然后您需要将 C# 代码转换为 python,但这相对容易。