Fluent Test Pattern
A fluent pattern helps you stitch the various page class methods to arrive at fluent style of authoring tests. This increases the readability of the test.
Sample code
@Test(groups = {Groups.SMOKE, Groups.BASIC_SEARCH})
public void validateSaveSearchIsDisplayedAndEnabled() {
// 1. Arrange
Credentials credentials = credentialsDataClient.getProjectAdministrator();
// 2. Act
boolean saveButtonDisplayedAndEnabled = Page(LoginPage.class)
//
.login(credentials)
.navigateToSessionSearch()
.isSaveButtonDisplayedAndEnabled();
// 3. Assert
assertTrue(saveButtonDisplayedAndEnabled, "Save Button is not displayed");
}