Хорошие новости: Ranorex все еще работает с .NET for Python
. И это все еще будет в будущем, пока C# или VB API будут поддерживаться ranorex и пока dotnet для python все еще поддерживается (что и есть, последняя фиксация была сделана несколько дней назад на момент написания этого поста).
Теперь немного сложно заставить удаленное управление Ranorex работать на Python. Эта установка была получена путем проб и ошибок и объединения различных фрагментов информации в Интернете:
- Установите питон для .net:
pip3 install pythonnet
- Найдите папку 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