Skip to content

Commit 6a12d8c

Browse files
committed
Adding dropdown test
1 parent 759ba85 commit 6a12d8c

File tree

4 files changed

+70
-2
lines changed

4 files changed

+70
-2
lines changed

webdriver_java/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@
2020
<version>3.141.59</version>
2121
</dependency>
2222

23+
<dependency>
24+
<groupId>org.seleniumhq.selenium</groupId>
25+
<artifactId>selenium-support</artifactId>
26+
<version>3.141.59</version>
27+
</dependency>
28+
29+
2330
<dependency>
2431
<groupId>org.testng</groupId>
2532
<artifactId>testng</artifactId>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package pages;
2+
3+
import org.openqa.selenium.By;
4+
import org.openqa.selenium.WebDriver;
5+
import org.openqa.selenium.WebElement;
6+
import org.openqa.selenium.support.ui.Select;
7+
8+
import java.util.List;
9+
import java.util.stream.Collectors;
10+
11+
public class DropdownPage {
12+
13+
private WebDriver driver;
14+
private By dropdown = By.id("dropdown");
15+
16+
public DropdownPage(WebDriver driver){
17+
this.driver = driver;
18+
}
19+
20+
public void selectFromDropDown(String option){
21+
findDropDownElement().selectByVisibleText(option);
22+
}
23+
24+
public List<String> getSelectedOptions(){
25+
List<WebElement> selectedElements = findDropDownElement().getAllSelectedOptions();
26+
return selectedElements.stream().map(e->e.getText()).collect(Collectors.toList());
27+
}
28+
29+
private Select findDropDownElement(){
30+
return new Select(driver.findElement(dropdown));
31+
}
32+
}

webdriver_java/src/main/java/pages/HomePage.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,22 @@
66
public class HomePage {
77

88
private WebDriver driver;
9-
private By formAuthenticationLink = By.linkText("Form Authentication");
109

1110
public HomePage(WebDriver driver){
1211
this.driver = driver;
1312
}
1413

1514
public LoginPage clickFormAuthentication(){
16-
driver.findElement(formAuthenticationLink).click();
15+
clickLink("Form Authentication");
1716
return new LoginPage(driver);
1817
}
18+
19+
public DropdownPage clickDropDown(){
20+
clickLink("Dropdown");
21+
return new DropdownPage(driver);
22+
}
23+
24+
private void clickLink(String linkText){
25+
driver.findElement(By.linkText(linkText)).click();
26+
}
1927
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package dropdown;
2+
3+
import base.BaseTests;
4+
import org.testng.annotations.Test;
5+
6+
import static org.testng.Assert.assertEquals;
7+
import static org.testng.Assert.assertTrue;
8+
9+
public class DropdownTests extends BaseTests {
10+
11+
@Test
12+
public void testSelectOption(){
13+
var dropDownPage = homePage.clickDropDown();
14+
15+
String option = "Option 1";
16+
dropDownPage.selectFromDropDown(option);
17+
var selectedOptions = dropDownPage.getSelectedOptions();
18+
assertEquals(selectedOptions.size(), 1, "Incorrect number of selections");
19+
assertTrue(selectedOptions.contains(option), "Option not selected");
20+
}
21+
}

0 commit comments

Comments
 (0)