// Path: src/test/java/com/frameworkium/integration/seleniumhq/pages/HomePage.java
// public class HomePage extends BasePage<HomePage> {
// 
//     @CacheLookup
//     @Visible
//     private HeaderComponent header;
// 
//     @FindBy(css = "button[data-target='#main_navbar']")
//     private WebElement menuLink;
// 
//     public static HomePage open() {
//         return PageFactory.newInstance(
//                 HomePage.class,
//                 "https://selenium.dev/");
//     }
// 
//     public HeaderComponent getHeader() {
//         // when using Selenium grid, the browser size is smaller and the header is hidden behind this link
//         if (menuLink.isDisplayed()) {
//             menuLink.click();
//         }
//         return header;
//     }
// }


import com.frameworkium.core.ui.tests.BaseUITest;
import com.frameworkium.integration.seleniumhq.pages.HomePage;
import static com.google.common.truth.Truth.assertThat;
package com.frameworkium.integration.seleniumhq.tests;



public class SeleniumTest extends BaseUITest {

    public final void component_example_test() {
        String latestVersion = HomePage.open()
                .getHeader()
                .clickDownloadLink()
                .getLatestVersion();

// Path: src/test/java/com/frameworkium/integration/seleniumhq/pages/HomePage.java
// public class HomePage extends BasePage<HomePage> {
// 
//     @CacheLookup
//     @Visible
//     private HeaderComponent header;
// 
//     @FindBy(css = "button[data-target='#main_navbar']")
//     private WebElement menuLink;
// 
//     public static HomePage open() {
//         return PageFactory.newInstance(
//                 HomePage.class,
//                 "https://selenium.dev/");
//     }
// 
//     public HeaderComponent getHeader() {
//         // when using Selenium grid, the browser size is smaller and the header is hidden behind this link
//         if (menuLink.isDisplayed()) {
//             menuLink.click();
//         }
//         return header;
//     }
// }


// Path: src/test/java/com/frameworkium/integration/seleniumhq/tests/SeleniumTest.java
import com.frameworkium.core.ui.tests.BaseUITest;
import com.frameworkium.integration.seleniumhq.pages.HomePage;
import static com.google.common.truth.Truth.assertThat;

package com.frameworkium.integration.seleniumhq.tests;



public class SeleniumTest extends BaseUITest {

    public final void component_example_test() {
        String latestVersion = HomePage.open()
                .getHeader()
                .clickDownloadLink()
                .getLatestVersion();

        assertThat(latestVersion).matches("\\d\\.\\d+\\.\\d+");