Навчання - Автоматизація установки WinZip
Цей урок пояснює, як автоматизувати встановлення WinZip 9 SR-1. Передбачається, що ви вже знайомі зі створенням і запуском скриптів AutoIt і використовуєте AutoIt v3 Window Info для читання заголовків і текстів вікна, як показано в попередніх уроках Привіт світ! та Автоматизація блокноту.
Установка WinZip складається приблизно з 10 діалогових вікон, в яких ви повинні натискати кнопку (зазвичайNext) для продовження установки. Ми збираємося написати скрипт, який просто чекає, поки ці діалогові вікна з'являться, щоб натискати на відповідні кнопки. Як завжди в таких типах установки заголовок вікна кожного діалогу має той самий текст (WinZip Setup), тому ми повинні використовувати текст вікна, щоб розрізняти вікна. Скріншоти кожного діалогу надані, і ви можете клікнути на зображенні, щоб подивитися результати утиліти AutoIt v3 Window Info для цього діалогу.
Спочатку створіть каталог, з якого ми будемо виконувати встановлення WinZip та запускати наш скрипт. Скопіюйте в цей каталог інсталятор WinZip і створіть порожній скрипт на ім'яwinzipinstall.au3.

Зараз ми виконуємо встановлення вручну і пишемо скрипт у справі. Рядки автоматизації для кожного діалогового вікна будуть показані нижче під кожним скрином (не забувайте натискати на скрині, щоб переглянути результати утиліти AutoIt v3 Window Info). Ви також можете переглянути готовий скрипт для довідки.
Перший рядок скрипту легкий, ми хочемо запустити інсталяторwinzip90.exe. Отже перший рядок:
Перше діалогове вікно буде тимчасовим вікном:

Ми повинні чекати на це тимчасове вікно, поки воно не стане активним, а далі ми повинні емулювати натискання клавішіALT-s, щоб натиснути кнопкуSetup. У результаті рядкискрипта такі:
(Не забувайте натискати на картинку, щоб переглянути результати утиліти AutoIt v3 Window Info, це особливо важливо, оскільки заголовок містить спеціальний символ ®, який важко було б ввести).
З'явиться наступне діалогове вікно для вказівки каталогу установки:

Ми повинні чекати цього вікна, поки воно не стане активним і далі натиснути ENTER для продовження встановлення у вказаний каталог. Рядки скрипта наступні:
З'явиться наступне діалогове вікно WinZip із характеристиками:

Зверніть увагу, що це вікно має такий самий заголовок як попереднійWinZip Setup- фактично майже всі діалогові вікна етапу установки мають цей заголовок! Щоб розрізняти ці вікна, ми будемо використовувати тексти вікна - у кожному діалоговому вікні спробуйте вибрати найунікальніший текст, який ви можете. У цьому випадку я вибравWinZip features include. Після появи вікна нам необхідно натиснутиALT-n:
WinWaitActive ("WinZip Setup", "WinZip features include") Send ("!n")
З'явиться наступне діалогове вікно Ліцензійної угоди:

Очікуємо на це вікно, поки воно не стане активним, а далі емулюємо натискання клавішіALT-y, щоб прийняти умови ліцензійної угоди:
Установка продовжується аналогічно для наступних діалогових вікон. Скрин кожного діалогового вікна супроводжується рядками необхідними його автоматизації.

WinWaitActive ("WinZip Setup", "Quick Start Guide") Send ("!n")

WinWaitActive ("WinZip Setup", "switch between the two interfaces") Send ("!c") Send ("!n")

WinWaitActive ( "WinZip Setup" , "Express setup (recommended)") Send ("! e") Send ("! n")

WinWaitActive ( "WinZip Setup" , "WinZip потрібний для поєднання його з вашими архівами" ) Send ( "!n" )

Це завершальне діалогове вікно інсталяції. Зверніть увагу, що кнопкаFinishне має клавіші для автоматизації натискання - на щастя ця кнопка є стандартною кнопкою, тому ми можемо просто натиснути ENTER. Якби це було не так, то нам довелося б емулювати натискання TAB для переміщення фокусу на потрібну кнопку або ще краще скористайтеся функцією ControlClick.
WinWaitActive ( "WinZip Setup" , "Якщо ви налаштовуєте цю версію перевірки" ) Send ( " " )
Після встановлення WinZip автоматично запускається:

Ми просто чекаємо на головне вікно WinZip і потім закриваємо його за допомогою функції WinClose .
WinWaitActive ("WinZip (Evaluation Version)") WinClose ("WinZip (Evaluation Version)")
На цьому все! Запустіть скриптwinzipinstaller.au3та спостерігайте як WinZip буде встановлений протягом кількох секунд! Методи, що використовуються в цьому уроці, можуть бути використані для автоматизації установки більшості програм.
Як вправу для читача, спробуйте повторити скрипт, але замість функції Send (яка надсилає натискання клавіші активного вікна) для кліка на кнопці спробуйте використовувати функцію ControlClick, яка може бути надійнішою. Вам потрібно буде прочитати елементи управління, щоб зробити це.