Любой язык - Помогите разобраться и выбрать средство автоматизации.

Аватара пользователя
e_consul

Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение e_consul »

Встала задача по автоматизации Windows десктоп-приложения с графическим интерфейсом. Задача была решена с помощью автокликера Clickermann, потому что он первый подвернулся под руку. В процессе появилось и укрепилось ощущение, что должно быть что-то более мощное и совершенное. В будущем возможны подобные задачи. Мне не нравится текущая реализация, но я пока не понимаю, что выбрать из имеющихся альтернатив. Есть AutoIT, есть скриптовые языки, есть Python и C#. Куча документации по каждому из них. Не нахожу главного на этом этапе - их предназначения и специализации. Я понимаю, что языки программирования мощнее и шире, но меня интересует аспект общения с GUI. Не могу выбрать, на что смотреть пристальнее. Я просмотрел темы по автоматизации здесь и на нескольких форумах тестировщиков. К сожалению, вынужден просить помощи.
Аватара пользователя
Iska

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение Iska »

e_consul, «общение с GUI» не является задачей автоматизации, это лишь попытка облегчить себе жизнь. Всё богатство выбора сводится, в основном, к AutoIt/AutoHotKey в традиционном случае.
Аватара пользователя
gannet

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение gannet »

e_consul, Так бы сразу и сказали, что QT, ибо AutoIt заточен под WinAPI/WinForms. Насколько понял при первичном изучении (а теперь еще и вспомнилИзображение), у WPF и QT есть функция UI Automation, но она должна быть включена разработчиком, и тогда хоть
powershell
. А вообще, вам, наверное, лучше на специализированные форумы обратиться, и, извините за глупый вопрос, но у вашего приложения точно нет api для взаимодействия без gui?

P.S. Далее я вам не советчик, ибо знаком только по курсу Технологии программирования в университете)
Аватара пользователя
Iska

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение Iska »

Цитата e_consul:



Желательно, с контролем выполнения на всех этапах
Любой язык - Помогите разобраться и выбрать средство автоматизации.




У AutoIt есть условия, циклы, ожидание окна с нужным заголовком\текстом (WinWait|Active), чтение текста контрола (ControlGetText), равно как и фокус на него (плюс к тому есть "прицел" - помогает определить свойства этого контрола на этапе написания скрипта), да и взаимодествие с пользователем, если на каком-то этапе | при каком-то условии необходимо - возможно Изображение
Аватара пользователя
e_consul

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение e_consul »

Большое спасибо за ответы, а в чем преимущество AutoIT перед Python или другими ЯП с их библиотеками и средствами тестирования? Они, конечно, изначально для других целей, но так тоже могут использоваться.

И еще один "глупый" вопрос. AutoIT не является ли надстройкой или оберткой над скриптовыми средствами Windows? Можно ли реализовать в скриптах тоже самое? Если нет, то чего скрипты не умеют, что умеет AutoIT?
Аватара пользователя
e_consul

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение e_consul »

Большое спасибо за ответы, а в чем преимущество AutoIT перед Python или другими ЯП с их библиотеками и средствами тестирования? Они, конечно, изначально для других целей, но так тоже могут использоваться.

И еще один "глупый" вопрос. AutoIT не является ли надстройкой или оберткой над скриптовыми средствами Windows? Можно ли реализовать в скриптах тоже самое? Если нет, то чего скрипты не умеют, что умеет AutoIT?
Аватара пользователя
gannet

Re: Любой язык - Помогите разобраться и выбрать средство автоматизации.

Сообщение gannet »

e_consul, AutoIt:предназначен для автоматизации операций с GUI (в основном)прост в освоении


прост в освоении

[spoiler]vbs:

Код:
[/spoiler]

Код: Выделить всё

Dim User32
Set User32 = XNHost.LoadDll( "user32.dll" )
Dim hWnd
hWnd = User32.GetForegroundWindow
Dim Caption
Set Caption = XNHost.Struct
Caption.Add "buffer" , "t", 1024
User32.GetWindowText hWnd, Caption, 1023
MsgBox Caption.buffer,0, "Foreground Window Caption"

autoit:

Код:

Код: Выделить всё

$sText = WinGetTitle("[ACTIVE]")
MsgBox(0, "Полное название/заголовок активного окна", $sText)





компилируемый (не требует от среды выполнения ничего, кроме Windows, ессно)
прочее
С питоном сталкивался мало (пара скриптов, не связанных с GUI), но похоже там также есть
автоматизация GUI
Ответить

Вернуться в «Скриптовые языки администрирования Windows»