你如何使用pyore的ranorex?

时间:2017-12-21 13:45:00

标签: python testing python.net gui-testing ranorex

似乎是Ranorex stopped support for python with version 3.x,它早在2011年。我只找到了关于如何在IronPython中使用它的旧文档。

你能提供一个最小的例子来说明如何运行ranorex,最好是在标准CPython(而不是IronPython)

1 个答案:

答案 0 :(得分:2)

好消息:Ranorex仍与.NET for Python合作。只要仍然支持dotnet for python并且只支持{{3}}(这是最后一次提交是在几天前发布的时候),这仍然是将来的。

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

  1. 安装.net:pip3 install pythonnet
  2. 的python
  3. 找出ranorex的DLL文件夹。就我而言,它是C:\Program Files (x86)\Ranorex 8.0\Bin\x64\。在此文件夹中,您应该看到几个DLL(我的机器上有75个DLL),包括Ranorex.Core.dll
  4. 现在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上生成C#代码 - > Generate C# Code (Ctrl-G)。然后你需要将C#代码翻译成python,但这相对容易。