Selenium и графика
#1
Отправлено 01 сентября 2011 - 12:58
Картинка может быть разная в одном и том же месте.
то она 1.png то 2.png
Код картинки
<img src="/images/1.png">
Как мне проверить, что сейчас 1.png?
что бы не читать все ниже вот решение моего вопроса:
$this->assertTrue($this->isElementPresent("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2][contains(@src, '1.png')]"));
#2
Отправлено 01 сентября 2011 - 15:15
String img_name = webdriver.findElement(By.xpath("//xpath/to/img")).getAttribute("src").replace("/images/",""); if(img_name.equals("1.png")) System.out.println("Картинка 1.png"); else System.out.println("Картинка 2.png");
#3
Отправлено 02 сентября 2011 - 06:46
я в яве совсем никак не шарю.
#4
Отправлено 02 сентября 2011 - 07:07
$this->assertTrue($this->isElementPresent("//img[contains(@src, 'png')]"));
#5
Отправлено 02 сентября 2011 - 08:25
а если их несколько? и одних и теже?если картинка только одна на странице, то можно еще так:
$this->assertTrue($this->isElementPresent("//img[contains(@src, 'png')]"));

мне надо проверить что присутствуют на странице картинки-галочки. а они под названием 1.png
эти картинки находятся вот так //div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2]
но мне надо именно что бы еще и проверка на значение была. показывается 1 или 2. на пример точка сказать, чо должна быть отображена 1. и все.
и вот этого сделать не знаю как.
#6
Отправлено 02 сентября 2011 - 09:05
Сначала проверяешь что картинка присутствует по XPath, а затем проверяешь атрибут SRC. Проверка атрибута SRC будет выглядеть примерно так:
$src_value = $this->getAttribute("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2]@src"); $img_name = "1.png"; $match = strpos($src_value, $img_name); if ($match === false) { echo "Картинка X.png"; } else { echo "Картинка 1.png"; }Я уже успел подзабыть PHP серьезно, поэтому более подробно расписать вот сразу вряд ли смогу :)
А можно и совместить в более сложном XPath локаторе:
$this->assertTrue($this->isElementPresent("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2][contains(@src, '1.png')]"));
#7
Отправлено 02 сентября 2011 - 09:42
Selenium RC 1.x используется?
Сначала проверяешь что картинка присутствует по XPath, а затем проверяешь атрибут SRC. Проверка атрибута SRC будет выглядеть примерно так:$src_value = $this->getAttribute("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2]@src"); $img_name = "1.png"; $match = strpos($src_value, $img_name); if ($match === false) { echo "Картинка X.png"; } else { echo "Картинка 1.png"; }Я уже успел подзабыть PHP серьезно, поэтому более подробно расписать вот сразу вряд ли смогу :)
А можно и совместить в более сложном XPath локаторе:$this->assertTrue($this->isElementPresent("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2][contains(@src, '1.png')]"));
да использую RC1
я вляз решение, которое ты предложил второе
$this->assertTrue($this->isElementPresent("//div[@id='container']/div[3]/div/table/tbody/tr[3]/td/img[2][contains(@src, '1.png')]"))
Сработало. все ок!
Большое спасибо за все предсталенные решения. Побольше бы такиз людей на этот форум...
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных