The following test class has 3 test scripts that check if results can be filtered by different criteria (book, comic book, e-book):
public class WebTest {
private WebDriver driver;
private static final String KEYWORD = "java";
private static final String BOOK_FILTER = "book";
private static final String COMIC_BOOK_FILTER = "comicbook";
private static final String E_BOOK_FILTER = "ebook";
@BeforeMethod
public void setUp() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@AfterMethod
public void tearDown() {
driver.quit();
}
@Test
public void canFilterByBooksTest() {
HomePage homePage = new HomePage(driver);
homePage.open();
Verify.verify(homePage.isDisplayed(), "home page is not displayed!");
ResultsPage resultsPage = homePage.searchBy(KEYWORD);
Verify.verify(resultsPage.isDisplayed(),
"results page is not displayed!");
Assert.assertFalse(resultsPage.getFilterState(BOOK_FILTER),
"book filter is not unchecked!");
resultsPage.checkFilter(BOOK_FILTER);
Assert.assertTrue(resultsPage.getFilterState(BOOK_FILTER),
"book filter is not checked!");
resultsPage.unCheckFilter(BOOK_FILTER);
Assert.assertFalse(resultsPage.getFilterState(BOOK_FILTER),
"book filter is not unchecked!");
}
@Test
public void canFilterByComicBooksTest() {
HomePage homePage = new HomePage(driver);
homePage.open();
Verify.verify(homePage.isDisplayed(), "home page is not displayed!");
ResultsPage resultsPage = homePage.searchBy(KEYWORD);
Verify.verify(resultsPage.isDisplayed(),
"results page is not displayed!");
Assert.assertFalse(resultsPage.getFilterState(COMIC_BOOK_FILTER),
"comic book filter is not unchecked!");
resultsPage.checkFilter(COMIC_BOOK_FILTER);
Assert.assertTrue(resultsPage.getFilterState(COMIC_BOOK_FILTER),
"comic book filter is not checked!");
resultsPage.unCheckFilter(COMIC_BOOK_FILTER);
Assert.assertFalse(resultsPage.getFilterState(COMIC_BOOK_FILTER),
"comic book filter is not unchecked!");
}
@Test
public void canFilterByEBooksTest() {
HomePage homePage = new HomePage(driver);
homePage.open();
Verify.verify(homePage.isDisplayed(), "home page is not displayed!");
ResultsPage resultsPage = homePage.searchBy(KEYWORD);
Verify.verify(resultsPage.isDisplayed(),
"results page is not displayed!");
Assert.assertFalse(resultsPage.getFilterState(E_BOOK_FILTER),
"ebook filter is not unchecked!");
resultsPage.checkFilter(E_BOOK_FILTER);
Assert.assertTrue(resultsPage.getFilterState(E_BOOK_FILTER),
"ebook filter is not checked!");
resultsPage.unCheckFilter(E_BOOK_FILTER);
Assert.assertFalse(resultsPage.getFilterState(E_BOOK_FILTER),
"ebook filter is not unchecked!");
}
}
Keep reading with a 7-day free trial
Subscribe to Selenium For Beginners to keep reading this post and get 7 days of free access to the full post archives.