Помогите разобраться и выбрать средство автоматизации.
Встала задача по автоматизации Windows десктоп-приложения с графическим интерфейсом. Задача была решена с помощью автокликера Clickermann, потому что он первый подвернулся под руку. В процессе появилось и укрепилось ощущение, что должно быть что-то более мощное и совершенное. В будущем возможны подобные задачи. Мне не нравится текущая реализация, но я пока не понимаю, что выбрать из имеющихся альтернатив. Есть AutoIT, есть скриптовые языки, есть Python и C#. Куча документации по каждому из них. Не нахожу главного на этом этапе - их предназначения и специализации. Я понимаю, что языки программирования мощнее и шире, но меня интересует аспект общения с GUI. Не могу выбрать, на что смотреть пристальнее. Я просмотрел темы по автоматизации здесь и на нескольких форумах тестировщиков. К сожалению, вынужден просить помощи.
|
e_consul, «общение с GUI» не является задачей автоматизации, это лишь попытка облегчить себе жизнь. Всё богатство выбора сводится, в основном, к AutoIt/AutoHotKey в традиционном случае.
|
Конечно, я понимаю. Это лишь частный случай. Но мне надо выполнять эти "рутинные" операции от 100к до 1000к раз ) Желательно, с контролем выполнения на всех этапах, т.к. время затрачиваемое на них не всегда одинаковое.
|
Цитата:
Цитата e_consul
Желательно, с контролем выполнения на всех этапах »
|
У AutoIt есть условия, циклы, ожидание окна с нужным заголовком\текстом (WinWait|Active), чтение текста контрола (ControlGetText), равно как и фокус на него (плюс к тому есть "прицел" - помогает определить свойства этого контрола на этапе написания скрипта), да и взаимодествие с пользователем, если на каком-то этапе | при каком-то условии необходимо - возможно :up
|
Большое спасибо за ответы, а в чем преимущество AutoIT перед Python или другими ЯП с их библиотеками и средствами тестирования? Они, конечно, изначально для других целей, но так тоже могут использоваться.
И еще один "глупый" вопрос. AutoIT не является ли надстройкой или оберткой над скриптовыми средствами Windows? Можно ли реализовать в скриптах тоже самое? Если нет, то чего скрипты не умеют, что умеет AutoIT?
|
e_consul, AutoIt: - предназначен для автоматизации операций с GUI (в основном)
- прост в освоении
прост в освоении
vbs:
Код:
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
|
Спасибо. Будет необходимость - покопаю )
Просто, в форуме про AutoIT - обсуждают его, что логично, но не дает возможности сравнивать и выбирать.
В других форумах тоже самое.
Вот например, ковыряю QT приложение стороннего производителя. API нет, документации нет, исходников нет. Надо нажимать на кнопки раз за разом, очень долго, чтобы выполнять запросы. Первым подвернулся кликер, сейчас бы я за него не взялся. Гораздо продвинутей есть инструменты. Вот и тыкаюсь в поисках, с прицелом на подобные задачи.
|
Работа с элементами управления.
|
e_consul, Так бы сразу и сказали, что QT, ибо AutoIt заточен под WinAPI/WinForms. Насколько понял при первичном изучении (а теперь еще и вспомнил:)), у WPF и QT есть функция UI Automation, но она должна быть включена разработчиком, и тогда хоть powershell. А вообще, вам, наверное, лучше на специализированные форумы обратиться, и, извините за глупый вопрос, но у вашего приложения точно нет api для взаимодействия без gui?
P.S. Далее я вам не советчик, ибо знаком только по курсу Технологии программирования в университете)
|
Ну, примерно это я и читал. Средства для работы с ними посоветуете?
Цитата:
Цитата gannet
у вашего приложения точно нет api для взаимодействия без gui? »
|
Точно, если не прятали ) А спрятанный я не знаю как искать )
|
Время: 20:39.
© OSzone.net 2001-