Как вы используете ранорекс с питоном?

Похоже, что Ranorex прекратил поддержку Python с версией 3.x, которая была еще в 2011 году. Я нашел только старую документацию о том, как использовать ее с IronPython.

Можете ли вы привести минимальный пример того, как запустить ranorex, лучше всего в стандартном CPython (а не в IronPython)


person hansaplast    schedule 21.12.2017    source источник


Ответы (1)


Хорошие новости: Ranorex все еще работает с .NET for Python. И это все еще будет в будущем, пока C# или VB API будут поддерживаться ranorex и пока dotnet для python все еще поддерживается (что и есть, последняя фиксация была сделана несколько дней назад на момент написания этого поста).

Теперь немного сложно заставить удаленное управление Ranorex работать на Python. Эта установка была получена путем проб и ошибок и объединения различных фрагментов информации в Интернете:

  1. Установите питон для .net: pip3 install pythonnet
  2. Найдите папку 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, а затем сгенерировать код C# поверх Export -> Generate C# Code (Ctrl-G). Затем вам нужно будет перевести код C # на python, но это относительно просто.

person hansaplast    schedule 21.12.2017
comment
вы можете просто добавить пути, содержащие библиотеки DLL Ranorex, в sys.path. - person denfromufa; 27.12.2017
comment
@denfromufa: спасибо за подсказку, теперь я адаптировал свой ответ. Так намного проще и чище - person hansaplast; 04.01.2018