Добрый день, уважаемые софорумцы.
Я использую SeleniumRC для тестирования порученного мне портала.
Встала необходимость создать объект события и запустить его при вставке js скрипта из selenium командой getEval(String jsSnippet). Вот. Теперь к сути вопроса. Js API по созданию и запуску событий отрабатывают только в контексте некоторой функции, которая в свою очередь запускается как реакция на некоторое событие. Подобный код не отработает:
<script language="JavaScript">
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'mousemove', true, false );
var fire = document.getElementById("my_SID");
fire.dispatchEvent(evObj);// именно эта строка не отрабатывает
alert("something");
function handled(e)
{
alert("event is handled");
return true;
}
</script>
..
<a id="my_SID" href="http://localhost:8080/sample/hello.jsp" onMouseMove=handled()> handle event</a>
В этом коде я хотел, чтобы при старте скрипта создавалось событие, и ссылка реагировала на него через alert("event is handled");
В то время как если как поместить код создания события в функцию, то все будет отрабатывать. Дело только в том, что эта функция сама будет ждать наступления некоторого события, а иначе она не вызовется. У меня не будет возможности при пробеге selenium тестов на GUI вручную запускать события. Мне надо, чтобы событие движения мышой сгенерировалось самостоятельно автоматически при запуске скрипта. Если у кого из гуру будут мысли по этому поводу, просьба не утаивать от общественности)). Заранее благодарен.