看来,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(这是最近一次提交,是在几天前),这将在将来仍然存在。

现在,要使Ranorex远程控制在Python中运行有点棘手。此设置来自纯粹的反复试验,并在线组合了不同的信息:


为.net安装python:pip3 install pythonnet
找出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,但这相对容易。

09-25 19:54