Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Помогите разобраться и выбрать средство автоматизации. (http://forum.oszone.net/showthread.php?t=320859)

e_consul 16-11-2016 22:01 2688150

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

Iska 17-11-2016 01:17 2688182

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

e_consul 17-11-2016 05:48 2688207

Конечно, я понимаю. Это лишь частный случай. Но мне надо выполнять эти "рутинные" операции от 100к до 1000к раз ) Желательно, с контролем выполнения на всех этапах, т.к. время затрачиваемое на них не всегда одинаковое.

gannet 17-11-2016 06:35 2688209

Цитата:

Цитата e_consul
Желательно, с контролем выполнения на всех этапах »

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

e_consul 17-11-2016 06:49 2688211

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

gannet 17-11-2016 07:45 2688212

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

e_consul 18-11-2016 19:18 2688690

Спасибо. Будет необходимость - покопаю )
Просто, в форуме про AutoIT - обсуждают его, что логично, но не дает возможности сравнивать и выбирать.
В других форумах тоже самое.
Вот например, ковыряю QT приложение стороннего производителя. API нет, документации нет, исходников нет. Надо нажимать на кнопки раз за разом, очень долго, чтобы выполнять запросы. Первым подвернулся кликер, сейчас бы я за него не взялся. Гораздо продвинутей есть инструменты. Вот и тыкаюсь в поисках, с прицелом на подобные задачи.

Iska 19-11-2016 03:49 2688774

Цитата:

Цитата e_consul
ковыряю QT приложение »

С QT будут проблемы.

e_consul 19-11-2016 09:24 2688790

Цитата:

Цитата Iska
С QT будут проблемы. »

Какие?

Iska 19-11-2016 09:29 2688793

Работа с элементами управления.

gannet 19-11-2016 10:01 2688798

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

e_consul 19-11-2016 10:01 2688799

Ну, примерно это я и читал. Средства для работы с ними посоветуете?

Цитата:

Цитата gannet
у вашего приложения точно нет api для взаимодействия без gui? »

Точно, если не прятали ) А спрятанный я не знаю как искать )


Время: 20:39.

Время: 20:39.
© OSzone.net 2001-