Class BambooWebDriverTest

java.lang.Object
com.atlassian.bamboo.webdriver.BambooWebDriverTest

public abstract class BambooWebDriverTest extends Object
An abstract page objects-based test in Bamboo.

This class follows the JUnit4 rule pattern. If you feel there is a need for common functionality, please try not to pollute this class with random utility methods. Use the page objects framework in combination with rules instead. Check out the existing rules for examples.

  • Field Details

    • product

      protected static final BambooTestedProduct product
    • testEnvironmentData

      protected static final BambooEnvironmentData testEnvironmentData
    • expectedExceptionRule

      protected final ResettableExpectedExceptionRule expectedExceptionRule
    • backdoor

      protected final BackdoorRule backdoor
    • driver

      @Inject protected org.openqa.selenium.WebDriver driver
    • ruleChain

      public final org.junit.rules.TestRule ruleChain
      Do not change the order of rules unless there is a good reason for it. Reasons for current order:

      • repeat rule should wrap everything
      • test progress logs should wrap everything for each repeat iteration
      • uniform interface exception rule should wrap backdoor, as the exception may occur during backdoor cleanup
      • backdoor modules should be available for #after methods
      • screenshot should be taken before #after methods pollute the test with cleanup code
  • Constructor Details

    • BambooWebDriverTest

      public BambooWebDriverTest()
  • Method Details

    • getText

      protected final String getText(String key, Object... arguments)
      Get i18n text from Bamboo language properties.
      Parameters:
      key - i18n key
      arguments - arguments to format the message
    • after

      public final void after() throws Exception
      Throws:
      Exception
    • onAfter

      protected abstract void onAfter() throws Exception
      Throws:
      Exception
    • click

      protected void click(com.atlassian.pageobjects.elements.PageElement pageElement)