Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

1.6.0

Compare
Choose a tag to compare
@mkrzyzanowski mkrzyzanowski released this 09 Oct 13:35
· 328 commits to master since this release

⚠️ This release may contain API breaking changes! ⚠️
Please review migration notes below for more details.

New features

  • #286 new Cookie setup mechanism
    • PR: #287
    • ⚠️ introduces backward-incompatible changes, see Migration notes
    • following properties removed:
      • webdriver.secure.proxy.cookie
      • webdriver.secure.proxy.cookie_name
      • webdriver.secure.proxy.cookie_value
      • webdriver.secure.proxy.cookie_domain
      • base.url
    • with the above, the old mechanism of adding a proxy cookie is removed
    • new mechanism for automated cookie loading has been introduced - loading a list of predefined cookies from a cookies.yaml file
    • the auto-loading does not fire when the file is not present or when the cookies.loadAutomatically is set to false
  • #288 brand new BobcatWait!
    • documentation: https://cognifide.github.io/bobcat/waiting/
    • com.cognifide.qa.bb.provider.selenium.BobcatWait is now deprecated - use com.cognifide.qa.bb.wait.BobcatWait instead
    • part of the API is not available in the new reworked version, new options are available though - see the documentation
    • expected conditions from com.cognifide.qa.bb.expectedconditions are deprecated - use the official WebDriver ExpectedConditions or the newly introduced WebElementConditions
    • new properties are available to control the timings (see docs)

Enhancements

  • Selenium updated to 3.14.0 #270
  • Bobcat dependencies updated #243
  • part of our API is now deprecated: #243 #228
    • bb-aem-classic, bb-aem-touch-ui, bb-reports, bb-junit, bb-aem-common modules will be marked as EOL going forward; other modules will replace them; the latest versions will still be available via Maven Central but not supported by Bobcat team
    • deprecated APIs:
      • com.cognifide.qa.bb.reporter.Reporter annotation from core module
      • com.cognifide.qa.bb.qualifier.Retry and whole retry mechanism (goes away with bb-junit)
      • com.cognifide.qa.bb.config.LegacyConfig - will be replaced totally with YamlConfig
        • Bobcat switched to YAML config by default; to continue using the Legacy properties-based one, users now need to run tests with bobcat.config=legacy System property ⚠️
      • com.cognifide.qa.bb.assertions.soft - we recommend using AssertJ's SoftAssertions
      • com.cognifide.qa.bb.loadable - #266
    • HtmlUnit and GhostDriver - we encourage using real browsers 😺
      More details: #284

Bugfixes

Migration notes

When migrating from <1.6.0 versions:

  • Re: #243
  • Re: #274; CucumberJVM was updated to the latest version, 3.0.2 and it introduces backward-incompatible changes
  • Re: #286; if you had a proxy cookie set in your project:
    1. remove following properties:
      • webdriver.secure.proxy
      • webdriver.secure.proxy.cookie_name
      • webdriver.secure.proxy.cookie_value
      • webdriver.secure.proxy.cookie_domain
    2. Create cookies.yaml under your src/test/resources folder
    3. Inside, provide the following:
cookies:
  - name: '<NAME OF YOUR COOKIE>'
    value: '<VALUE OF YOUR COOKIE>'
    path: '<YOUR PATH>'
    domain: '<YOUR DOMAIN>'
    expiry: '<EXPIRY DATE IN FORMAT YYYY-MM-DD HH:MM:SS>'
    secure: <false/true>
    httpOnly: <false/true>
  • Re: #288:
    • com.cognifide.qa.bb.provider.selenium.BobcatWait is now deprecated - use com.cognifide.qa.bb.wait.BobcatWait instead
    • bobcatWait.withTimeout(x).until(condition) should be replaced with:
      • if x>10, then use bobcatWait.tweak(new TimingsBuilder.explicitTimeout(x).build()).until(condition)
      • if x<=10 (i.e. you are satisfied with default timeouts), simply remove the withTimeout(x) call and leave bobcatWait.until(condition)
    • bobcatWait.withTimeout(x).until(condition, y) should be replaced with:
      • if y>500 then use bobcatWait.tweak(new TimingsBuilder.pollingInterval(y).build()).until(condition)
      • if y>=500 (i.e. you are satisfied with default timeouts), simply remove the withTimeout(x) and the second argument in until() method and leave bobcatWait.until(condition)
    • please refer to documentation for more details
    • BobcatWait.sleep(timeout) is deprecated and will be removed in the future - it's a chance to review your tests and apply proper explicit waiting
    • if you were using CommonExpectedConditions or UrlExpectedConditions - please switch to Selenium's ExpectedConditions or WebElementConditions