Skip to content

Commit a4a6d22

Browse files
committed
Selenium Dropdown example
1 parent aa7d182 commit a4a6d22

File tree

8 files changed

+81
-45
lines changed

8 files changed

+81
-45
lines changed

src/main/java/org/sayem/webdriver/browsers/config/BrowserThreads.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,10 @@ private void instantiateWebDriver(DesiredCapabilities desiredCapabilities) {
138138
}
139139

140140
private void setup() {
141-
try {
141+
if (defaultUrl.isEmpty()) {
142+
System.err.println("No URL specified, defaulting to: " + defaultUrl + "'...");
142143
webdriver.navigate().to(TestBase.getProperties(Repository.URL));
143-
} catch (NullPointerException ignored) {
144-
System.err.println("No URL specified in property file, defaulting to: " + defaultUrl + "'...");
144+
}else {
145145
webdriver.navigate().to(defaultUrl);
146146
}
147147
}

src/main/java/org/sayem/webdriver/selectors/CssSelector.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
* Created by sayem on 10/05/15.
1313
*/
1414
public enum CssSelector implements Supplier<By> {
15-
;
15+
16+
AVAILABLE_EXAMPLES("#content>ul>li>a");
17+
1618
private final By by;
1719

1820
CssSelector(String id) {

src/main/java/org/sayem/webdriver/selectors/Id.java

+3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
* Created by sayem on 10/05/15.
1212
*/
1313
public enum Id implements Supplier<By> {
14+
15+
DROPDOWN_LIST("dropdown"),
16+
1417
;
1518
private final By by;
1619

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.sayem.webdriver.pages;
2+
3+
import org.openqa.selenium.WebDriver;
4+
import org.sayem.webdriver.selectors.Id;
5+
import org.sayem.webdriver.selenium.Browser;
6+
import org.testng.Assert;
7+
8+
/**
9+
* Created by sayem on 1/30/16.
10+
*/
11+
public class DropdownPage {
12+
13+
private Browser browser;
14+
15+
public DropdownPage(WebDriver driver) {
16+
this.browser = new Browser(driver);
17+
}
18+
19+
public DropdownPage selectDropDown(){
20+
browser.untilFound(Id.DROPDOWN_LIST);
21+
browser.getSelect().selectByText(Id.DROPDOWN_LIST, "Option 1");
22+
Assert.assertEquals(browser.getSelect().getFirstSelectedText(Id.DROPDOWN_LIST), "Option 1");
23+
return this;
24+
}
25+
}

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

-7
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package org.sayem.webdriver.pages;
2+
3+
import org.openqa.selenium.WebDriver;
4+
import org.sayem.webdriver.TestBase;
5+
import org.sayem.webdriver.selectors.CssSelector;
6+
import org.sayem.webdriver.selenium.Browser;
7+
8+
/**
9+
* Created by sayem on 1/30/16.
10+
*/
11+
public class InternetPage {
12+
13+
private Browser browser;
14+
15+
public InternetPage(WebDriver driver) {
16+
this.browser = new Browser(driver);
17+
}
18+
19+
public DropdownPage goToDrownPage(){
20+
browser.findElements(CssSelector.AVAILABLE_EXAMPLES)
21+
.filter((s) -> s.getText().equals("Dropdown"))
22+
.findAny().get().click();
23+
return TestBase.pageFactory(DropdownPage.class);
24+
}
25+
}

src/test/java/org/sayem/webdriver/testcases/AppTest.java

-34
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.sayem.webdriver.testcases;
2+
3+
import org.sayem.webdriver.TestBase;
4+
import org.sayem.webdriver.pages.InternetPage;
5+
import org.testng.annotations.Test;
6+
7+
public class InternetPageListTest extends TestBase{
8+
9+
/***
10+
* You can override browser and URL
11+
* Example, System.setProperty("browser", "firefox")
12+
*/
13+
14+
@Test
15+
public void dropdownTest(){
16+
System.setProperty("browser", "firefox");
17+
System.setProperty("seleniumUrl", "http://the-internet.herokuapp.com/");
18+
InternetPage page = pageFactory(InternetPage.class);
19+
page.goToDrownPage()
20+
.selectDropDown();
21+
}
22+
}

0 commit comments

Comments
 (0)