Эмуляция действий пользователя
Главное — чтобы можно было реализовать проверку отображаемой информации на экране.
Первым пришедшим на ум стало решение автотеста, но при более детальном изучении столкнулся с тем, что все они посылают команды извне, а требуется полностью изолированное решение без задействования сторонних ОС.
Далее наткнулся на monkeyrunner и sl4a, но к сожалению уже запутался в понимании того, что надо.
Как можно реализовать эту задачу, желательно по пути наименьшего сопротивления?
Эмуляция действий пользователей
Эмуляция действий пользователя — это полная автоматизация действий пользователя для проверки и тестирования сайта или приложения.
Мы предлагаем создание виртуальных пользователей с разным типом алгоритма работы на сайте. Поведение каждого пользователя может быть запрограммировано так, чтобы его работа зависела от ответов сайта или приложения, и по окончанию процесса выдавалась статистика результатов эмуляции действий.
При заказе эмуляции действий пользователя вы получаете:
- Использование прокси
- Полную эмуляцию движения мыши
- Нажатие клавиш мыши
- Прокрутку колесом
- Ввод текста с клавиатуры
- Прокликивание всех ссылок сайта
- Загрузку документов с сайта
Сообщество разработчиков скриптов Human Emulator
Разработка скриптов на заказ. Полезные материалы и примеры шаблонов Human Emulator.
Эмуляция действий пользователя на странице
Мы решили раскрыть весь арсенал XHE для этой задачи. Причём, вопросы анонимности и возможности менять параметры браузера мы рассмотрим в отдельной статье, а тут расскажем что именно и как может эмулировать XWeb Human Emulator.
Что делает человек когда приходит на какой то сайт. Он его просматривает, перелистывая вверх вниз полосу прокрутки или колесо мыши, переходит по внутренним ссылкам. Всё это может делать Хуман.
Для работы с мышью в XHE есть объект $mouse, который может кликать правой и левой кнопкой мыши, передвигать мышь, прокручивать колесо мыши. При этом есть два режима, в которых работают функции этого объекта. Это в режиме отправки сообщений и в режиме реального использования курсора мыши. При работе с реальной мышью, вы не сможете пользоваться компом, и нужно будет что бы xhe был открыт на экране. Понятное дело, что этот режим не приемлем для работы в многопоточном режиме, та и вообще, хотелось бы иметь доступ к своему компу. Поэтому лучше работать через отправку сообщений. К режиму отправки сообщений относятся все функции, которые начинаются $mouse->send_*, например: $mouse->send_click или $mouse->send_wheel. Посмотреть описание объекта можно тут.
Для работы с клавиатурой в XHE используется объект $keyboard. Этот объект эмулирует нажатие кнопок клавиатуры. Он так же как объект $mouse может работать в двух режимах. В режиме отправки сообщений и нажатия реальных кнопок клавиатуры. И как в случае с мышью, к режиму отправки сообщений относятся все функции, которые начинаются $keyboard->send_*, например: $keyboard->send_key. Посмотреть описание объекта можно тут.
Для того что прокрутить скроллы в браузере можно использовать функции $browser->set_vertical_scroll_pos и $browser->set_horizontal_scroll_pos.
Для работы ссылками используется объект $anchor, с помощью него можно кликать по ссылкам получать по ним данные типа href и внутреннего текста, координаты и размеры, задавать на них фокус и многое многое другое. Посмотреть описание объекта можно тут.
Для ожидания на странице можно использовать функцию sleep(секунды);
Ниже приведу пример простой функции эмуляции действий пользователя на странице:
Human Emulator
Бесплатная онлайн консультация по возможностям программы.
Эмуляция пользователя с помощью Human Emulator
Что такое Эмуляция.
В нашем случае эмуляция это копирование действий пользователя при работе в браузере или в интернете.
Для чего нужна эмуляция.
- 1. Выполнение постоянно повторяющихся действий.
- 2. Имитация действий пользователей на сайте.
Выполнение постоянно повторяющихся действий
При работе в браузере мы часто сталкиваемся с повторящимися действиями, особенно если род наших занятий в интернете не ограничен просмотром новостей в соцсетях (хотя прокрутку ленты можно тоже отнести к повторяющемуся действию). К примеру мы постоянно сталкиваемся с заполнением веб форм на сайтах или онлайн сервисах. Для того чтобы отправить комментарий к посту в любимой группе в ВК надо заполнить форму. Это же касается подачи объявлений, публикации отзывов, размещения товаров, заполнение анкет, заявлений, запросов и т.д. Если вы хотите в интернете куда то что то отправить или где то что то опубликовать вам в любом случае придётся заполнять форму. Конечно, повторяющиеся действия это далеко не только заполнение различных форм, но именно при заполнении таких форм как правило требуется эмуляция действий пользователя в браузере.
Имитация действий пользователей на сайте
Это максимально точное воспроизведение поведения пользователя на целевом сайте. Целью такой имитации может служить как тестирование сайта, так и желание вебмастера повлиять на позицию своего сайта в поисковой выдаче. Для того чтобы узнать, как ведут себя на сайте посетители можно использовать инструмент Вебвизор из Метрики яндекса. С помощью него можно увидеть какие страницы активно посещают пользователи, сколько времени на них находятся, как читают текст, выделяя его, прокручивают страницы с помощью колеса мыши или по нажатию кнопок PageDown/PageUp, водят мышкой над текстом, используют скролы браузера и т.д.
Повторяющиеся действия в Human Emulator
Необходимость в эмуляции действий при заполнении веб форм возникает тогда, когда на формах установлены различные проверки на поведение пользователя. К примеру, такие проверки типа, что бы поле заполнялось с вводом с клавиатуры, или на заполнение каждого поля отводится определённое время, или выбор варианта из списка должен быть выполнен с использованием курсора мыши. С заполнением таких форм не справится обычные автозаполнялки, которые тупо за секунду вставляют все значения в нужные поля или выбирают нужные галочки, зато без проблем справиться Human Emulator. С помощью нашей программы можно без проблем заполнять любые формы, любой сложности, с любым количеством полей, и даже если эти поля разнесены на разные страницы.
Эмуляции клавиатуры и мыши
Программа может заполнять и выбирать поля в двух режимах работы. Это передача событий от клавиатуры и мыши и использование реальных мыши с клавиатурой. Передача событий позволяет работать с заполнением форм в многопоточном режиме, это когда один скрипт заполняет форму на одном сайте, как будто это делают разные пользователи, или несколько скриптов заполняют одновременно разные формы. Использование реальных устройств даёт возможноть обходить самую дотошную проверку, так как в этом случае нельзя будет определить кто управляет мышью и клавиатурой человек или программа. В этом помогает и наличие другого функционала, такого как, подмена прокси или работа с отпечатками браузера.
Для удобства работы в формах с проверками на JS скриптах в программу была добавлена группа команд эмуляции ввода с клавиатуры для элемента — send_keyboard_input_by_*. Эти команды эмулируют ввод текста с помощью клавиатуры. При выполнении команды сами задают фокус и начинают последовательно вбивать указанные символы. Таким образом, большинство джава скриптов принимают такие действия программы, как действия реального пользователя.
Имитация действий пользователя с помощью Human Emulator
Основные инструменты для решения этой задачи, также как и с заполнением сложных форм, это управление мышью и клавиатурой. Вам остаётся лишь грамотно построить логику использования этих инструментов и другого функционала программы. Подсмотрев в вебвизоре поведение реальных пользователей на сайте, с помощью Human Emulator вы можете в точности повторить все их действия. Или сделать на основе этого шаблон с допустимыми отклоненями, например, по времени просмотра страниц, по списку посещаемых страниц, по действиям пользователя на отдельно взятой странице и т.д., создав таких образом большое количество вариаций посещения сайта. При необходимости вы можете использовать прокси, изменение различных параметров браузера, работу с куками и кэшем и другого функционала для анонимности. Готовый пример кода эмулирующий действия пользователя.
Подводя итоги, можем смело сказать, что возможности программы в области эмуляции действий пользователя в браузере ограниченны только вашей фантазией.
Обращаем ваше внимание на то, что имитация действий пользователя с целью повлиять на позиции сайта в поисковой выдаче может привести к обратному эффекту и ваш сайт может быть существенно понижен в поиске на длительный срок. Поэтому все манипуляции с помощью Human Emulator в этом направлении вы осуществляет на свой страх и риск.
Human Emulator ваш выбор для эмуляции действий пользователя.
ДЕМОFREEКупить
Остались вопросы — обращайтесь в наш отдел продаж!