|
|||||||
Презентация BASIC-ABCBASIC-ABC это простой, удобный, логический язык сценариев для автоматизации рутинных процессов путем эмуляции действий пользователя на компьютере. Язык BASIC-ABC предназначен для автоматизации любых рутинных действий с программным обеспечением на вашем компьютере. Это достигается путем эмуляции ваших действий с помощью набора скриптов, исполняемых интерпретатором языка, последовательно, шаг за шагом.
Почему basic-abc удобен для написания плагинов для любых программ? Потому что изучив язык, вы сможете написать на нем плагин для любой программы, такой плагин, который будет делать только то, что нужно именно вам и ничего больше. Интерпретатор языка написан на java. Фактически это оболочка для класса Robot из пакета java.awt. Этот класс позволяет эмулировать действия пользователя и сканировать экранные области. Для начала рассмотрим процесс эмуляции некоторых действий пользователя на языке java. Например: Robot robot = new Robot(); int x=500; int y=500; robot.mouseMove(x,y); Данный код перемещает указатель мыши по координатам 500, 500 на экране монитора или ноутбука. int keycode1 = KeyEvent.VK_WIN; int keycode2 = KeyEvent.VK_R; robot.keyPress(keycode1); robot.delay(20); robot.keyPress(keycode2); robot.delay(50); robot.keyRelease(keycode2); robot.delay(20); robot.keyRelease(keycode1); Данный код эмулирует нажатие пользователем комбинации клавиш WIN+R. Таким образом, опытный программист Java сможет написать код, эмулирующий запуск любого браузера, переход на нужную страницу и выполнение на этой странице любых действий, вплоть до ввода значений и отправки их на сервер путем клика по кнопке Submit. Затем программист может сделать скан результирующей страницы и сравнить ее с эталоном. Результат сравнения даст ответ прошел ли тест-кейс. Но что делать простому пользователю, не знакомому с языком java? Он ведь не сможет написать такой сложный код. А теперь посмотрите на этот скрипт: hit key:WIN+M pause ms:500 hit key:WIN+R pause ms:500 type text:{chrome} pause ms:500 hit key:ENTER pause ms:2000 hit key:ALT+SPACE hit key:DOWN times:4 delay:500 hit key:ENTER Как видите, он совершенно понятен: нажата клавиша WIN+M сделана пауза на 500 миллисекунд ... напечатан текст chrome ... нажата клавиша - стрелка вниз 4 раза с задержкой 500 милисекунд Данный скрипт запускает браузер chrome и раскрывает его на весь экран. Как проверить результат? С помощью Paint или другого простого графического редактора делаем копию участка экрана с результатом и сохраняем в каталог скрипта, например название файла etalon.png Тогда инструкция: find context ctx:etalon вернет истинное true или ложное false значение в зависимости от того будет ли найден на экране эталон, то есть участок экрана, заранее сохраненный в графическом файле. ВАЖНО: результатом выполнения скрипта будет истинное или ложное значение. Как видите - все очень просто. Пользователь совершенно отделен от знания о внутренней реализации языка. Его задачей является простое описание в скрипте последовательности действий относительно объекта, который он хочет использовать тем или иным образом Особую гибкость языку придает возможность использования вложенных скриптов. Например: mouse click btn:left px:500 py:500 run script scr:mouse_clicked_and_login_type run script scr:email_checked Второе, что нужно понять и что является ПРИНЦИПИАЛЬНО ВАЖНЫМ: Какой бы глубины вложенности не был скрипт, он выполнится целиком, то есть вернет TRUE, только если будут достигнуты ВСЕ УСЛОВИЯ, определенные в нем. То есть абстрактно можно записать жизненный цикл скрипта из 7 инструкций в виде: BEGIN->TRUE->TRUE->TRUE->TRUE->TRUE->TRUE->TRUE->END все семь инструкций выполнились, скрипт вернул TRUE BEGIN->TRUE->FALSE->END выполнилась только первая инструкция, скрипт вернул FALSE и интерпретатор закончил работу Скрипт или выполняется целиком или не выполняется. |
|||||||
|
|||||||
Преимущества языка:
все это будет выявлено на этапе написания скрипта. |
|||||||
|
|||||||
Синтаксис языка:< имя команды - одно или два ключевых слова > < один или несколько параметров с указанными значениями > Список всех параметров:
|
|||||||
|
|||||||
Команды языка:Список команд:
nopНет операции. Интерпретатор скрипта, встречая эту команду, ничего не выполняет, команда возвращает логическое значение true. Используется для тестирования. mouse clickПример: mouse click btn:left x:220 y:115 Команда используется для автоматического перемещения указателя мышки по указанным параметрами координатам и нажатию (клику) определенной параметром кнопки мышки mouse moveexecute untilpausehitПример: hit key:WIN+R Команда используется для автоматического нажатия двух клавиш WIN и R typefind contextrun script |
|||||||
|
|||||||
Файловая структура скрипта: |