2013-03-20 2 views
4

Возможно ли запустить произвольную программу ОС на узле селена перед запуском тестов?Выполнение произвольной команды/программы на узле сетки селена

Почему мне нужна такая странная вещь:

В одном тесте веб-приложения, мне нужно, чтобы имитировать MouseOver в течение 1 секунды, но вещь - если есть указатель мыши над окном браузера, то селеном WebDriver не держит событие mouseover в течение длительного времени. Он прерывается через несколько миллисекунд, и после этого реальный указатель мыши начинает излучать событие mouseover.

Так что я хотел бы попробовать запустить тривиальную программу, которая перемещает курсор мыши в угол экрана, чтобы не мешать окну браузера.

Любые идеи?

UPD: создал тривиальное приложение для запуска перед запуском конкретного драйвера, который будет перемещать курсор в угол: https://github.com/zerkms/MoveCursor

+0

Вы можете создать это с помощью Ant или Maven, а затем заставить его выполнить команду оболочки, чтобы открыть вашу программу перед запуском фактических тестов. – aimbire

+0

@aimbire: запустить его где? Я не знаю, на каком узле он будет работать. – zerkms

+0

Как скрипт указывает на узлы? – aimbire

ответ

0

Если вы используете JUnit4 вы могли бы сделать что-то вроде

java.lang.Runtime.getRuntime().exec("a-command"); 

в метод, который выполняется @BeforeClass. В Junit3 вам нужно сделать это в setUp(), поэтому перед каждым тестом. Другие рамки имеют разные механизмы для достижения того же.

+0

На какой машине будет выполняться команда? Очевидно, что он будет запускать команду на машине, которая запускает тесты, в то время как вопрос касался ** селенового узла **. Извините, а не ответ – zerkms

+0

Та же машина, что и 'Class' (набор тестов). – SiKing

+0

правильно, и вопрос был о узле селена. Пожалуйста, бросьте это так, чтобы вопрос остался без ответа :-) – zerkms

Смежные вопросы