Руководство №1. Создание постера для твиттера.

В этом руководстве описывается, как создать автономный многопоточный скрипт, который делает посты в твиттере.




Это статья довольно длинная, вы можете пропустить ее и сразу перейти к просмотру видео.

Этот туториал рассчитан на новичков, если вы только начинает работу с БАС, можете смело читать.

Далее вы найдете инструкции о том как создать твиттер постер шаг за шагом.

Давайте начнем!




 Чтобы приступить к созданию сценария, вам нужно запустить Browser Automation Studio и нажать кнопку "Запись". 




Нажмите кнопку "Загрузить", чтобы БАС загрузил страницу twitter.com.




Введите twitter.com в поле "Url сайта" и нажмите Ок.




Сразу после нажатия кнопки "Ок" действие будет добавлено во вкладку сценария. Также появится уведомление "Command is executing", оно означает, что команда выполняется и интерфейс будет недоступен, пока она не завершится.




Когда страница будет загружена, индикатор поменяет цвет на зеленый. Вы можете использовать черные кнопки для скрола и желтую чтобы развернуть браузер, как показано на скриншоте.




Теперь давайте введем логин и пароль. Начните с клика по элементу интерфейса, с которым вы хотите взаимодействовать.




После клика появится контекстное меню, которое содержит все действия, которые можно совершить с этим элементом. Выберите "Ввод Текста".




В верхней вкладке появится интерфейс действия "Ввод Текста", который достаточно похож на интерфейс действия "Загрузка". Введите логин твиттера в поле "Текст для ввода".




Используйте тот же подход, чтобы ввести пароль.




Теперь нужно нажать на кнопку, для этого используйте действие "Двигать Мышь И Кликнуть На Элемент". Есть 3 типа действий для управления мишью: "Кликнуть На Элемент", "Двигать Мышь Над Элементом", "Двигать Мышь И Кликнуть На Элемент". Лучше использовать третий метод, поскольку он посылает события движения мыши и действия стают более похожими на действия человека. Также существует действий "Двигать Мышь И Кликнуть" по координатам, но лучше не использовать его, так как координаты элемента могут измениться.




Используйте тот же подход, чтобы заполнить поле твитта и нажать кнопку создания твитта.




После этого твитт появится в ленте.




Давайте добавим еще одно действие - "Спать", постинг твитта занимает некоторое время, браузер может закрыться преждевременно в противном случае.




Теперь все шаги, которые вы сделали записаны и могут быть повторены, давайте попробуем сделать еще один твитт нажав кнопку "Рестарт".




Нажмите кнопку воспроизведения, чтобы начать выполнение.




БАС повторит все действия в том же порядке, но твитт не будет создан из-за ограничений твиттера. Нельзя создавать несколько одинаковых постов. Давайте исправим это добавив случайную строку в конец твитта.




Сначала нужно передвинуть курсор на место сразу после ввода твитта. Это можно сделать нажав по нему левой кнопкой, как показано на скриншоте. Курсор означает, куда добавить следующее действие. Обычно он находится после последнего действия, но вы всегда можете передвинуть его в середину.




Теперь давайте добавим еще одно действие ввода текста. Чтобы БАС вводил случайную строку, нужно переключиться в режим "expression" и воспользоваться функцией "rand()". rand это функция, которая создает случайную строку. При использовании режима "expression" поле ввода может содержать любой код javascript.




Теперь приложение должно вводить случайный твитт и твиттер не должен выдавать ошибки. Давайте проверим это перезапустив скрипт.




Ура! Твитт появился в ленте. До теперешнего момента вы запускали БАС в режиме разработчика, но у режима разработчика есть несколько ограничений: количество потоков и количество запусков всегда 1, скрипты выполняются немного медление. Давайте запустим скрипт в стандартном режиме.




Нажмите кнопку "Остановить" а затем кнопку "Запуск", как показано на скриншоте.




После того, как скрипт завершится в стандартном режиме, вы увидите отчет и новый твитт.




Пока скрипт умеет создавать только один твитт, давайте улучшим его так, чтобы он мог создавать произвольное число твиттов. Опять зайдите в режим разработчика нажав на кнопку "Запись", затем используйте действие "Максимальное число удачных запусков".




Выставьте максимальное количество удачных запусков в "2". Это означает, что приложение сделает 2 твитта и только потом завершиться.




Снова запустите скрипт в стандартном режиме.




Скрипт создаст 2 твитта вместо одного как показано на скриншоте.




Давайте улучшим скрипт еще немного установив количество потоков. Перейдите в режим разработки и установите количество потоков в 5, а максимальное количество удачных запусков в 10.




После запуска приложения в стандартном режиме, вы увидите 5 чекбоксов, по каждому на поток.




Кликните по чекбоксу, чтобы понять, что происходит в браузере.




Сейчас скрипт можно запускать только используя БАС. Чтобы передать его другому человеку его нужно превратить в автономное(не зависящее от БАС) приложение. Для этого нажмите кнопку "Скомпилировать".




Заполните форму: назовите приложение и выставьте версию. После того, как вы нажмете Ок, у Вас будет автономное приложение, которое вы можете отправить кому угодно.




Запустите скрипт, чтобы проверить как он работает.




Как видите, интерфейс приложения очень похож на интерфейс БАС, и приложение выполняет действия абсолютно так же, как БАС.




Есть еще одна проблема: если вы отдадите скрипт заказчику, вам нужно будет отдать ему свой логин и пароль. Вместо этого существует способ разрешить ему самому вводить данные. Система ресурсов может помочь в этом. Откройте БАС и нажмите на кнопку "Создать новый ресурс" три раза: для логина, пароля и один для твиттов.




Введите название и описание для каждого ресурса.




После того, как вы нажмете на кнопку "Запись" снова, вы увидите окно ввода ресурсов. 




Введите логин пароль и твитт.




Теперь давайте модифицируем скрипт, чтобы он использовал ресурсы вместо статических данных. Нажмите на "Запись", а затем на кнопку "Редактировать" в меню соответствующего действия




Вместо того, чтобы вводить строку, нажмите на кнопку добавления ресурса, как показано на скриншоте.




Выберите ресурс и нажмите кнопку Ок. Вы можете использовать ресурс в любом поле в любом действие таким образом!




Теперь действие использует ресурс и название действия изменилось.




Повторите тоже самое для пароля и твитта. Вы можете выделять действия кликнув по ним левой кнопкой мыши. Удалять выделенные действия с помощью кнопки Del, копировать и вставлять с помощью Ctrl-C и Ctrl-V




После редактирования, скрипт должен выглядеть вот так. Обратите внимание на фигурные скобки, они означают, что используются ресурсы




В данный момент, пользователь вводит один и тот же твитт каждый раз. Улучшим скрипт так, чтобы твитты брались из файла, для этого изменим тип ресурса с "Строка" на "Из Файла".




Это все, не нужно больше никаких изменений, теперь вместо строки используется файл. Перезапустите скрипт, в окне выбора ресурсов теперь можно задать файл.




Выберите файл, который содержит список твиттов




Скрипт готов, осталось скомпилировать его еще раз.




Это окончательная версия скрипта, она позволяет ввести логин, пароль и файл с твиттами, поэтому может работать с разными данными. Скрипт работает с 5 потоками. Если вы хотите позволить пользователю выбирать количество потоков, то можете сделать это создав еще один ресурс.




Видео, которое демонстрирует все шаги, описанные выше: