Завдання. створити локального користувача через оснащення Computer Management; перевірити результат.
Примітка. для стислості викладу представлений код не виконує обробку помилок (як-то, перевірку існування користувача перед його створенням, невдалий виклик функцій і т.п.)
До числа слабких місць AutoIt можна віднести свою власну мову програмування і відсутність механізму виключень (exceptions). Про те, як інтегрувати виклик функцій AutoIt в більш потужні мови програмування, ми поговоримо в одній з наступних статей.
[...] статті, що ілюструє роботу з AutoIt, було розглянуто приклад [...]
[...] складі AutoIt є відмінні можливості для зчитування [...]
Артур, спасибі за запитання. Відповідь: it depends. Функції з сімейства WinWait * () чекають якогось стану вікна: скажімо, воно стане активним (WinWaitActive) або неактивним (WinWaitNotActive) або просто поки не з'явиться (WinWait) і т.п. Тобто, в тих випадках, коли ми чекаємо якоїсь події, пов'язаного з вікном, така заміна цілком доречна і навіть виправдана. В інших випадках треба дивитися.
Якщо я правильно зрозумів, тебе бентежить сам факт недетермінірованного Sleep? Явна константа в коді, і неясно, чому вона повинна бути дорівнює? Мене це теж бентежить, і тому в реальних скриптах (тут не привів для стислості) використовую два варіанти:
1. перевіряю наявність елементів, які є орієнтиром того, що очікування можна закінчити (вікно, кнопка і т.п.)
2. Sleep ($ SleepPeriod). Параметр SleepPeriod зчитується з конфігураційного файлу і варіюється в різних середовищах. Якщо хост мало завантажений, то значення SleepPeriod менше, якщо більше завантажений, то і значення більше.
є намір спробувати застосувати AutoIt для автоматизації тестування GUI в конфігураціях системи 1С: Підприємство.
Як думаєте, чи можливо це взагалі?
Павло. це в сильному ступені залежить від тих controls, на яких побудовані GUI в 1C. Якщо це Windows Controls, то проблем бути не повинно. Якщо це .Net controls, то можуть бути проблеми: AutoIt сам по собі не бачить ці контроли і, відповідно, не може на них клікнути. Я бачив кастомниє рішення на форумі AutoIt, але в моєму випадку вони не спрацювали. Спробуйте!
Є ще маса програм, що мають користувальницький інтерфейс "псевдографічний", в стилі MS-DOS, або midnight comander'а (наочний наприклад - торгові ПОС-термінали які все бачили на касах), який промальований використанням текстових символів серед яких є якісь місця для введення даних. Підкажіть, що використовувати для їх автоматизованого тестування? Під Лінукс?
Наперед дякую!
Іван. перш за все є можливість запускати AutoIt під Wine. Спробуйте. Якщо навіть AutoIt не «побачить" вікна вашого застосування, то принаймні можна спробувати його в якості "клікера": посилати натискання клавіш за допомогою Send.
Можна подивитися xAutoClick, KAutoClick і інші подібні "клікалкі".
Крім цього, є сенс поглянути на Gambas.
Але, напевно, ви не просто хочете "клікати"? Важливо зрозуміти, що саме ви плануєте тестувати в програмах з псевдографічним інтерфейсом і танцювати вже від цього. І поговорити з розробниками: які фреймворки вони використовують? Можливо, ці ж фреймворки можна задіяти для написання Автотест.
Що таке якість програмного забезпечення та як його поліпшити: теорія і практика, завдання і рішення, підводні камені та обхідні шляхи.