Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1f4bebc

Browse filesBrowse files
committed
BrokenImage example
1 parent b87b369 commit 1f4bebc
Copy full SHA for 1f4bebc

File tree

4 files changed

+85
-1
lines changed
Filter options

4 files changed

+85
-1
lines changed
+52Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package org.sayem.webdriver.pages.internet;
2+
3+
import com.jayway.restassured.response.Response;
4+
import org.openqa.selenium.By;
5+
import org.openqa.selenium.WebDriver;
6+
import org.openqa.selenium.WebElement;
7+
import org.sayem.webdriver.selectors.CssSelector;
8+
import org.sayem.webdriver.selenium.Browser;
9+
10+
import java.util.List;
11+
12+
import static com.jayway.restassured.RestAssured.given;
13+
14+
/**
15+
* Created by sayem on 1/31/16.
16+
*/
17+
public class BrokenImagePage {
18+
19+
private Browser browser;
20+
private Response response;
21+
22+
public BrokenImagePage(WebDriver driver) {
23+
this.browser = new Browser(driver);
24+
}
25+
26+
public BrokenImagePage brokenImage() {
27+
String image = browser.findElements(CssSelector.BROKEN_IMAGE)
28+
.map(s -> s.getAttribute("src"))
29+
.findFirst().get();
30+
31+
response = given().get(image).then().extract().response();
32+
if (200 != response.getStatusCode()) {
33+
System.out.println(image + " gave a response code of " + response.getStatusCode());
34+
}
35+
return this;
36+
}
37+
38+
public BrokenImagePage brokenImages() {
39+
List<WebElement> links = browser.findElements(By.cssSelector(".example>img"));
40+
String jpg;
41+
42+
for (WebElement link : links) {
43+
jpg = link.getAttribute("src");
44+
response = given().get(jpg).then().extract().response();
45+
46+
if (200 != response.getStatusCode()) {
47+
System.out.println(jpg + " gave a response code of " + response.getStatusCode());
48+
}
49+
}
50+
return this;
51+
}
52+
}

‎src/test/java/org/sayem/webdriver/pages/internet/HomePage.java

Copy file name to clipboardExpand all lines: src/test/java/org/sayem/webdriver/pages/internet/HomePage.java
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,9 @@ public DragAndDropPage dragAndDrop() {
3636
availableExamples("Drag and Drop");
3737
return TestBase.pageFactory(DragAndDropPage.class);
3838
}
39+
40+
public BrokenImagePage brokenImage() {
41+
availableExamples("Broken Images");
42+
return TestBase.pageFactory(BrokenImagePage.class);
43+
}
3944
}

‎src/test/java/org/sayem/webdriver/selectors/CssSelector.java

Copy file name to clipboardExpand all lines: src/test/java/org/sayem/webdriver/selectors/CssSelector.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public enum CssSelector implements Supplier<By> {
1515

1616
AVAILABLE_EXAMPLES("#content>ul>li>a"),
1717
CHECKBOX("#checkboxes > input:nth-of-type(1)"),
18-
18+
BROKEN_IMAGE(".example>img"),
1919
;
2020

2121
private final By by;
+27Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package org.sayem.webdriver.testcases.internet;
2+
3+
import org.sayem.webdriver.TestBase;
4+
import org.sayem.webdriver.pages.internet.HomePage;
5+
import org.testng.annotations.Test;
6+
7+
/**
8+
* Created by sayem on 1/31/16.
9+
*/
10+
public class BrokenImageTest extends TestBase{
11+
12+
@Test
13+
public void brokenImageTest(){
14+
System.setProperty("seleniumUrl", "http://the-internet.herokuapp.com/");
15+
HomePage page = pageFactory(HomePage.class);
16+
page.brokenImage()
17+
.brokenImage();
18+
}
19+
20+
@Test
21+
public void brokenImagesTest(){
22+
System.setProperty("seleniumUrl", "http://the-internet.herokuapp.com/");
23+
HomePage page = pageFactory(HomePage.class);
24+
page.brokenImage()
25+
.brokenImages();
26+
}
27+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.