[Resolved] Подскажите, плиз, почему не работает sendKeys в IE


(Eugene) #1

Всем доброго дня!
Подскажите, пожалуйста, в чем может быть проблема:

Есть тест написанный на Java, для автоматизации. Но почему то в FireFox все удачно отрабатывает, а вот в IE запускается, открывает страничку, ставит курсор в строку поиска но символы не вводятся…тест падает. В чем может быть проблема? Использую IEDriverServer 2.44. Раньше все работало, а потом почему то перестало.Заранее Спасибо!

Пример кода:

package com.example.tests;

import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Test1 {
  private WebDriver driver;
  private String baseUrl;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = new InternetExplorerDriver();
    baseUrl = "https://ru.wikipedia.org/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testWikipediya() throws Exception {
    driver.get(baseUrl + "/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F");
    driver.findElement(By.id("searchInput")).clear();
    driver.findElement(By.id("searchInput")).sendKeys("selenium");
    driver.findElement(By.id("searchButton")).click();
    driver.findElement(By.xpath("(//a[contains(text(),'Firefox')])[3]")).click();
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }


}


Завершаются тесты по таймауту - проблема со связью?
(Sergey Korol) #2

Эта тема теперь исключена из списков. Она не будет отображаться среди других тем ни на каких страницах, а единственным способом прочитать ее будет доступ по ее прямой ссылке.


(Eugene) #3

Не совсем понял, а как же быть? Кто может помочь? Что необходимо добавить к теме чтобы мне смогли ответить?

Спасибо!


(Sergey Korol) #4

Для начала нужно научиться читать ЛС, а затем - правила портала. Администрация не зря прикрепила соответствующую тему по форматированию кода. :wink:


(Sergey Korol) #5

Эта тема включена в списки и будет отображаться среди других тем.


#6

Тоже интересен этот вопрос. Только у меня тесты написаны на Python и они прекрасно выполняются в FF, Chrome, Opera, Safari, но перестали работать в IE. Падает с ошибкой NoSuchElementException.


(Eugene) #7

Да, таже ошибка. Вот сейчас смотрю.Может это с обновлением IE связано. У меня сейчас версия IE 11.0.9600
К сожалению, не помню какая была до этого версия IE,но вроде не эта.


(Sergey Korol) #8

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


#9

Версия браузера последняя. Сначала появилась ошибка, что версия драйвера устарела и не подходит к данной версии браузера. И предложил скачать более позднюю версию. Стояла сначала 2.38. Скачал все последующие версии (2.39 - 2.44). На всех кроме 2.44 выдавал ошибку несоответствия версий драйвера и браузера. С 2.44 заработал, но не находит элементы на странице ни по id, ни по name, class_name, xpath.


(Eugene) #10

Версия браузера IE 11.0.9600.17498 это вроде последняя версия.


(Sergey Korol) #11

Ну майкрософт вечно плодит заплатки для IE. Возможно вышел очередной фикс и драйвер придется обновлять. Искали по последним темам комьюнити? Может уже кто-то постил нечто подобное и автор трудится над апдейтом?

П.С. А вообще, можете особо не париться насчет IE. Скоро выйдет Win 10, где IE заменят новым браузером Spartan, что само по себе означает похороны “всеми любимого” explorer’a. Может наконец тысячи QA вздохнут с облегчением. :smile:


#12

Насчет “вздохнут с облегчением” не уверен. Например вся верхушка фирмы где я работаю сидят на IE7-8. И по статистики ~18% пользователей сидят на IE7-9.


(Eugene) #13

Искал похожие темы есть…но решение для этой проблемы так и не нашел. Хорошо конечно что выйдет Win 10, но нужно уже чтобы сейчас работало. Даже не знаю у кого еще спросить…Скорее всего придется разобраться какая версия IE была до этого и ее установить. Но это плохое решение.


(Sergey Korol) #14

Ну, что ж, им же хуже. :wink:
А для UI-щиков IE < 9-10 = ад. А если UI-щикам приходится вставлять костыли, то это отражается и на работе автоматизаторов.


(Sergey Korol) #15

Почему это плохое? Как раз гнаться за последними обновлениями браузеров - это плохое решение, т.к. драйвера обновляются не так быстро, как вам бы того хотелось. И Бог знает, на что еще внесенные фиксы могут повлиять.

Хотите, чтобы работало? Зафиксируйте версии браузеров в тестовой стратегии. Disable auto update -> true. А затем подготовьте и мониторьте план апдейтов, желательно исключительно по требованию клиентов и по прошествии определенного времени после выхода обновления, чтобы минимизировать риск падений в следствии возможных багов сырого релиза.


(vmaximv) #16

Не люблю заниматься телепатией по понедельникам, но попробую…


[Resolved] Не находит элементы(локаторы) на странице при этом падает драйвер
(Olza) #17

Была проблема с sendKeys, правда в ие10, там под вин64 работал только иедрайвер для 32, возможно здесь похожая проблема


(Eugene) #18

Нет, проблема не в этом. У меня тоже установлен драйвер для 32 бит. И раньше все отлично работало. Да 64битной версией есть проблемы поэтому в основном используют ПОКА 32 битную версию.


(Eugene) #19

Проблема решена! Делается все очень просто и гениально, а именно: сносится НаХрен обновление KB3025390 и все будет отлично работать. Если кому то поможет буду рад, так как сам потратил на решение этой проблемы несколько дней. https://code.google.com/p/selenium/issues/detail?id=8302


(Sergey Korol) #20

По-моему, @vmaximv вам еще 2 дня назад эту ссылку кидал.
Повод задуматься над отключением автоапдейтов, не так ли? :wink: