понедельник, 7 февраля 2011 г.

Удалённая работа с Human Emulator.

Далеко не все пользователи Human Emulator знают о том, что управление программой можно осуществлять удалёно. То есть Хуман стоит на каком-то сервере, и вы из браузера или из php скриптов на своём компьютере запускаете действия в хумане. Или же хуман стоит в локальной сети в офисе на одном компе, а вы можете со своего ноутбука управлять этим Human Emulator. При этом все действия для сервера и локальной сети одинаковые.

Предположим что Human Emulator стоит на сервере ip которого скажем 93.95.108.1 на порту 7010. Программа открыта и готова к работе.

Самый простой способ, не требующий никаких дополнительных действий это вызов команд из браузера. Просто берём и набираем в браузере такую вот строку http://93.95.108.1:7010/Browser.Navigate?url=google.ru и Хуман на сервере волшебным образом перешёл на google.com. Если ввести следующие команды :
http://93.95.108.1:7010/Browser.Navigate?url=http%3A%2F%2Fgoogle.com&use_cache=1
http://93.95.108.1:7010/Input.SetValueByName?name=q&value=human
http://93.95.108.1:7010/InputButton.ClickByNumber?number=0
то Human Emulator на сервере перейдёт на google.com в поисковую строку добавит слово human и нажмёт на кнопку поиска.

В скрипте хумана эти строки будут выглядеть так:
$browser->navigate('http://google.com');
$input->set_value_by_name('q',"human".$i);
$button->click_by_number(0);


Для того что бы из обычного вида получить команды для ввода в браузер достаточно открыть Информационную панель (меню Вид-> Информационная панель) и запустить скрипт на выполнение.

Второй способ, требует установки шаблонов программы Human Emulator на компьютер, с которого осуществляется удалённое управление. Для этого просто достаточно куда то скопировать папку Templates из папки с хуманом. Далее из командной строки php запускаем на выполнение скрипт со следующим кодом :

?php
$xhe_host ="93.95.108.1:7010";
// The following code is required to properly run XWeb Human Emulatorrequire("../Templates/xweb_human_emulator.php");
$browser->navigate('http://google.com');
// wait on browser
$browser->wait_for(30,1);
for($i;$i<50;$i++)
{
$browser->navigate('http://google.com');
// wait on browser
$browser->wait_for(30,1);
$input->set_value_by_name('q',"human".$i);
$button->click_by_number(0);
// wait on browser
$browser->wait_for(30,1);
echo $i."
";
// убрать set focus с окна отладки
$browser->navigate('about:blank');
// wait on browser
$browser->wait_for(30,1);
}
// Quit
$app->quit();
?>


И на сервере хуман выполнит этот скрипт.

Ещё один способ управления удалённо, это добавить скрипт Human Emulator в страничку вашего сайта и пользователь при нажатии каких либо элементов может запустить это скрипт, а хуман выполнит его.

Ну и последний способ удалённого управления это запуск скриптов в хумане, который стоит на управляеющем компе и эти скрипты будут выполняться на сервере. Для этого достаточно будет задать в начале скрипта строку $xhe_host ="93.95.108.1:7010"; как это сделано в примере скрипта выше.

Удачного вам удалённого управления. :)

1 комментарий:

Анонимный комментирует...

Отличные статьи по хуману !
А Нет идей как добавить немного интерактивности хуман емулятору, что то типа полуавтоматического режима заполнения в аллсабмитере. просто хуман не совсем справляеться и иногда ему хочеться помочь ?