Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Клик по кнопке с flash в SeleniumIDE/webdriver


(Elena) #1

На странице есть флеш с линком.

Начиталась форумов и поняла, что по этому линку никак не кликнуть.

Может все таки есть пути обхода?

 


(Mykhailo Poliarush) #2

вы умеете программировать? и на чем вы разрабатываете ваши тесты?


(Taras) #3

как так не кликнуть ???

SIKULI для флеша само то!!!!

xpath можно попробовать для начала, вдруг локатор у нее есть какой то.

кидайте код, скрин, будем смотреть

 


(Mykhailo Poliarush) #4

100%


(Elena) #5

polusok , пока только учусь.

Формирую тесты в Seleniun IDE, перевожу в Java/Junit4/Webdriver, и потом уже поправляю в Eclipse.

Tarasxpath пробовала, не получается.

driver.findElement(By.xpath(".//*[@id='p179p8vpv81ipe1kmuj6iojt1qa90_flash']")).click();

добавлю скрин кода

http://imm.io/Iks1

Могу скопировать кусок кода, если нужно.

 


(Taras) #6

используйте Sikuli, есть обертки на jave написане для етой библиотеки , для кликов по обьектах и тд.


(Mykhailo Poliarush) #7

да используйте сикули вот вам демо проект, который я недавно сделал 

можете переиспользовать если необходимо https://github.com/polusok/Java-Sikuli-Demo


(Elena) #8

Смотрела видео и читала про Сикули - выглядит прикольно.

Скачала, но ... не могу выделить обьекты, пишу команду или выбраю в поле слева - и программа закрывается.

По идее при ctrl+shift+2 должно выделять.


(rpwheeler) #9

Похоже на популярнейшую по количеству вопросов к Sikuli ошибку:
У Вас стоит Java Runtime 7?
А Sikuli работает только с Java Runtime 6.
 
В таком случае надо снести Java 7 и поставить Java 6.


(Elena) #10

rpwheeler , спасибо! 

Надо быть более внимательной...на сайте все написано-описано.


(Sofiia) #11

Когда я нажимаю на кнопку с Flash, у меня в буфер обмена записывается линка. Как мне лучше всего нажать на эту кнопку и передать эту линку в переменную в Python скрипте? 


(Alexander Petrovich) #12

http://selenium-python.readthedocs.org/en/latest/api.html#action-chains

Должно помочь.


(Sofiia) #13

Мне нужен какой-то метод, который будет вытягивать мне то, что у меня попадает в буфер обмена после нажатия кнопки, чтобы я могла эту строку присвоить какой-то переменной и дальше использовать ее в тесте


(Sofiia) #14

Мне нужен какой-то метод, который будет вытягивать мне то, что у меня попадает в буфер обмена после нажатия кнопки, чтобы я могла эту строку присвоить какой-то переменной и дальше использовать ее в тесте


(Alexander Petrovich) #15

Попробуйте имитировать вставку из буфера обмена, например (которая ctrl+v)

http://selenium-python.readthedocs.org/en/latest/getting-started.html

http://selenium.googlecode.com/svn/trunk/docs/api/py/_modules/selenium/webdriver/common/keys.html

 

Ну и вот 5 минут шептаний с гуглом натолкнули на http://coffeeghost.net/2010/10/09/pyperclip-a-cross-platform-clipboard-module-for-python/

Я бы наколдовал вам код, но дома как-то очень лень поднимать всё необходимое :)


(Sofiia) #16

Про буфер обмена вроде все понятно, но как мне кликнуть на кнопку, которая работает с flesh так, чтобы она работала как ожидается, для меня остается пока загадкой.


(rpwheeler) #17

Если нужно визуально найти кнопку на экране, определить ее координаты, и послать туда клик, то можно прикручивать-и-использовать Sikuli, информация и ссылки об этом — выше. 

Если вы уверены, что кнопка на экране всегда будет занимать одно и то же место, то, насколько мне известно, нужно копать тему класса Actions (http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/interactions/Actions.html ), там есть возможность отправки клика по координатам (которые, правда, еще надо определить).


(Taras) #18

да координати в Screen Recognition не рип чем, главное что б кнопка била на екране.