Skip to content

Commit

Permalink
Merge pull request #131 from telekom/refactoring/page-loaded
Browse files Browse the repository at this point in the history
Added Page.pageLoaded() callback
  • Loading branch information
Mike Reiche authored Sep 29, 2021
2 parents ddfda1a + 01847d7 commit 1e74024
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 0 deletions.
17 changes: 17 additions & 0 deletions docs/src/docs/pageobject/pageobjects-callback-methods.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
= Page loaded callback

You can add a custom action if a page was loaded successfully.

[source,java]
----
public class MyPage extends Page {
...
@Override
protected void pageLoaded() {
super.pageLoaded();
// Add here your custom action
}
}
----
1 change: 1 addition & 0 deletions docs/src/docs/pageobjects.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ include::pageobject/pageobjects-overview.adoc[leveloffset=+1]
include::pageobject/pageobjects-instantiation.adoc[leveloffset=+1]
include::pageobject/pageobjects-responsive.adoc[leveloffset=+1]
include::pageobject/pageobjects-check-annotations.adoc[leveloffset=+1]
include::pageobject/pageobjects-callback-methods.adoc[leveloffset=+1]
include::pageobject/pageobjects-error-handling.adoc[leveloffset=+1]
include::pageobject/pageobjects-timeout-setting.adoc[leveloffset=+1]
include::pageobject/pageobjects-assertions.adoc[leveloffset=+1]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,11 @@ private void pCheckPage(final boolean findNot, final boolean fast, final boolean
}

screenShotOnPageLoad();
pageLoaded();
}

protected void pageLoaded() {

}

protected void checkPagePreparation() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,14 @@
import eu.tsystems.mms.tic.testframework.core.pageobjects.testdata.ResponsiveWebTestPage_Min_600px;
import eu.tsystems.mms.tic.testframework.core.testpage.TestPage;
import eu.tsystems.mms.tic.testframework.execution.testng.AssertCollector;
import eu.tsystems.mms.tic.testframework.pageobjects.Page;
import eu.tsystems.mms.tic.testframework.pageobjects.factory.PageFactory;
import eu.tsystems.mms.tic.testframework.webdrivermanager.AbstractWebDriverRequest;
import eu.tsystems.mms.tic.testframework.webdrivermanager.UnspecificWebDriverRequest;
import eu.tsystems.mms.tic.testframework.webdrivermanager.WebDriverManager;
import eu.tsystems.mms.tic.testframework.webdrivermanager.WebDriverManagerConfig;
import java.net.MalformedURLException;
import java.util.concurrent.atomic.AtomicBoolean;
import org.openqa.selenium.WebDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
Expand Down Expand Up @@ -146,4 +148,21 @@ public void testT08_CheckNot() {
final PageWithExistingElement pageWithExistingElement = PageFactory.create(PageWithExistingElement.class, driver);
final PageWithNotExistingElementWithoutCheckPage pageWithNotExistingElement = PageFactory.checkNot(PageWithNotExistingElementWithoutCheckPage.class, driver);
}

@Test
public void test_pageLoadedCallback() {
WebDriver webDriver = getWebDriver();
AtomicBoolean atomicBoolean = new AtomicBoolean();

Page testPage = new Page(webDriver) {
@Override
protected void pageLoaded() {
super.pageLoaded();
atomicBoolean.set(true);
}
};

testPage.checkPage();
Assert.assertTrue(atomicBoolean.get());
}
}

0 comments on commit 1e74024

Please sign in to comment.