2009-05-04 3 views
5

Я пытаюсь использовать Selenium IDE, чтобы щелкнуть по swf на странице html. Изменение идентификатора DIV и Embed зависит от метки времени, например. id="FLASH_0_23458974594", я пробовал использовать id=/^FLASH_([0-9]+_)[0-9]([0-9]+)/ или id="FLASH_glob:*", но IDE не собирает swf. Я здесь что-то не так?Используйте селен, чтобы щелкнуть по swf

Спасибо.

ответ

3

Вы пробовали?

click | //object[contains(@id,'FLASH_')] 
+0

Я просто сделал, и это не сработало. Я получил эту ошибку: [ошибка] локатор не найден: // object [contains (@ id, 'FLASH_')], error = Ошибка: элемент // object [contains (@ id, 'FLASH_')] не найден – JLau

+0

Просто увидел, что вы используете встроенные теги. Возможно, вам потребуется заменить «object» на «embed». В противном случае вы можете добавить соответствующий HTML-код со страницы на свой вопрос. –

+0

IDE способен обнаруживать его с помощью встроенного приложения, но не нажимает его. В журнале это показывает - [info] Выполнение: | click | // embed [содержит (@ id, 'FLASH_')] | | , но это не щелчок. – JLau

2

Нажатие на объект вспышки не будет работать. Единственный известный способ автоматизации Flash с использованием Selenium - открыть функции пользовательского интерфейса в объекте Flash через JavaScript. Затем вы можете вызвать этот JavaScript с помощью функции getEval() в Selenium RC.

0

Мы используем клиент Java для селена, а иногда наши тесты используют Java Robot для перемещения мыши и нажатия, когда мы не можем напрямую взаимодействовать с веб-браузером. У этого есть недостатки (например, браузер должен быть на переднем плане, и точность может быть немного сложной), но при запуске тестов на виртуальной машине эти недостатки сведены к минимуму.

1

Эта тема довольно старая, но поскольку я много раз проводил поиск решения, я отвечаю на этот вопрос. Как сказал @Zugwalt, вы можете использовать класс Java Robot. Но в случае, если вы используете Selenium Grid и, таким образом, RemoteWebDriver, вы можете использовать jsch, чтобы открыть ssh-соединение на удаленном компьютере и позвонить xdotool, чтобы щелкнуть по данной позиции.

Вы можете увидеть пример на этом Gist

+1

Моя последняя работа мы начали использовать [Sikuli] (http://www.sikuli.org/) с webdriver, это сработало для нас хорошо. – JLau

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