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

Фотография

Проверка наличия картинки на сайте


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

#1 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 04 марта 2016 - 11:43

Привет всем. Нужно проверить наличие картинок на сайте. Язык Java.

Пробовал 2 метода.

1. click();

2. isDisplayed();

 

Пробовал с разными локаторами. Проблема в том, что даже если картинка не видна, остается div, class name и т. д.. этой картинки и тест не выдает ошибку.

Буду очень признателен за помощь.

 


  • 0

#2 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 04 марта 2016 - 11:49

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

  • 0

#3 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 04 марта 2016 - 11:50

Вам нужно проверить, что объект отображается на данной странице (есть ли она вообще в верстке) или что ссылка на данную картинку валидна (не 404/500..)?
  • 0

#4 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 04 марта 2016 - 12:11

Вам нужно проверить, что объект отображается на данной странице (есть ли она вообще в верстке) или что ссылка на данную картинку валидна (не 404/500..)?

Да, нужно убедится, что объект отображается на данной странице.


  • 0

#5 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 04 марта 2016 - 12:15

 

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.


  • 0

#6 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 04 марта 2016 - 15:02

 

 

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.

 

 

Ну так сначала читай мануал по Xpath, я не совсем понимаю, как можно делать автотетсы, если не умеешь составлять локаторы


  • 0

#7 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 09 марта 2016 - 06:00

 

 

 

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.

 

 

Ну так сначала читай мануал по Xpath, я не совсем понимаю, как можно делать автотетсы, если не умеешь составлять локаторы

 

Справедливо заметили, что мне надо уметь составлять локаторы. Я новичок, занимаюсь мануал тестингом, но сейчас надо писать автотесты и выбирать не приходится. Учусь писать автотести параллельно с работой. Использую firepath, который показывает xpath вебэлемента. В инете не смог найти инфу по моей теме и написал здесь. Буду очень признателен за помощь.


  • 0

#8 barancev

barancev

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

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


Отправлено 09 марта 2016 - 07:49

Если Вы ожидаете помощи -- тогда было бы логично дать, например, ссылку на страницу, и сказать "я не знаю, как построить локатор для вот этого элемента".


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#9 vkazar

vkazar

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

  • Members
  • PipPip
  • 128 сообщений
  • ФИО:Виктор
  • Город:Москва

Отправлено 09 марта 2016 - 07:51

Касаемо изучения XPath'а - вот полезная ссылка: http://zvon.org/xxl/...s/examples.html

А по поводу помощи - вы бы хоть html привели бы сюда...
  • 0

Тестировщик должен быть умнее программиста... ну, по крайней мере, хитрее. ©


#10 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 09 марта 2016 - 12:40

Если Вы ожидаете помощи -- тогда было бы логично дать, например, ссылку на страницу, и сказать "я не знаю, как построить локатор для вот этого элемента".

Спасибо за ответ. Я не могу дать ссилку. потому что дело касается не веб сайта, а электронной почти. Каждый день я получаю письмо, где есть несколько картиноки и надо, в том числе, проверить, что эти картинки отображаются. Вот код.

 

WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(
30, TimeUnit.SECONDS);
driver.get(
"https://www.google.c...elp/about.html");
driver.findElement
(By.xpath(
".//*[@id='gmail-sign-in']")).click();
driver.findElement
(By.xpath(
".//*[@id='Email']")).sendKeys("");
Actions actions = 
new Actions(driver);
actions.sendKeys(Keys.
ENTER).build().perform();
WebDriverWait wait = 
new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
".//*[@id='Passwd']")));
driver.findElement
(By.xpath(
".//*[@id='Passwd']")).sendKeys("");
actions.sendKeys(Keys.
ENTER).build().perform();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(
".//*[@id=':2m']")));
driver.findElement
(By.xpath(
".//*[@id=':2m']")).click();

//Ниже xpath картинок

driver.findElement(By.xpath(".//*[@id=':ky']/div[1]/center/table/tbody/tr/td/table/tbody/tr[4]/td/table[1]/tbody/tr/td/table/tbody/tr/td/img")).isDisplayed();

driver.findElement(By.xpath(".//*[@id=':ky']/div[1]/center/table/tbody/tr/td/table/tbody/tr[4]/td/table[7]/tbody/tr/td/table/tbody/tr/td/img")).isDisplayed();

 

Тест всегда проходит проверку, даже если в место одной из картинок только квадрат.  Как переделать код так, чтобы когде картинка не отображается, тест падал?


  • 0

#11 Сергей

Сергей

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 245 сообщений
  • Город:Москва

Отправлено 09 марта 2016 - 12:58

Сходу, это не подойдет: http://htmlbook.ru/f...aetsya-na-sayte ?


  • 0

"Если ты хороший плотник и делаешь красивую тумбочку, ты не будешь прибивать сзади фанеру, даже несмотря на то, что задняя часть повернута к стене, и никто ее не видит. Ты будешь хорошо спать ночью, только если тебе удалось воплотить в своем произведении эстетическую красоту и качество." © Стив Джобс


#12 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 09 марта 2016 - 13:14

Сходу, это не подойдет: http://htmlbook.ru/f...aetsya-na-sayte ?

Спасибо за ответ. Интересная статья, но по моему скромному мнению статья для программиста, а не для тестировщика. Прошу прощения, если не то говорю. Я только учусь


  • 0

#13 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 09 марта 2016 - 13:41

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректна.


  • 0

#14 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 09 марта 2016 - 15:41

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректна.

+1. Сам так тоже делал. Так как если изображение не выводится, то вместо нее в зависимости от браузера (не)выводится иконка.

Также у меня часто не выводятся картинки из-за пустого src, его я тоже проверяю.

 

А вообще нужно смотреть в чем именно проблема не отображения картинки, если неверный src, то легче проверять ответ от сервера на 404 и т.п.


  • 0

#15 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 14 марта 2016 - 11:40

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректн

Спасибо. Очень помогли, так и сделал. Все тепер ОК.


  • 0

#16 Hayasa

Hayasa

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Vahe Sahakyan

Отправлено 14 марта 2016 - 11:41

 

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректна.

+1. Сам так тоже делал. Так как если изображение не выводится, то вместо нее в зависимости от браузера (не)выводится иконка.

Также у меня часто не выводятся картинки из-за пустого src, его я тоже проверяю.

 

А вообще нужно смотреть в чем именно проблема не отображения картинки, если неверный src, то легче проверять ответ от сервера на 404 и т.п.

 

Спасибо за помощь.


  • 0


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

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