Перейти к содержимому

Фотография

Неправильная работа Webdriver + IE


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 Vadim

Vadim

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Вадим

Отправлено 11 августа 2012 - 21:17

Коллеги, здравствуйте.

Подстажите пожалуйста, кто-либо встречался с такой проблемой, из-за чего это происходит и есть ли workaround?

Есть код:
// Удаляем строку из таблицы
public void deleteRow(final String rowName) {
        
        // Нажимаем checkbox напротив строки
        driver.findElement(By.xpath(body))
              .findElement(By.linkText(rowName))
              .findElement(By.xpath("parent::td/preceding-sibling::td/input[@type='checkbox']"))
              .click();

        // Нажимаем на кнопку Delete
        driver.findElement(By.xpath(toolbar))
              .findElement(By.linkText("Delete"))
              .click();
        
        // Подтверждаем удаление
        driver.switchTo().alert().accept();
    }

Под Firefox и Chrome все нормально:
http://www.youtube.com/watch?v=55iv1kA61KA&feature=plcp


А под Internet Explorer печаль:
http://www.youtube.com/watch?v=HykLlxUfzjE&feature=plcp
  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 13 августа 2012 - 05:38

Коллеги, здравствуйте.

Подстажите пожалуйста, кто-либо встречался с такой проблемой, из-за чего это происходит и есть ли workaround?

Есть код:

// Удаляем строку из таблицы
public void deleteRow(final String rowName) {
        
        // Нажимаем checkbox напротив строки
        driver.findElement(By.xpath(body))
              .findElement(By.linkText(rowName))
              .findElement(By.xpath("parent::td/preceding-sibling::td/input[@type='checkbox']"))
              .click();

        // Нажимаем на кнопку Delete
        driver.findElement(By.xpath(toolbar))
              .findElement(By.linkText("Delete"))
              .click();
        
        // Подтверждаем удаление
        driver.switchTo().alert().accept();
    }

Под Firefox и Chrome все нормально:
http://www.youtube.com/watch?v=55iv1kA61KA&feature=plcp


А под Internet Explorer печаль:
http://www.youtube.com/watch?v=HykLlxUfzjE&feature=plcp


1) На видео под IE один раз все же успешно отработало, это Вы вручную выделили или скрипт время от времени все-таки делает, что было задумано? Если это скрипт отработал корректно, то попробуйте поставить небольшое ожидание после выбора checkbox-а, возможно там по клику запускается JS, который в IE тормозит

2) Можно попробовать вместо click выполнить select и посмотреть что будет
  • 0

#3 hathi

hathi

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Потоцкий Евгений Леонидович

Отправлено 13 августа 2012 - 20:30

Как мне кажется проблему решит просто бональный JS click:
Код на C#
public static void JSClick(IWebDriver element)
        {
            ((IJavaScriptExecutor) DriverFactory.Driver).ExecuteScript("arguments[0].click();", element);

        }

  • 1


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных