Debug проходит степ, а обычный режим - нет
#1
Отправлено 15 января 2013 - 07:32
Столкнулась со следующей проблемой. В тесте на Webdriver(java) надо искать элемент на странице по xpath, затем кликать по нему. Скопировала xpath из firebug (xpath не меняется), вставила в код. В обычном режиме тест виснет - не кликает по этому элементу, в дебаге - всё отлично проходит. помогите, пожалуйста, разобраться
WebElement picture = driver.findElement(By.xpath(".//*[@id='results']/div/section[2]/div[2]/div[2]/ul/li[1]/a/span[1]/img"));
picture.click();
#2
Отправлено 15 января 2013 - 07:53
Скорее всего элемент не успевает перейти в состояние, когда действие клик активно. (элемент не появился, элемент не виден)
Попробуйте поставить ожидание перед тем как кликнуть на элемент.
#3
Отправлено 15 января 2013 - 08:08
Добрый день!
Скорее всего элемент не успевает перейти в состояние, когда действие клик активно. (элемент не появился, элемент не виден)
Попробуйте поставить ожидание перед тем как кликнуть на элемент.
он даже не видит этот элемент (1-я строка не срабатывает) - даже формально тест не падает, он просто всё время проводит в ожидании.
#4
Отправлено 15 января 2013 - 08:17
#5
Отправлено 15 января 2013 - 08:27
размеры окна одинаковые в обоих случаях?
#6
Отправлено 15 января 2013 - 08:38
а если поставить задержку после открытия страницы, пару секунд? Вдруг какой-то элемент не успевает отрисоваться или ещё чего
размеры окна одинаковые в обоих случаях?
WebElement picture = driver.findElement(By.xpath(".//*[@id='results']/div/section[2]/div[2]/div[2]/ul/li[1]/a/span[1]/img"));
picture.wait();
сделала так - результата ноль. Элемент этот он не видит, никакого исключения не выдаёт. Окно браузера вы имеете в виду? да, всё идентично.
причем применение css локатора даёт такой же результат. И ещё: в этом же тесте другой элемент совершенно нормально искался по xpath...
#7
Отправлено 15 января 2013 - 08:40
http://www.hlx.com/Angebote/Kanaren?attributes=GT03-HONE&umt=2&ucid=10967, первая картинка (отель)Есть ссылка на страницу?
#8
Отправлено 15 января 2013 - 10:49
http://www.hlx.com/Angebote/Kanaren?attributes=GT03-HONE&umt=2&ucid=10967, первая картинка (отель)
Есть ссылка на страницу?
Проверил на C# (на ява не проверял, но, думаю, разница не большая)
1. Открываю страницу по ссылке
2. Жду пока появится элемент
3. Кликаю по этому элементу
Все работает.
Теперь по вашим ошибкам
WebElement picture = driver.findElement(By.xpath(".//*[@id='results']/div/section[2]/div[2]/div[2]/ul/li[1]/a/span[1]/img"));
picture.wait();
Так не будет работать, потому что, когда вы ищите элемент (первая строка) его еще нет.
Слишком длинный и сложный xpath, используйте вот такой //*[@alt='Beatriz Atlantis'], точку впереди ставить необязательно
На всякий случай приложил код моего примера на c#.
Прикрепленные файлы
#9
Отправлено 15 января 2013 - 11:21
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных