Иногда возникают задачи которые связаны с проверкой и тестированием определенных
параметров конкретного сайта при помощи создания максимально-человекоподобной, поведенческой
цепочки событий на сайте. Например скроллинг страницы вверх/вниз для эмуляции чтения
информационного блока сайта, движения мыши, клика на случайной ссылки на странице сайта и т.д.
Для решения в том числе этих задач разработчики создали определенный функционал на базе Human Emulator. Мы же используя этот функционал,
написали скрипт, который эммулирует действия пользователя на сайте. Этот скрипт можно использовать для тестирования сайта.
Описание работы скрипта: на сайте присутствует левое меню, задача скрипта состоит в случайном
переходе по пунктам этого меню и медленном скроллинге очередной открытой страницы сайта сначало вниз
на произвольное количество скролов, а потом и вверх эмулируя тем самым просмотр контента.
Сам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
<?php /* производитель: x-scripts ** тип продукта: скрипт под Xweb Human Emulator ** сайт программы: humanemulator.info ** наш сайт: x-scripts.com ** по всем вопросам обращайтесь: ** email: order@x-scripts.com ** icq: 625657402 ** skype: igor_sev2 */ $xhe_host = "127.0.0.1:7000"; // The following code is required to properly run XWeb Human Emulator require("../../Templates/xweb_human_emulator.php"); // //////////////////////// настройки скрипта ///////////////////////// // целевой сайт $my_site = "www.x-scripts.com/"; // паузы ожидания $wt = 5; $wt_long = 10; // глубина прохода внутрь сайта $depth_in_site = 1; // //////////////////////// дополнительные модули /////////////// // функции require_once("tools/functions.php"); // accept fucntions require_once("tools/accept_functions.php"); // /////////////////////// скрипт /////////////////////////////////////////// echo "Скрипт запустили<br>"; // переходим на сайт $browser->navigate($my_site); sleep($wt); // ГУЛЯЕМ ПО САЙТУ // определяемся с глубиной прохода внутрь сайта $depth_in_site = rand(1, 5); echo "Глубина прохода внутрь сайта: $depth_in_site<br>"; for ($a = 0; $a < $depth_in_site; $a++) { echo "итерация - $a<br>"; // медленно прокручиваем страницу вниз имитируя чтение echo "прокручиваем страницу вниз<br>"; scroll_down_page_slow(true); sleep(rand(1,3)); // медленно прокручиваем страницу вверх имитируя чтение echo "прокручиваем страницу вверх<br>"; scroll_up_page_slow(true); sleep(rand(1,3)); // закрываем лишние вкладки браузера $browser->close_all_tabs(); sleep(2); $browser->set_active_browser(0, true); sleep(2); // получаем номер случайной внутренней ссылки на странице echo "Получаем номер случайно ссылки на левом меню для клика<br>"; $arr_of_names = array("Главная", "Клуб", "Школа", "Скрипты", "Статьи", "Видео", "Прокси", "Полезное", "Контакты", "Услуги", "Human Emulator"); $number = ""; $inner_text = ""; echo "Будем кликать на: "; echo $inner_text = $arr_of_names[rand(0, count($arr_of_names)-1)]; echo "<br>"; $number = $anchor->get_number_by_inner_text($inner_text, true); echo "Номер случайной ссылки: $number<br>"; // скролим экран до момента когда ссылка появится в области видимости, // двигаем туда мышку и кликаем scroll_move_click($number); sleep(rand($wt, $wt_long)); } echo "Скрипт закончил работу.<br>"; // Quit $app->quit(); ?> |
Скрипт написан 10.04.2014 в Human Emulator 4.6.42.