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

Фотография

что делать с ошибкой Element cannot be scrolled into view


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

#1 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 20 декабря 2011 - 11:53

кто нибудь встречался с этой ошибкой?

на сайте имеются боковые кнопки, при нажатии на которые страница прокручивается вправо или влево к другим разделам.
Когда тест запускается в хроме, то все нормально. страница прокручивается как надо.
Но когда тест запускается в firefox или IE или Opera, то выпадает такая ошибка:
org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view:http://2do2go.mordor.fabit.ru/feed
Command duration or timeout: 31 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01'
Driver info: driver.version: RemoteWebDriver
Command duration or timeout: 301 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-36-generic', java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver

страница никуда не прокручивается.

Как с этим разобраться можно?
  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 20 декабря 2011 - 16:01

Это знаменитый "баг 2700", который по официальным данным исправлен, но иногда всё же проявляется.
Можете сделать и выложить MAFF-копию странички? И конечно же сказать, какой элемент не скроллируется и при каком разрешении экрана/размере окна браузера.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 nstreltsov

nstreltsov

    Активный участник

  • Members
  • PipPip
  • 116 сообщений
  • ФИО:Стрельцов Николай Игоревич
  • Город:Москва


Отправлено 20 декабря 2011 - 17:23

было тоже самое, увеличил размер окна и стало нормально
  • 0

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 декабря 2011 - 07:21

было тоже самое, увеличил размер окна и стало нормально

Это неспортивно :)

Но если серьёзно, баг очень "липкий", никак не удается его полностью устранить, поэтому любая информация о его проявлениях приветствуется!
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 21 декабря 2011 - 08:28

прямо на главной странице есть боковые вкладки для перехода на разделы. Справа Топ, слева Календарь.
Вот код, который я использую для перехода:
@Test(alwaysRun=true)
	public void Tabs() throws InterruptedException{
	//-- переход на Календарь
                this.WaitForElementLoad(120, "//div[@id='right-local-nav']/a[@class='local-nav-btn']");
		driver.findElement(By.xpath("//div[@id='right-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']"));
		driver.findElement(By.xpath("//table[@class='cal-week']"));
	//-- переход на Ленту
		driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']"));
		driver.findElement(By.xpath("//div[@class='main-block-head active-head']"));
	//-- переход на Топ
		driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='top_content']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='top_content']"));
		driver.findElement(By.xpath("//h1[text()='Топ']"));
	}

        public class ElementPresent implements ExpectedCondition<WebElement> { 
	        private final By locator; 
	        public ElementPresent(By locator) { 
	                this.locator = locator; 
	        } 
	        @Override 
	        public WebElement apply(WebDriver driver) { 
	                return driver.findElement(locator); 
	        } 
			}
		
	public void WaitForElementLoad(int time, String element_xpath){
			new WebDriverWait(driver, time).until(new ElementPresent(By.xpath(element_xpath)));
		}

и вот прикреплена maff-копия

Прикрепленные файлы

  • Прикрепленный файл  maff.tar.gz   97,47К   1 Количество загрузок:

  • 0

#6 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 декабря 2011 - 09:44

Ух ты, какой клёвый баг!

Если вкратце -- эти элементы "ёрзают", поэтому Selenium просто не может в них попасть.
Надо сначала подождать, чтобы они успокоились.
Простой, но плохой (ненадёжный) способ заключается в том, чтобы поставить задержки перед тем, как кликать на них.
Более правильный способ -- дождаться, пока элемент не только станет видимым, но и его координаты не перестанут меняться, и только после этого кликать.
  • 1
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#7 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 21 декабря 2011 - 10:01

спасибо большое! буду пробовать)
  • 0

#8 tannyushona

tannyushona

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Чванова Татьяна

Отправлено 28 декабря 2011 - 12:30

кто нибудь встречался с этой ошибкой?

на сайте имеются боковые кнопки, при нажатии на которые страница прокручивается вправо или влево к другим разделам.
Когда тест запускается в хроме, то все нормально. страница прокручивается как надо.
Но когда тест запускается в firefox или IE или Opera, то выпадает такая ошибка:

org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view:http://2do2go.mordor.fabit.ru/feed
Command duration or timeout: 31 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01'
Driver info: driver.version: RemoteWebDriver
Command duration or timeout: 301 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-36-generic', java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver

страница никуда не прокручивается.

Как с этим разобраться можно?

Совсем недавно начала разбираться с Selenium WebDriver и сегодня наткнулась на такую же ошибку. Только у меня в IE все корректно отрабатывает, а в FF нет.
  • 0

#9 tannyushona

tannyushona

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

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Чванова Татьяна

Отправлено 28 декабря 2011 - 12:34

было тоже самое, увеличил размер окна и стало нормально

Подскажите, пожалуйста, как в SeleniumWebDriver максимизировать окно браузера?

Или как подождать, чтоб элементы успокоились и больше "не ерзали"? А может еще какой-то вариант устранения проблемы, описанной Женей, найдется у кого-нибудь?
  • 0

#10 Wolonter

Wolonter

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

  • Members
  • PipPipPip
  • 205 сообщений
  • ФИО:Макс
  • Город:Екатеринбург


Отправлено 28 декабря 2011 - 12:45


было тоже самое, увеличил размер окна и стало нормально

Подскажите, пожалуйста, как в SeleniumWebDriver максимизировать окно браузера?

Или может еще какой-то вариант устранения проблемы, описанной Женей, найдется у кого-нибудь.


Думаю, это можно сделать в настройках профиля firefox.

А вообще, если элемент вне рабочей области браузера и нет скролла, то это баг верстки.
  • 0

#11 soleksenko2702

soleksenko2702

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

  • Members
  • PipPipPip
  • 193 сообщений
  • ФИО:Олексенко Сергей

Отправлено 28 декабря 2011 - 13:14


было тоже самое, увеличил размер окна и стало нормально

Подскажите, пожалуйста, как в SeleniumWebDriver максимизировать окно браузера?

Или как подождать, чтоб элементы успокоились и больше "не ерзали"? А может еще какой-то вариант устранения проблемы, описанной Женей, найдется у кого-нибудь?


По поводу максимизации окна браузера посмотрите http://stackoverflow...iver-selenium-2
Сам не пробывал, нет сейчас возможности.
  • 0

#12 prostooleg1

prostooleg1

    Активный участник

  • Members
  • PipPip
  • 94 сообщений
  • Город:Москва


Отправлено 11 мая 2012 - 14:00

У меня походу такая же проблема org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view:[object HTMLElement]
  • 0

#13 Pirokar

Pirokar

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

  • Members
  • Pip
  • 23 сообщений

Отправлено 14 октября 2014 - 11:34

Добрый день! Сегодня столкнулся с такой же проблемой - org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view. Происходит это на каком-то из сенд портов в прикрепленной странице. Причем он кучу портов открывает нормально до этого, но потом  - раз - и падает с такой ошибкой. Что делать? Вот страница.


  • 0


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

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