Find missing images selenium -


i need automate (using selenium) missing images on webpage. image can loaded in 3 ways: 1)

<img src="http://something.com/google.png"> 

2)

<img src="/path/to/file/image.jpg"> 

3)

<div class="someicon" autoid="some-icon"></div> 

the above info can come css (for example

.someicon { height: 97px; width: 93px; background-image: url("../assets/images/some_icon.png"); background-size: 93px 97px; } 

now these different way of loading images on html page, how can write automation identify whether image missing or not?

problem 1) can solved using

list<webelement> imageslist = _driver.findelements(by.tagname("img")); (webelement image : imageslist) {     httpresponse response = new defaulthttpclient().execute(new httpget(image.getattribute("src");));     if (response.getstatusline().getstatuscode() != 200)     // whatever want broken images } 

how 2) & 3) ?

thanks, mateen

in second case value of src resolved full url, can use same method first case.

for third case need value of background-image calling getcssvalue. return value in form of url("http://<server>/assets/images/some_icon.png") need parse it:

webelement div = driver.findelement(by.classname("someicon")); string bgimage = div.getcssvalue("background-image");  matcher m = pattern.compile("\\\".*\\\"").matcher(bgimage);  if (m.find()) {     string imgurl = m.group().replace('"', ' ').trim();     // verify imgurl } 

Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -