看来,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,但这相对容易。