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

Firefox Driver не кликает по Элементу


(streLer) #1

Ребят помогите пожалуйста, 

FireFox driver не хочет кликать по элементу, точнее то кликает  , то нет((

где то 1 раз из 5 раз клик по элементу происходит.

Пользуюусь Java Eclipse  , Selenium 2.26 , пробовал 2.25

Firefox 17 версии.

 

@Before
public void setUp() throws Exception {
 
driver = new FirefoxDriver();
baseUrl = "-----------------------------------------";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
 
 
-------------Кусок Кода Теста ----------
 // Poisk Tovara po Kodu 
        driver.findElement(By.name("q")).sendKeys("110334");
        driver.findElement(By.name("s")).click();
        
        // dobavlyaem iz Kartochki tovara
        Thread.sleep(1500); 
        driver.findElement(By.xpath("//a[@href='catalog/54454/243133/index.php?action=ADD2BASKET&id=223130']")).click();
        System.out.println("Tovar iz Kartochki tovara dobavlen uspeshno v Korzinu");

----------------------------------------------------------

 


(Shaman) #2

код страницы можно? и тест кейс небольшой хотябы


(Alexander Petrovich) #3

-------------Кусок Кода Теста ---------- происходит на одной странице? И какие действия на кликах зовутся? Если что-нить ajax-овое, есть вариант ожидать появления элемента "//a[@href='catalog/54454/243133/index.php?action=ADD2BASKET&id=223130']" а потом кликать. Дайте стектрейс ошибки


(streLer) #4

ребят вообщем я нахожусь на одной странице, а после поиска попадаю на другую, прописал эту команду

        System.out.println(driver.getTitle());

т.е. получился такой код

 

// Poisk Tovara po Kodu 
        driver.findElement(By.name("q")).sendKeys("110334");
        driver.findElement(By.name("s")).click();
        
        // dobavlyaem iz Kartochki tovara
        System.out.println(driver.getTitle());
        driver.findElement(By.xpath("//a[@href='catalog/54454/243133/index.php?action=ADD2BASKET&id=223130']")).click();
        System.out.println("Tovar iz Kartochki tovara dobavlen uspeshno v Korzinu");
 
 
 
Тайтл страницы не выводит, такое ощущение что он просто зависает наглухо((( 

(apetrovskiy) #5

Как странно, началось с неуверенного двадцатипроцентного кликания, а кончилось гарантированным кликанием с полным зависанием (и это всего одна волшебная строчка кода!).

Дали бы уж код страницы.

Если у вас каким-то образом открывается новая страница (невидимый или не разрешённый фрейм или таб??), то драйверу надо скзать об этом (если это тот случай, конечно).


(Snap) #6

Может попробовать прогнать тест в более ранней версии Firefox? У меня после обновления браузера также были глюки.


(streLer) #7

Ребят а как версию FF поменять?

Проблема после обновления появилась((


(Snap) #8

Ну как, самый простой способ удалить прежний браузер и поставить старую версию.

Либо поставить вторую версию в другую папку и указывать ее при создании драйвера.


(von) #9

Щелкни по элементу дополнением для мозиллы FirePath в составе FireBug, если не ошибаюсь. Сейчас у тебя xpath элемента, основанный на css, тебе нужен xpath непосредственно позиции элемента в DOM , что-то в виде //html/td[2]/tr[3]


(streLer) #10

Ребят через cssSelector пробовал и по разным xpath , 

ловлю ошибку скриптовую посреди теста . Т.е. тест висит,

захожу в консоль ошибок( браузер ff , ctrl+shift+j) 

ошибка такого рода :
Метка времени: 05.12.2012 17:51:46
Ошибка: TelemetryStopwatch: key «FX_SESSION_RESTORE_COLLECT_DATA_MS» was already initialized
Источник: resource://gre/modules/TelemetryStopwatch.jsm
Строка: 53

хз, вот что делать ((


(streLer) #11

ребят ну может кто знает что делать?


(Mykhailo Poliarush) #12

тут может быть несколько вариантов проблем:

1. сайт генерирует javascript ошибку

2. браузер неправльно обрабатывает страницу https://bugzilla.mozilla.org/show_bug.cgi?id=732874

3. какой-то баг в selenium

а ты пробовал запускать тесты на других браузерах?


(barancev) #13

Обновите Selenium до версии 2.27, в предыдущих версиях Firefox 17 не поддерживается.


(streLer) #14

Скорее всего проблема под пунктом 2 (((

В Хроме все нормально(( но мне нужен именно ff , так как приоритет на него.

Обновил Селениум до 2.27 не помогло( ждем релиз 18


(barancev) #15

"Не помогло" может быть разное -- 1) продолжаются зависания, 2) по прежнему кликает не всегда.

2.27 решает проблему с зависаниями в FF17.

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


(streLer) #16

Все Таки поставил Бэту 18 фф, все проблемы ушли(кликало по элементу не всегда), а именно баг с telemetry. Алексей и Михаил большое спасибо вам за помощь, библиотеку Селениум также обновил до 2.27 . 

 


(ffess) #17

Привет всем вот тоже заметил что Селениум перестал кликать по элементу и именно в ФФ. Спасибо всем за то, что в ящике уже с неделю наблюдаю обсуждения как быть.

обновил Вебдрайвер - все заработало

З.Ы. Автоматизирую на Руби + Рспек+Капибара;)