This repository has been 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.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 tofalse
- #288 brand new
BobcatWait
!- documentation: https://cognifide.github.io/bobcat/waiting/
com.cognifide.qa.bb.provider.selenium.BobcatWait
is now deprecated - usecom.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 WebDriverExpectedConditions
or 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-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 modulecom.cognifide.qa.bb.qualifier.Retry
and 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=legacy
System 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'sSoftAssertions
com.cognifide.qa.bb.loadable
- #266
HtmlUnit
andGhostDriver
- 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.2
to6.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.2
and it introduces backward-incompatible changes@Transform
and otherStream
related 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
@CucumberOptions
make sure thatformat
is replaced withplugin
if you still haven't done so cucumber-guice.properties
file should be renamed tocucumber.properties
- Re: #286; if you had a proxy cookie set in your project:
- remove following properties:
webdriver.secure.proxy
webdriver.secure.proxy.cookie_name
webdriver.secure.proxy.cookie_value
webdriver.secure.proxy.cookie_domain
- Create
cookies.yaml
under yoursrc/test/resources
folder - 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.BobcatWait
is now deprecated - usecom.cognifide.qa.bb.wait.BobcatWait
insteadbobcatWait.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>500
then 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
CommonExpectedConditions
orUrlExpectedConditions
- please switch to Selenium'sExpectedConditions
orWebElementConditions