This repository was archived by the owner on Nov 23, 2021. It is now read-only.
1.6.0
⚠️ 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.cookiewebdriver.secure.proxy.cookie_namewebdriver.secure.proxy.cookie_valuewebdriver.secure.proxy.cookie_domainbase.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.yamlfile - the auto-loading does not fire when the file is not present or when the
cookies.loadAutomaticallyis set tofalse
- #288 brand new
BobcatWait!- documentation: https://cognifide.github.io/bobcat/waiting/
com.cognifide.qa.bb.provider.selenium.BobcatWaitis now deprecated - usecom.cognifide.qa.bb.wait.BobcatWaitinstead- 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.expectedconditionsare deprecated - use the official WebDriverExpectedConditionsor the newly introducedWebElementConditions - 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-commonmodules 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.Reporterannotation from core modulecom.cognifide.qa.bb.qualifier.Retryand whole retry mechanism (goes away withbb-junit)com.cognifide.qa.bb.config.LegacyConfig- will be replaced totally withYamlConfig- Bobcat switched to YAML config by default; to continue using the Legacy properties-based one, users now need to run tests with
bobcat.config=legacySystem property⚠️
- Bobcat switched to YAML config by default; to continue using the Legacy properties-based one, users now need to run tests with
com.cognifide.qa.bb.assertions.soft- we recommend using AssertJ'sSoftAssertionscom.cognifide.qa.bb.loadable- #266
HtmlUnitandGhostDriver- we encourage using real browsers 😺
More details: #284
Bugfixes
Migration notes
When migrating from <1.6.0 versions:
- Re: #243
- Appium was updated from
4.1.2to6.1.0; please consult any required changes in Appium docs: https://github.com/appium/java-client#changelog
- Appium was updated from
- Re: #274; CucumberJVM was updated to the latest version,
3.0.2and it introduces backward-incompatible changes@Transformand otherStreamrelated annotation were removed; for more information, please read https://cucumber.io/blog/2018/05/19/announcing-cucumber-jvm-3-0-0 and
https://docs.cucumber.io/cucumber/configuration- In
@CucumberOptionsmake sure thatformatis replaced withpluginif you still haven't done so cucumber-guice.propertiesfile should be renamed tocucumber.properties
- Re: #286; if you had a proxy cookie set in your project:
- remove following properties:
webdriver.secure.proxywebdriver.secure.proxy.cookie_namewebdriver.secure.proxy.cookie_valuewebdriver.secure.proxy.cookie_domain
- Create
cookies.yamlunder yoursrc/test/resourcesfolder - Inside, provide the following:
- remove following properties:
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.BobcatWaitis now deprecated - usecom.cognifide.qa.bb.wait.BobcatWaitinsteadbobcatWait.withTimeout(x).until(condition)should be replaced with:- if
x>10, then usebobcatWait.tweak(new TimingsBuilder.explicitTimeout(x).build()).until(condition) - if
x<=10(i.e. you are satisfied with default timeouts), simply remove thewithTimeout(x)call and leavebobcatWait.until(condition)
- if
bobcatWait.withTimeout(x).until(condition, y)should be replaced with:- if
y>500then usebobcatWait.tweak(new TimingsBuilder.pollingInterval(y).build()).until(condition) - if
y>=500(i.e. you are satisfied with default timeouts), simply remove thewithTimeout(x)and the second argument inuntil()method and leavebobcatWait.until(condition)
- if
- 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
CommonExpectedConditionsorUrlExpectedConditions- please switch to Selenium'sExpectedConditionsorWebElementConditions