This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy-geb.git
The following commit(s) were added to refs/heads/master by this push:
new c011d9bc Add macro for historical links #230 (can't have one macro
that is the suffix of another)
c011d9bc is described below
commit c011d9bc16cf0d2328dac75b2debfd7fee69ee1a
Author: Paul King <[email protected]>
AuthorDate: Fri Dec 20 12:49:41 2024 +1000
Add macro for historical links #230 (can't have one macro that is the
suffix of another)
---
.../extension/BookOfGebExtension.groovy | 2 +-
doc/manual/src/docs/asciidoc/010-intro.adoc | 13 +-
doc/manual/src/docs/asciidoc/140-project.adoc | 560 ++++++++++-----------
3 files changed, 288 insertions(+), 287 deletions(-)
diff --git
a/doc/asciidoctor-extension/src/main/groovy/geb/doc/asciidoctor/extension/BookOfGebExtension.groovy
b/doc/asciidoctor-extension/src/main/groovy/geb/doc/asciidoctor/extension/BookOfGebExtension.groovy
index 31e65435..d8f2058c 100644
---
a/doc/asciidoctor-extension/src/main/groovy/geb/doc/asciidoctor/extension/BookOfGebExtension.groovy
+++
b/doc/asciidoctor-extension/src/main/groovy/geb/doc/asciidoctor/extension/BookOfGebExtension.groovy
@@ -27,7 +27,7 @@ class BookOfGebExtension implements ExtensionRegistry {
void register(Asciidoctor asciidoctor) {
asciidoctor.javaExtensionRegistry()
.inlineMacro("issue", IssueLinkMacro)
- .inlineMacro("hissue", HistoricalIssueLinkMacro)
+ .inlineMacro("issueh", HistoricalIssueLinkMacro)
.inlineMacro("github-profile", GithubProfileLinkMacro)
}
diff --git a/doc/manual/src/docs/asciidoc/010-intro.adoc
b/doc/manual/src/docs/asciidoc/010-intro.adoc
index 31d5e206..d2b9baf8 100644
--- a/doc/manual/src/docs/asciidoc/010-intro.adoc
+++ b/doc/manual/src/docs/asciidoc/010-intro.adoc
@@ -159,11 +159,9 @@ Via `@Grab`…
[source,groovy,subs="attributes"]
----
-@Grapes([
- @Grab("{geb-group}:geb-core:{geb-version}"),
-
@Grab("org.seleniumhq.selenium:selenium-firefox-driver:{selenium-version}"),
- @Grab("org.seleniumhq.selenium:selenium-support:{selenium-version}")
-])
+@Grab("{geb-group}:geb-core:{geb-version}")
+@Grab("org.seleniumhq.selenium:selenium-firefox-driver:{selenium-version}")
+@Grab("org.seleniumhq.selenium:selenium-support:{selenium-version}")
import geb.Browser
----
@@ -208,6 +206,9 @@ Be sure to check the chapter on <<build-integrations, build
integrations>> for i
=== Snapshot repository
-If you fancy living on the bleeding edge then you can try out Geb's snapshot
artifacts located in
link:https://oss.sonatype.org/content/repositories/snapshots/{geb-group-dir}/[the
Maven repository at https://oss.sonatype.org/content/repositories/snapshots].
+If you fancy living on the bleeding edge then you can try out Geb's snapshot
artifacts located in the
link:https://repository.apache.org/content/repositories/snapshots/{geb-group-dir}/[Apache
Snapshot repository] at
https://repository.apache.org/content/repositories/snapshots.
+
+NOTE: Snapshots are not official Apache releases and
+are intended for the developer community to test upcoming releases.
:numbered:
diff --git a/doc/manual/src/docs/asciidoc/140-project.adoc
b/doc/manual/src/docs/asciidoc/140-project.adoc
index 0130f147..7cee8ae1 100644
--- a/doc/manual/src/docs/asciidoc/140-project.adoc
+++ b/doc/manual/src/docs/asciidoc/140-project.adoc
@@ -54,7 +54,7 @@ mailto:[email protected][Unsubscribe]
* github-profile:johnrengelman[John Engelman] - Grails integration improvements
* github-profile:legart[Michael Legart] - Grails integration improvements
* github-profile:graemerocher[Graeme Rocher] - Grails integration improvements
-* github-profile:craigatk[Craig Atkinson] - Bug fix around unexpected pages,
fix for [hissue:422[]]
+* github-profile:craigatk[Craig Atkinson] - Bug fix around unexpected pages,
fix for [issueh:422[]]
* github-profile:kgeis[Ken Geis] - Doc improvements
* github-profile:kellyrob99[Kelly Robinson] - Additional configuration
parameters for SauceLabs
* github-profile:tygerpatch[Todd Gerspacher] - Doc improvements, Cleaned up
settings.gradle
@@ -111,333 +111,333 @@ No changes have been made, yet.
=== 7.0
==== New features
-* Add support for selecting elements by visibility when creating a
`Navigator`. [hissue:675[]]
-* Add a convenience method for creating dynamic navigators based on a
`Supplier<Iterable<WebElement>>`. [hissue:674[]]
+* Add support for selecting elements by visibility when creating a
`Navigator`. [issueh:675[]]
+* Add a convenience method for creating dynamic navigators based on a
`Supplier<Iterable<WebElement>>`. [issueh:674[]]
==== Fixes
-* Correctly handle skipped and aborted tests in `OnFailureReporter`.
[hissue:676[]]
+* Correctly handle skipped and aborted tests in `OnFailureReporter`.
[issueh:676[]]
==== Breaking changes
-* Update Groovy to 4.0.5 and Spock to 2.3-groovy-4.0. [hissue:668[]]
+* Update Groovy to 4.0.5 and Spock to 2.3-groovy-4.0. [issueh:668[]]
=== 6.0
==== New features
-* Add an option to `waitFor()` to not throw `WaitTimeoutException` when the
wait times out. [hissue:644[]]
-* Cloud browser plugins are published to Gradle Plugin Portal. [hissue:647[]]
+* Add an option to `waitFor()` to not throw `WaitTimeoutException` when the
wait times out. [issueh:644[]]
+* Cloud browser plugins are published to Gradle Plugin Portal. [issueh:647[]]
==== Fixes
-* Fix a bug causing reports generated from within `cleanupSpec()` to not end
up in the report group directory for the spec. [hissue:661[]]
-* Update LambdaTest tunnel to v3. [hissue:662[]]
-* Correctly expose all API dependencies for geb-junit4 and geb-testng modules
to consumers.. [hissue:666[]]
+* Fix a bug causing reports generated from within `cleanupSpec()` to not end
up in the report group directory for the spec. [issueh:661[]]
+* Update LambdaTest tunnel to v3. [issueh:662[]]
+* Correctly expose all API dependencies for geb-junit4 and geb-testng modules
to consumers.. [issueh:666[]]
==== Improvements
-* Add parallel execution support for JUnit 5 integration. [hissue:663[]]
-* Update Spock to 2.1-groovy-3.0. [hissue:665[]]
-* Any `WebDriverException` thrown from web storage clearing after each test in
`GebTestManager` is now suppressed. [hissue:649[]]
+* Add parallel execution support for JUnit 5 integration. [issueh:663[]]
+* Update Spock to 2.1-groovy-3.0. [issueh:665[]]
+* Any `WebDriverException` thrown from web storage clearing after each test in
`GebTestManager` is now suppressed. [issueh:649[]]
==== Project related changes
-* Update Gradle logo at the bottom of gebish.org to the current design.
[hissue:653[]]
+* Update Gradle logo at the bottom of gebish.org to the current design.
[issueh:653[]]
==== Breaking changes
-* Update to Selenium 4. [hissue:664[]]
-* Cloud browser plugins are no longer published to Maven Central and should be
resolved from Gradle Plugin portal instead. [hissue:648[]]
-* Run GebConfig script only once rather than before each test in JUnit and
Spock integrations. [hissue:660[]]
+* Update to Selenium 4. [issueh:664[]]
+* Cloud browser plugins are no longer published to Maven Central and should be
resolved from Gradle Plugin portal instead. [issueh:648[]]
+* Run GebConfig script only once rather than before each test in JUnit and
Spock integrations. [issueh:660[]]
=== 5.1
==== Improvements
-* Add support for Spock's parallel execution to `GebSpec` and
`GebReportingSpec`. [hissue:645[]]
+* Add support for Spock's parallel execution to `GebSpec` and
`GebReportingSpec`. [issueh:645[]]
=== 5.0
==== Fixes
-* Fix a bug under Groovy 3 which caused PageInstanceNotInitializedException
when "container" was used as a content element name. [hissue:640[]]
+* Fix a bug under Groovy 3 which caused PageInstanceNotInitializedException
when "container" was used as a content element name. [issueh:640[]]
==== Breaking changes
-* The `quitDriverOnBrowserReset` config option now default to true if driver
caching is disabled. [hissue:633[]]
-* Update Groovy to 3.0.8 and Spock to 2.0-groovy-3.0. [hissue:619[]]
-* Don't make non-optional dependencies optional in various modules' POMs.
[hissue:638[]]
+* The `quitDriverOnBrowserReset` config option now default to true if driver
caching is disabled. [issueh:633[]]
+* Update Groovy to 3.0.8 and Spock to 2.0-groovy-3.0. [issueh:619[]]
+* Don't make non-optional dependencies optional in various modules' POMs.
[issueh:638[]]
=== 4.1
==== Fixes
-* Minor fix to confusing statement in the documentation section about finding
and filtering web elements. [hissue:625[]]
-* Improve information about IntelliJ support in the section on IDE authoring
assistance in the manual. [hissue:629[]]
-* Fix `Browser.go()` not to fail for non-hierarchical, opaque URIs.
[hissue:634[]]
+* Minor fix to confusing statement in the documentation section about finding
and filtering web elements. [issueh:625[]]
+* Improve information about IntelliJ support in the section on IDE authoring
assistance in the manual. [issueh:629[]]
+* Fix `Browser.go()` not to fail for non-hierarchical, opaque URIs.
[issueh:634[]]
==== New features
-* Add ability to compose multiple text matchers. [hissue:631[]]
-* Add configuration option to quit the driver each time the browser instance
is reset by `GebTestManager`. [hissue:632[]]
+* Add ability to compose multiple text matchers. [issueh:631[]]
+* Add configuration option to quit the driver each time the browser instance
is reset by `GebTestManager`. [issueh:632[]]
=== 4.0
==== Fixes
-* Fix failure reporting in Spock fixture methods. [hissue:613[]]
-* Fix using constants (static final fields) is content definitions on Groovy
2.5.14. [hissue:627[]]
+* Fix failure reporting in Spock fixture methods. [issueh:613[]]
+* Fix using constants (static final fields) is content definitions on Groovy
2.5.14. [issueh:627[]]
==== New features
-* Add integration with JUnit 5. [hissue:539[]]
+* Add integration with JUnit 5. [issueh:539[]]
==== Improvements
-* Introduce `{geb-test-manager-api}` to decrease code duplication between test
framework integrations and make it easier for users to add integrations for
additional frameworks. [hissue:614[]]
-* Improve frame context management when nested withFrame() calls are used.
[hissue:612[]]
+* Introduce `{geb-test-manager-api}` to decrease code duplication between test
framework integrations and make it easier for users to add integrations for
additional frameworks. [issueh:614[]]
+* Improve frame context management when nested withFrame() calls are used.
[issueh:612[]]
==== Breaking changes
-* Superclasses providing <<spock-junit-testng, support for various test
frameworks>> have been rewritten in a backwards incompatible way to benefit
from introduction of `{geb-test-manager-api}`. [hissue:614[]]
-* Geb no longer depends on `groovy-all` artifact but instead depends on
`groovy`, `groovy-templates` and `groovy-macro` artifacts from
`org.codehaus.groovy` group. [hissue:618[]]
-* Update to Groovy 2.5.13. [hissue:617[]]
-* Removed `geb.PageChangeListener` which was deprecated in favour of
`geb.PageEventListener`. [hissue:593[]]
-* Update to Gradle 6.7 and build the cloud browser Gradle plugin against it.
[hissue:622[]]
-* Rename tunnel id to tunnel name in the Gradle plugin for LambdaTest
integration. [hissue:606[]]
+* Superclasses providing <<spock-junit-testng, support for various test
frameworks>> have been rewritten in a backwards incompatible way to benefit
from introduction of `{geb-test-manager-api}`. [issueh:614[]]
+* Geb no longer depends on `groovy-all` artifact but instead depends on
`groovy`, `groovy-templates` and `groovy-macro` artifacts from
`org.codehaus.groovy` group. [issueh:618[]]
+* Update to Groovy 2.5.13. [issueh:617[]]
+* Removed `geb.PageChangeListener` which was deprecated in favour of
`geb.PageEventListener`. [issueh:593[]]
+* Update to Gradle 6.7 and build the cloud browser Gradle plugin against it.
[issueh:622[]]
+* Rename tunnel id to tunnel name in the Gradle plugin for LambdaTest
integration. [issueh:606[]]
=== 3.4.1
==== Fixes
-* Fix `Browser.setNetworkLatency()` on newer versions of Chrome. [hissue:620[]]
+* Fix `Browser.setNetworkLatency()` on newer versions of Chrome. [issueh:620[]]
=== 3.4
==== New features
-* Add support for adding multiple test tasks per browser type to cloud browser
gradle plugins. [hissue:597[]]
+* Add support for adding multiple test tasks per browser type to cloud browser
gradle plugins. [issueh:597[]]
==== Fixes
-* Fix an overflow for large `int` timeouts in `geb.Wait` causing
`Browser.pause()` to fail and return instantly. [hissue:605[]]
-* Update the message searched for in BrowserStack tunnel process output before
considering it successfully as started after output changes in the latest
version. [hissue:607[]]
-* Update the message searched for in LambdaTest tunnel process output before
considering it successfully as started after output changes in the latest
version. [hissue:608[]]
-* Fix detection of 64 bit architecture in Gradle tasks downloading
BrowserStack and LambdaTest tunnel binaries. [hissue:610[]]
+* Fix an overflow for large `int` timeouts in `geb.Wait` causing
`Browser.pause()` to fail and return instantly. [issueh:605[]]
+* Update the message searched for in BrowserStack tunnel process output before
considering it successfully as started after output changes in the latest
version. [issueh:607[]]
+* Update the message searched for in LambdaTest tunnel process output before
considering it successfully as started after output changes in the latest
version. [issueh:608[]]
+* Fix detection of 64 bit architecture in Gradle tasks downloading
BrowserStack and LambdaTest tunnel binaries. [issueh:610[]]
==== Improvements
-* Make BrowserStack and LambdaTest tunnel ready messages configurable.
[hissue:611[]]
+* Make BrowserStack and LambdaTest tunnel ready messages configurable.
[issueh:611[]]
=== 3.3
==== New features
-* Add ability to disable implicit assertions in particular waitFor block.
[hissue:578[]]
-* Add support to provide more information for UnexpectedPageException.
[hissue:596[]]
-* Add integration with LambdaTest. [hissue:603[]]
-* Add a way to react when an unexpected page is encountered. [hissue:598[]]
-* Add support for setting network throttling via setNetworkConditions Chrome
command. [hissue:602[]]
+* Add ability to disable implicit assertions in particular waitFor block.
[issueh:578[]]
+* Add support to provide more information for UnexpectedPageException.
[issueh:596[]]
+* Add integration with LambdaTest. [issueh:603[]]
+* Add a way to react when an unexpected page is encountered. [issueh:598[]]
+* Add support for setting network throttling via setNetworkConditions Chrome
command. [issueh:602[]]
==== Fixes
-* `BindingUpdater` is not forwarding methods from
`geb.textmatching.TextMatchingSupport` onto the `Browser` instance.
[hissue:601[]]
+* `BindingUpdater` is not forwarding methods from
`geb.textmatching.TextMatchingSupport` onto the `Browser` instance.
[issueh:601[]]
==== Improvements
-* Improve integration between cloud browser gradle plugins and driver
factories. [hissue:579[]]
-* Switch cloud driver factories to use https urls. [hissue:599[]]
-* Pass SauceLabs credentials via capabilities and not the url. [hissue:600[]]
+* Improve integration between cloud browser gradle plugins and driver
factories. [issueh:579[]]
+* Switch cloud driver factories to use https urls. [issueh:599[]]
+* Pass SauceLabs credentials via capabilities and not the url. [issueh:600[]]
=== 3.2
==== Fixes
-* Unexpected pages are now only checked after checking that none of the pages
passed to `Browser.page()` methods taking a list match. [hissue:595[]]
-* Fix global atCheckWaiting in combination with to:[...] leading to
potentially long delays. [hissue:594[]]
-* Fix a MissingMethodException when `Browser.withFrame(Navigator, Class<P>,
Closure<T>)` is called. [hissue:591[]]
-* Support accessing `Browser` instance from module base definitions.
[hissue:582[]]
-* Fix `withConfirm()` to work when accepting the dialog closes the window.
[hissue:568[]]
+* Unexpected pages are now only checked after checking that none of the pages
passed to `Browser.page()` methods taking a list match. [issueh:595[]]
+* Fix global atCheckWaiting in combination with to:[...] leading to
potentially long delays. [issueh:594[]]
+* Fix a MissingMethodException when `Browser.withFrame(Navigator, Class<P>,
Closure<T>)` is called. [issueh:591[]]
+* Support accessing `Browser` instance from module base definitions.
[issueh:582[]]
+* Fix `withConfirm()` to work when accepting the dialog closes the window.
[issueh:568[]]
=== 3.1
==== New features
-* Add a way to listen for navigator events. [hissue:585[]]
-* Add a way to listen for page switching and at checking events. [hissue:590[]]
+* Add a way to listen for navigator events. [issueh:585[]]
+* Add a way to listen for page switching and at checking events. [issueh:590[]]
==== Fixes
-* Add `Actions` methods added in WebDriver 3.x to `InteractDelegate` and
expose the backing `Actions` instance. [hissue:587[]]
-* Fix incorrect javadoc for `Configuration.isCacheDriverPerThread()`.
[hissue:592[]]
+* Add `Actions` methods added in WebDriver 3.x to `InteractDelegate` and
expose the backing `Actions` instance. [issueh:587[]]
+* Fix incorrect javadoc for `Configuration.isCacheDriverPerThread()`.
[issueh:592[]]
=== 3.0.1
==== Fixes
-* Set the correct type of dependency on `groovy-all` in poms published for Geb
artifacts. [hissue:586[]]
+* Set the correct type of dependency on `groovy-all` in poms published for Geb
artifacts. [issueh:586[]]
=== 3.0
==== Fixes
-* Use `Number` instead of `Double` for waitFor calls. [hissue:570[]]
-* Make `RadioButtons` module extendable. [hissue:562[]]
-* Fix selector optimisation when attributes map contains `GString` values.
[hissue:564[]]
-* Do not swallow the cause when instantiating `UnableToLoadException`.
[hissue:572[]]
+* Use `Number` instead of `Double` for waitFor calls. [issueh:570[]]
+* Make `RadioButtons` module extendable. [issueh:562[]]
+* Fix selector optimisation when attributes map contains `GString` values.
[issueh:564[]]
+* Do not swallow the cause when instantiating `UnableToLoadException`.
[issueh:572[]]
==== New features
-* <<dynamic-navigators,Dynamic navigators>>. [hissue:557[]]
-* Support specifying data center specific hostname when using
SauceLabsDriverFactory. [hissue:573[]]
-* Allow specifying custom commandline switches for BrowserStack local tunnel
command in geb-browserstack Gradle plugin. [hissue:573[]]
+* <<dynamic-navigators,Dynamic navigators>>. [issueh:557[]]
+* Support specifying data center specific hostname when using
SauceLabsDriverFactory. [issueh:573[]]
+* Allow specifying custom commandline switches for BrowserStack local tunnel
command in geb-browserstack Gradle plugin. [issueh:573[]]
==== Breaking changes
-* `geb.navigator.EmptyNavigator` class has been removed. [hissue:557[]]
-* Signature of the method in `geb.navigator.factory.InnerNavigatorFactory` has
been changed. [hissue:557[]]
-* Multiple methods have been moved up from `geb.navigator.Locator` to
`geb.navigator.BasicLocator`. [hissue:557[]]
-* `geb.navigator.NonEmptyNavigator` has been renamed to
`geb.navigator.DefaultNavigator`. [hissue:557[]]
-* JUnit 3 support has been retired. [hissue:532[]]
-* Update to Groovy 2.5.6. [hissue:534[]]
-* Support for Groovy 2.3 has been removed. [hissue:560[]]
-* Reports are now by default only taken only on test failure and not after
every test. [hissue:527[]]
-* Proxy settings for BrowserStackLocal, tunnel identifier and forcing all
traffic through local machine are now configured in a different block when
using geb-browserstack Gradle plugin. [hissue:573[]]
-* Update to Spock 1.3, drop support for Spock 1.0. [hissue:581[]]
+* `geb.navigator.EmptyNavigator` class has been removed. [issueh:557[]]
+* Signature of the method in `geb.navigator.factory.InnerNavigatorFactory` has
been changed. [issueh:557[]]
+* Multiple methods have been moved up from `geb.navigator.Locator` to
`geb.navigator.BasicLocator`. [issueh:557[]]
+* `geb.navigator.NonEmptyNavigator` has been renamed to
`geb.navigator.DefaultNavigator`. [issueh:557[]]
+* JUnit 3 support has been retired. [issueh:532[]]
+* Update to Groovy 2.5.6. [issueh:534[]]
+* Support for Groovy 2.3 has been removed. [issueh:560[]]
+* Reports are now by default only taken only on test failure and not after
every test. [issueh:527[]]
+* Proxy settings for BrowserStackLocal, tunnel identifier and forcing all
traffic through local machine are now configured in a different block when
using geb-browserstack Gradle plugin. [issueh:573[]]
+* Update to Spock 1.3, drop support for Spock 1.0. [issueh:581[]]
=== 2.3.1
==== Fixes
-* Fix setting value by text on multi select elements when the text within
option tag contains trailing or leading spaces. [hissue:563[]]
+* Fix setting value by text on multi select elements when the text within
option tag contains trailing or leading spaces. [issueh:563[]]
=== 2.3
==== New features
-* Added form control modules for url, password and number inputs.
[hissue:548[]]
-* Added form control module for color inputs. [hissue:549[]]
-* Added form control module for datetime-local inputs. [hissue:550[]]
-* Added form control module for time inputs. [hissue:554[]]
-* Added form control module for month inputs. [hissue:552[]]
-* Added form control module for range inputs. [hissue:551[]]
-* Added form control module for week inputs. [hissue:553[]]
-* Added `focused()` method on `Navigable` which obtains a `Navigator` wrapping
the active (focused) `WebElement`. [hissue:546[]]
-* Ability to require at checkers to be defined even for pages that are
implicitly at checked. [hissue:541[]]
+* Added form control modules for url, password and number inputs.
[issueh:548[]]
+* Added form control module for color inputs. [issueh:549[]]
+* Added form control module for datetime-local inputs. [issueh:550[]]
+* Added form control module for time inputs. [issueh:554[]]
+* Added form control module for month inputs. [issueh:552[]]
+* Added form control module for range inputs. [issueh:551[]]
+* Added form control module for week inputs. [issueh:553[]]
+* Added `focused()` method on `Navigable` which obtains a `Navigator` wrapping
the active (focused) `WebElement`. [issueh:546[]]
+* Ability to require at checkers to be defined even for pages that are
implicitly at checked. [issueh:541[]]
==== Fixes
-* Compatibility with latest Sauce Connect. [hissue:559[]]
+* Compatibility with latest Sauce Connect. [issueh:559[]]
==== Improvements
-* Add an at() method to geb.Page which always throws MissingMethodException.
[hissue:543[]]
-* Improve signatures of methods in FrameSupport that take page objects to
provide autocompletion inside of the closure passed as the last argument.
[hissue:540[]]
-* Resolve properties and methods in the closure passed to withNewWindow() and
withWindow() against the browser. [hissue:545[]]
+* Add an at() method to geb.Page which always throws MissingMethodException.
[issueh:543[]]
+* Improve signatures of methods in FrameSupport that take page objects to
provide autocompletion inside of the closure passed as the last argument.
[issueh:540[]]
+* Resolve properties and methods in the closure passed to withNewWindow() and
withWindow() against the browser. [issueh:545[]]
=== 2.2
==== New features
-* Make it more convenient to wait on something while reloading the page.
[hissue:499[]]
-* Added `waitCondition` content template option. [hissue:342[]]
-* Added ability to disable use of tunnels in Gradle plugins for BrowserStack
and SauceLabs. [hissue:384[]]
-* Added `pause()` method to `Browser` class as an alternative to setting
breakpoints when debugging. [hissue:247[]]
-* Added ability to access names of content defined using the DSL at runtime.
[hissue:369[]]
-* Added ability to configure default values of content DSL template options.
[hissue:369[]]
-* Added ability to configure default values of options passed to
`withWindow()` and `withNewWindow()`. [hissue:406[]]
-* Added origin information to `TemplateDerivedPageContent` and
`PageContentContainer`. [hissue:446[]]
-* Added improved web storage support including management in test
integrations. [hissue:472[]]
+* Make it more convenient to wait on something while reloading the page.
[issueh:499[]]
+* Added `waitCondition` content template option. [issueh:342[]]
+* Added ability to disable use of tunnels in Gradle plugins for BrowserStack
and SauceLabs. [issueh:384[]]
+* Added `pause()` method to `Browser` class as an alternative to setting
breakpoints when debugging. [issueh:247[]]
+* Added ability to access names of content defined using the DSL at runtime.
[issueh:369[]]
+* Added ability to configure default values of content DSL template options.
[issueh:369[]]
+* Added ability to configure default values of options passed to
`withWindow()` and `withNewWindow()`. [issueh:406[]]
+* Added origin information to `TemplateDerivedPageContent` and
`PageContentContainer`. [issueh:446[]]
+* Added improved web storage support including management in test
integrations. [issueh:472[]]
==== Fixes
-* Fix translation of attribute map to css selector when finding elements for
attribute value that is a GString. [hissue:525[]]
-* Fix documentation around calling value() on unchecked checkboxes.
[hissue:520[]]
-* Make additional capabilities passed to cloud driver factory's `create()`
method override the capabilities that are hardcoded for a particular cloud
driver provider. [hissue:372[]]
-* Fixed `getCheckedLabel()` on `RadioButtons` module to return label text
instead of `null` when a checked radio button is wrapped by a label without a
`for` attribute. [hissue:530[]]
-* Fix links to manual sections that had non-unique ids. [hissue:535[]]
+* Fix translation of attribute map to css selector when finding elements for
attribute value that is a GString. [issueh:525[]]
+* Fix documentation around calling value() on unchecked checkboxes.
[issueh:520[]]
+* Make additional capabilities passed to cloud driver factory's `create()`
method override the capabilities that are hardcoded for a particular cloud
driver provider. [issueh:372[]]
+* Fixed `getCheckedLabel()` on `RadioButtons` module to return label text
instead of `null` when a checked radio button is wrapped by a label without a
`for` attribute. [issueh:530[]]
+* Fix links to manual sections that had non-unique ids. [issueh:535[]]
==== Improvements
-* Support calling `GebReportingSpec#report(String)` from fixture methods.
[hissue:518[]]
-* Add method for performing assertions as part of an at check. [hissue:405[]]
-* Document how to configure proxy to be used by the direct download API.
[hissue:371[]]
-* Enable taking reports for all windows if multiple are open. [hissue:401[]]
-* Describe what constitutes a good at checker in the manual. [hissue:512[]]
-* Document how to restart the browser mid-test. [hissue:473[]]
+* Support calling `GebReportingSpec#report(String)` from fixture methods.
[issueh:518[]]
+* Add method for performing assertions as part of an at check. [issueh:405[]]
+* Document how to configure proxy to be used by the direct download API.
[issueh:371[]]
+* Enable taking reports for all windows if multiple are open. [issueh:401[]]
+* Describe what constitutes a good at checker in the manual. [issueh:512[]]
+* Document how to restart the browser mid-test. [issueh:473[]]
=== 2.1
==== New features
-* Added a form control module for search input. [hissue:495[]]
-* Added a form control module for date input. [hissue:496[]]
-* Added `FramesSourceReporter` which allows to report on the source content of
each top level frame of the browser's current page. [hissue:448[]]
-* Added form control modules for email and tel inputs. [hissue:498[]]
+* Added a form control module for search input. [issueh:495[]]
+* Added a form control module for date input. [issueh:496[]]
+* Added `FramesSourceReporter` which allows to report on the source content of
each top level frame of the browser's current page. [issueh:448[]]
+* Added form control modules for email and tel inputs. [issueh:498[]]
==== Fixes
-* Fix reporting on failure in JUnit support when `reportOnTestFailureOnly` is
set to true [hissue:491[]]
+* Fix reporting on failure in JUnit support when `reportOnTestFailureOnly` is
set to true [issueh:491[]]
==== Breaking changes
-* Actually remove `FileInput#getFile()` which was supposed to be removed for
2.0 but wasn't. [hissue:503[]]
+* Actually remove `FileInput#getFile()` which was supposed to be removed for
2.0 but wasn't. [issueh:503[]]
=== 2.0
==== New features
-* Allow specifying the expected number of elements a content definition should
return. [hissue:149[]]
+* Allow specifying the expected number of elements a content definition should
return. [issueh:149[]]
==== Fixes
-* Improved error message when trying to select null on a single-select select
element. [hissue:477[]]
-* Return a list of results instead of `null` from `newWindow()` methods taking
a window matching specification closure. [hissue:476[]]
-* Ignore case of tag names passed as part of css selectors to
`Navigator.filter()` [hissue:482[]]
-* Gracefully handle incorrectly encoded URIs returned from
`WebDriver.getCurrentUrl()` when navigating to urls. [hissue:492[]]
+* Improved error message when trying to select null on a single-select select
element. [issueh:477[]]
+* Return a list of results instead of `null` from `newWindow()` methods taking
a window matching specification closure. [issueh:476[]]
+* Ignore case of tag names passed as part of css selectors to
`Navigator.filter()` [issueh:482[]]
+* Gracefully handle incorrectly encoded URIs returned from
`WebDriver.getCurrentUrl()` when navigating to urls. [issueh:492[]]
==== Improvements
-* Change signatures of methods from `FrameSupport` to be more strongly typed.
[hissue:470[]]
+* Change signatures of methods from `FrameSupport` to be more strongly typed.
[issueh:470[]]
==== Breaking changes
-* Use Java 8 to compile the project. [hissue:502[]]
-* Remove `FileInput#getFile()`. [hissue:503[]]
-* Build using WebDriver 3.6.0. [hissue:504[]]
-* Calling `click()` on empty navigators results in a
`UnsupportedOperationException`. [hissue:501[]]
-* Build using Spock 1.1. [hissue:505[]]
-* Unchecked checkboxes return `null` as value for consistency with other input
types. [hissue:465[]]
+* Use Java 8 to compile the project. [issueh:502[]]
+* Remove `FileInput#getFile()`. [issueh:503[]]
+* Build using WebDriver 3.6.0. [issueh:504[]]
+* Calling `click()` on empty navigators results in a
`UnsupportedOperationException`. [issueh:501[]]
+* Build using Spock 1.1. [issueh:505[]]
+* Unchecked checkboxes return `null` as value for consistency with other input
types. [issueh:465[]]
=== 1.1.1
==== Fixes
-* Do not double encode query parameters when building urls for arguments
passed to `go()`, `to()` and `via()`. [hissue:469[]]
+* Do not double encode query parameters when building urls for arguments
passed to `go()`, `to()` and `via()`. [issueh:469[]]
=== 1.1
==== Fixes
-* Delegate to `browser` instead of the module from blocks passed to
`withFrame()` in module classes. [hissue:461[]]
-* Fix implicit assertions in “at checkers” to not return `null` if the last
call is to a void method. [hissue:462[]]
+* Delegate to `browser` instead of the module from blocks passed to
`withFrame()` in module classes. [issueh:461[]]
+* Fix implicit assertions in “at checkers” to not return `null` if the last
call is to a void method. [issueh:462[]]
==== Improvements
-* Support for selecting Edge as the browser using name in configuration.
[hissue:425[]]
-* Support for using url fragment identifiers when navigating to pages.
[hissue:463[]]
-* Unexpected pages are only checked after at check fails for the expected
page. [hissue:450[]]
-* Support equality checking between all core implementations of `Navigator`,
based on comparing collections of web elements wrapped by them. [hissue:459[]]
-* Support using label text to select checkboxes and using collections as value
to select multiple checkboxes when dealing a number of checkboxes with the same
name. [hissue:460[]]
+* Support for selecting Edge as the browser using name in configuration.
[issueh:425[]]
+* Support for using url fragment identifiers when navigating to pages.
[issueh:463[]]
+* Unexpected pages are only checked after at check fails for the expected
page. [issueh:450[]]
+* Support equality checking between all core implementations of `Navigator`,
based on comparing collections of web elements wrapped by them. [issueh:459[]]
+* Support using label text to select checkboxes and using collections as value
to select multiple checkboxes when dealing a number of checkboxes with the same
name. [issueh:460[]]
==== Deprecations
-* Grails 2.x plugin has been discontinued. [hissue:456[]]
+* Grails 2.x plugin has been discontinued. [issueh:456[]]
=== 1.0
==== Fixes
-* Fix the direct field operator shortcut (`@`) for accessing element
attributes to work on classes extending `Module`. [hissue:438[]]
-* Fix reporting on failure only in `GebReportingSpec` to work with Spock 1.1.
[hissue:445[]]
+* Fix the direct field operator shortcut (`@`) for accessing element
attributes to work on classes extending `Module`. [issueh:438[]]
+* Fix reporting on failure only in `GebReportingSpec` to work with Spock 1.1.
[issueh:445[]]
==== Improvements
-* Add ability to unwrap modules returned from content dsl to their original
type. [hissue:434[]]
-* Add support for using attribute css selectors with navigator filtering
methods like `filter()`, `not()`, `closest()`, etc. [hissue:437[]]
+* Add ability to unwrap modules returned from content dsl to their original
type. [issueh:434[]]
+* Add support for using attribute css selectors with navigator filtering
methods like `filter()`, `not()`, `closest()`, etc. [issueh:437[]]
==== Breaking changes
* `geb.testng.GebTest` and `geb.testng.GebReportingTest` which were deprecated
in 0.13.0 have been removed.
@@ -448,39 +448,39 @@ No changes have been made, yet.
==== Fixes
-* Fix a MissingMethodException thrown from `Navigator.value()` when using
Groovy versions < 2.4.0. [hissue:422[]]
-* Don't unnecessarily synchronize methods of
`CachingDirverFactory.ThreadLocalCache`. [hissue:421[]]
-* Ensure `ConfigSlurper.parse(Script, URL)` is called in a thread safe way
from `ConfigurationLoader`. [hissue:423[]]
+* Fix a MissingMethodException thrown from `Navigator.value()` when using
Groovy versions < 2.4.0. [issueh:422[]]
+* Don't unnecessarily synchronize methods of
`CachingDirverFactory.ThreadLocalCache`. [issueh:421[]]
+* Ensure `ConfigSlurper.parse(Script, URL)` is called in a thread safe way
from `ConfigurationLoader`. [issueh:423[]]
=== 0.13.0
==== New features
-* `reportOnTestFailureOnly` config option is now also effective in Spock and
JUnit4 integrations. [hissue:92[]]
-* `isFocused()` method has been added to the `Navigator` class. [hissue:208[]]
-* `InvalidPageContent` exception is thrown when a content is defined with a
name that will result in that content being not accessible. [hissue:109[]]
[hissue:122[]]
-* Ability to specify proxy location and credentials to use with BrowserStack
tunnel. [hissue:419[]]
+* `reportOnTestFailureOnly` config option is now also effective in Spock and
JUnit4 integrations. [issueh:92[]]
+* `isFocused()` method has been added to the `Navigator` class. [issueh:208[]]
+* `InvalidPageContent` exception is thrown when a content is defined with a
name that will result in that content being not accessible. [issueh:109[]]
[issueh:122[]]
+* Ability to specify proxy location and credentials to use with BrowserStack
tunnel. [issueh:419[]]
==== Fixes
-* Fix a bug that caused reports for all but the last executed test class in
TestNG integration to be wiped out. [hissue:407[]]
-* Fix a bug preventing using module as a base of another module. [hissue:411[]]
-* Restore `browser` property of `Module`. [hissue:416[]]
-* Handle setting values of form elements that cause page change or reload when
their value changes. [hissue:155[]]
+* Fix a bug that caused reports for all but the last executed test class in
TestNG integration to be wiped out. [issueh:407[]]
+* Fix a bug preventing using module as a base of another module. [issueh:411[]]
+* Restore `browser` property of `Module`. [issueh:416[]]
+* Handle setting values of form elements that cause page change or reload when
their value changes. [issueh:155[]]
==== Improvements
-* Non-ASCII word characters are not longer replaced in report file names.
[hissue:399[]]
-* Change TestNG support to be based on traits. [hissue:412[]]
-* Add `Navigator.moduleList()` methods as an alternative to the deprecated
`moduleList()` methods available in the content DSL. [hissue:402[]]
-* Add support for using Geb with Selendroid and other Selenium based
frameworks for testing non-web applications. [hissue:320[]]
-* Improve documentation for `Browser.clearCookies()` around what exactly is
cleared, add a helper method for removing cookies across multiple domains.
[hissue:159[]]
-* Don't depend on UndefinedAtCheckerException for flow control. [hissue:368[]]
-* Document that `Navigator.text()` returns the text of the element only if
it's visible. [hissue:403[]]
-* Make implementation of `interact()` less dynamic. [hissue:190[]]
-* Improve documentation for `interact()`. [hissue:207[]]
-* Don't unnecessarily request tag name and type attribute multiple times when
setting text input values. [hissue:417[]]
-* Improve usefulness of string representation of content elements.
[hissue:274[]]
+* Non-ASCII word characters are not longer replaced in report file names.
[issueh:399[]]
+* Change TestNG support to be based on traits. [issueh:412[]]
+* Add `Navigator.moduleList()` methods as an alternative to the deprecated
`moduleList()` methods available in the content DSL. [issueh:402[]]
+* Add support for using Geb with Selendroid and other Selenium based
frameworks for testing non-web applications. [issueh:320[]]
+* Improve documentation for `Browser.clearCookies()` around what exactly is
cleared, add a helper method for removing cookies across multiple domains.
[issueh:159[]]
+* Don't depend on UndefinedAtCheckerException for flow control. [issueh:368[]]
+* Document that `Navigator.text()` returns the text of the element only if
it's visible. [issueh:403[]]
+* Make implementation of `interact()` less dynamic. [issueh:190[]]
+* Improve documentation for `interact()`. [issueh:207[]]
+* Don't unnecessarily request tag name and type attribute multiple times when
setting text input values. [issueh:417[]]
+* Improve usefulness of string representation of content elements.
[issueh:274[]]
==== Deprecations
@@ -491,58 +491,58 @@ No changes have been made, yet.
* Geb is now built with Groovy 2.4.5 and Spock 1.0-groovy-2.4.
* The following `Navigator` methods now throw
`SingleElementNavigatorOnlyMethodException` when called on a multi element
`Navigator`: `hasClass(java.lang.String)`, `is(java.lang.String)`,
`isDisplayed()`, `isDisabled()`, `isEnabled()`, `isReadOnly()`,
`isEditable()`, `tag()`, `text()`, `getAttribute(java.lang.String)`,
`attr(java.lang.String)`, `classes()`, `value()`, `click()`,
-`getHeight()`, `getWidth()`, `getX()`, `getY()`, `css(java.lang.String)`,
`isFocused()`. [hissue:284[]]
+`getHeight()`, `getWidth()`, `getX()`, `getY()`, `css(java.lang.String)`,
`isFocused()`. [issueh:284[]]
=== 0.12.2
==== Fixes
-* Fix incorrect delegation in variant of `waitFor()` that takes timeout and
interval. [hissue:395[]]
-* Fix NPE on implicitly asserted statements that contain a safely navigated
method call on null target. [hissue:398[]]
+* Fix incorrect delegation in variant of `waitFor()` that takes timeout and
interval. [issueh:395[]]
+* Fix NPE on implicitly asserted statements that contain a safely navigated
method call on null target. [issueh:398[]]
=== 0.12.1
==== Fixes
-* Change implementation of `waitFor()` method delegation so that IntelliJ does
not complain that page and module classes supposedly need to implement it.
[hissue:391[]]
-* Properly handle class attribute when it's passed to `$()` together with a
css selector. [hissue:390[]]
+* Change implementation of `waitFor()` method delegation so that IntelliJ does
not complain that page and module classes supposedly need to implement it.
[issueh:391[]]
+* Properly handle class attribute when it's passed to `$()` together with a
css selector. [issueh:390[]]
=== 0.12.0
==== New features
-* Support for finding elements using Webdriver's `{by-api}` selectors.
[hissue:348[]]
-* Support for navigating to page instances in addition to classes.
[hissue:310[]]
-* Support for using page instances as `page` option value of window switching
methods. [hissue:352[]]
-* Support for using page instances together with frame switching methods.
[hissue:354[]]
-* Support for using page instances with `Navigator.click()` methods.
[hissue:355[]]
-* Support for using page instances and lists of page instances as `page`
option value of content templates. [hissue:356[]]
-* New `Navigator.module(Class<? extends Module>)` and
`Navigable.module(Class<? extends Module>)`. [hissue:312[]]
-* New `Navigable.module(Module)` and `Navigable.module(Module)`. [hissue:311[]]
-* Support for using `interact {}` blocks in modules. [hissue:364[]]
-* Support page level `atCheckWaiting` configuration. [hissue:287[]]
-* `Navigator` elements can now also be filtered using `hasNot()` method.
[hissue:370[]]
-* Custom implementation of `equals()` and `hashCode()` methods have been added
to classes implementing `Navigator`. [hissue:374[]]
-* Support setting `forcelocal` flag for BrowserStack tunnel. [hissue:385[]]
-* Add configuration option for including cause string representation in
message of `WaitTimeoutException`. [hissue:386[]]
+* Support for finding elements using Webdriver's `{by-api}` selectors.
[issueh:348[]]
+* Support for navigating to page instances in addition to classes.
[issueh:310[]]
+* Support for using page instances as `page` option value of window switching
methods. [issueh:352[]]
+* Support for using page instances together with frame switching methods.
[issueh:354[]]
+* Support for using page instances with `Navigator.click()` methods.
[issueh:355[]]
+* Support for using page instances and lists of page instances as `page`
option value of content templates. [issueh:356[]]
+* New `Navigator.module(Class<? extends Module>)` and
`Navigable.module(Class<? extends Module>)`. [issueh:312[]]
+* New `Navigable.module(Module)` and `Navigable.module(Module)`. [issueh:311[]]
+* Support for using `interact {}` blocks in modules. [issueh:364[]]
+* Support page level `atCheckWaiting` configuration. [issueh:287[]]
+* `Navigator` elements can now also be filtered using `hasNot()` method.
[issueh:370[]]
+* Custom implementation of `equals()` and `hashCode()` methods have been added
to classes implementing `Navigator`. [issueh:374[]]
+* Support setting `forcelocal` flag for BrowserStack tunnel. [issueh:385[]]
+* Add configuration option for including cause string representation in
message of `WaitTimeoutException`. [issueh:386[]]
==== Improvements
-* Using unrecognized content template parameters result in an
`InvalidPageContent` exception to make catching typos in them easier.
[hissue:377[]]
-* Improve error reporting when no at checkers pass if using multiple
candidates for page switching. [hissue:346[]]
-* Don't unnecessarily lookup root element for every baseless element lookup
using `$()` in context of `Navigable`. [hissue:306[]]
-* Attribute based searches are compiled to CSS selectors where possible.
[hissue:280[]]
-* Attribute based searches using an id, class or name are performed using an
appropriate `By` selector where possible. [hissue:333[]]
+* Using unrecognized content template parameters result in an
`InvalidPageContent` exception to make catching typos in them easier.
[issueh:377[]]
+* Improve error reporting when no at checkers pass if using multiple
candidates for page switching. [issueh:346[]]
+* Don't unnecessarily lookup root element for every baseless element lookup
using `$()` in context of `Navigable`. [issueh:306[]]
+* Attribute based searches are compiled to CSS selectors where possible.
[issueh:280[]]
+* Attribute based searches using an id, class or name are performed using an
appropriate `By` selector where possible. [issueh:333[]]
==== Fixes
-* Improved message thrown from Navigator.isDisabled() and
Navigator.isReadOnly() when navigator does not contain a form element.
[hissue:345[]]
-* Browser.verifyAtIfPresent() should fail for at checkers returning false when
implicit assertions are disabled. [hissue:357[]]
-* Provide better error reporting when unexpected pages configuration is not a
collection that contains classes which extend `Page`. [hissue:270[]]
-* Don't fail when creating a report and driver's screenshot taking method
returns null. [hissue:292[]]
-* Classes that can define content should not throw custom exceptions from
`propertyMissing()`. [hissue:367[]]
-* “At checkers” of pages passed to `withFrame()` methods are now verified.
[hissue:358[]]
+* Improved message thrown from Navigator.isDisabled() and
Navigator.isReadOnly() when navigator does not contain a form element.
[issueh:345[]]
+* Browser.verifyAtIfPresent() should fail for at checkers returning false when
implicit assertions are disabled. [issueh:357[]]
+* Provide better error reporting when unexpected pages configuration is not a
collection that contains classes which extend `Page`. [issueh:270[]]
+* Don't fail when creating a report and driver's screenshot taking method
returns null. [issueh:292[]]
+* Classes that can define content should not throw custom exceptions from
`propertyMissing()`. [issueh:367[]]
+* “At checkers” of pages passed to `withFrame()` methods are now verified.
[issueh:358[]]
==== Breaking changes
@@ -557,54 +557,54 @@ No changes have been made, yet.
* `module(Class<? extends Module>, Map args)` available in content DSL
has been deprecated in favour of `Navigable.module(Module)` and will be removed
in a future version of Geb.
* `module(Class<? extends Module>, Navigator base, Map args)` available
in content DSL has been deprecated in favour of `Navigator.module(Module)` and
will be removed in a future version of Geb.
* all variants of `moduleList()` method available in content DSL have been
deprecated in favour of using `Navigator.module()` methods together with a
`collect()` call and will be removed in a future
-version of Geb, see <<repeating-content, chapter on using modules for
repeating content>> for examples [hissue:362[]]
+version of Geb, see <<repeating-content, chapter on using modules for
repeating content>> for examples [issueh:362[]]
* `isDisabled()`, `isEnabled()`, `isReadOnly()` and `isEditable()` methods of
`Navigator` have been deprecated and will be removed in a future version of
Geb. These methods are now available on the
new <<form-element, `FormElement`>> module class.
==== Project related changes
* User mailing list has moved to
link:https://groups.google.com/d/forum/geb-user[Google Groups].
-* The Book of Geb has been migrated to Asciidoctor and the examples have been
made executable. [hissue:350[]]
+* The Book of Geb has been migrated to Asciidoctor and the examples have been
made executable. [issueh:350[]]
=== 0.10.0
==== New features
-* New `css()` method on `Navigator` that allows to access CSS properties of
elements. [hissue:141[]]
-* Added attribute based methods to relative content navigators such as next(),
children() etc. [hissue:299[]]
-* Added signature that accepts `localIdentifier` to
`BrowserStackDriverFactory.create`. [hissue:332[]]
-* Added <<content-dsl-to-wait, `toWait`>> content definition option which
allows specifying that page transition happens asynchronously. [hissue:134[]]
-* Added support for explicitly specifying browser capabilities when using
cloud browsers Gradle plugins. [hissue:340[]]
-* Added an overloaded `create()` method on cloud driver factories that allow
specifying browser capabilities in a map and don't require a string
capabilities specification. [hissue:281[]]
-
-==== Fixes
-
-* Allow access to module properties from its content block. [hissue:245[]]
-* Support setting of elements for WebDriver implementations that return
uppercase tag name. [hissue:318[]]
-* Use native binaries for running BrowserStack tunnel. [hissue:326[]]
-* Update BrowserStack support to use command-line arguments introduced in
tunnel version 3.1. [hissue:332[]]
-* Fix PermGen memory leak when using groovy script backed configuration.
[hissue:335[]]
-* Don't fail in `Browser.isAt()` if at check waiting is enabled and it times
out. [hissue:337[]]
-* The value passed to `aliases` content option in documentation examples
should be a String [hissue:338[]]
-* Added `$()` method on Navigator with all signatures of `find()`.
[hissue:321[]]
-* `geb-saucelabs` plugin now uses a native version of SauceConnect.
[hissue:341[]]
-* Don't modify the predicate map passed to
link:api/geb/navigator/BasicLocator.html#find(Map,%20java.lang.String)["`Navigator.find(Map<String,
Object>, String)`"]. [hissue:339[]]
-* Functional tests implemented using JUnit and Geb run twice in Grails 2.3+.
[hissue:314[]]
-* Mention in the manual where snapshot artifacts can be downloaded from.
[hissue:305[]]
-* Document that `withNewWindow()` and `withWindow()` switch page back to the
original one. [hissue:279[]]
-* Fix selectors in documentation for manipulating checkboxes. [hissue:268[]]
+* New `css()` method on `Navigator` that allows to access CSS properties of
elements. [issueh:141[]]
+* Added attribute based methods to relative content navigators such as next(),
children() etc. [issueh:299[]]
+* Added signature that accepts `localIdentifier` to
`BrowserStackDriverFactory.create`. [issueh:332[]]
+* Added <<content-dsl-to-wait, `toWait`>> content definition option which
allows specifying that page transition happens asynchronously. [issueh:134[]]
+* Added support for explicitly specifying browser capabilities when using
cloud browsers Gradle plugins. [issueh:340[]]
+* Added an overloaded `create()` method on cloud driver factories that allow
specifying browser capabilities in a map and don't require a string
capabilities specification. [issueh:281[]]
+
+==== Fixes
+
+* Allow access to module properties from its content block. [issueh:245[]]
+* Support setting of elements for WebDriver implementations that return
uppercase tag name. [issueh:318[]]
+* Use native binaries for running BrowserStack tunnel. [issueh:326[]]
+* Update BrowserStack support to use command-line arguments introduced in
tunnel version 3.1. [issueh:332[]]
+* Fix PermGen memory leak when using groovy script backed configuration.
[issueh:335[]]
+* Don't fail in `Browser.isAt()` if at check waiting is enabled and it times
out. [issueh:337[]]
+* The value passed to `aliases` content option in documentation examples
should be a String [issueh:338[]]
+* Added `$()` method on Navigator with all signatures of `find()`.
[issueh:321[]]
+* `geb-saucelabs` plugin now uses a native version of SauceConnect.
[issueh:341[]]
+* Don't modify the predicate map passed to
link:api/geb/navigator/BasicLocator.html#find(Map,%20java.lang.String)["`Navigator.find(Map<String,
Object>, String)`"]. [issueh:339[]]
+* Functional tests implemented using JUnit and Geb run twice in Grails 2.3+.
[issueh:314[]]
+* Mention in the manual where snapshot artifacts can be downloaded from.
[issueh:305[]]
+* Document that `withNewWindow()` and `withWindow()` switch page back to the
original one. [issueh:279[]]
+* Fix selectors in documentation for manipulating checkboxes. [issueh:268[]]
==== Project related changes
-* Updated cucumber integration example to use `cucumber-jvm` instead of the
now defunct `cuke4duke`. [hissue:324[]]
-* Setup CI for all of the example projects. [hissue:188[]]
-* Incorporate the example projects into the main build. [hissue:189[]]
-* Add a test crawling the site in search for broken links. [hissue:327[]]
-* Document the
link:https://github.com/geb/geb/blob/master/RELEASING.md[release process].
[hissue:325[]]
+* Updated cucumber integration example to use `cucumber-jvm` instead of the
now defunct `cuke4duke`. [issueh:324[]]
+* Setup CI for all of the example projects. [issueh:188[]]
+* Incorporate the example projects into the main build. [issueh:189[]]
+* Add a test crawling the site in search for broken links. [issueh:327[]]
+* Document the
link:https://github.com/geb/geb/blob/master/RELEASING.md[release process].
[issueh:325[]]
==== Breaking changes
-* Use Groovy 2.3.6 to build Geb. [hissue:330[]]
+* Use Groovy 2.3.6 to build Geb. [issueh:330[]]
* Format of browser specification passed to
`BrowserStackBrowserFactory.create()` and `SauceLabsBrowserFactory.create()`
has changed to be a string in Java properties file format defining the required
browser capabilities.
* `sauceConnect` configuration used with `geb-saucelabs` plugin should now
point at a version of 'ci-sauce' artifact from 'com.saucelabs' group.
@@ -612,43 +612,43 @@ new <<form-element, `FormElement`>> module class.
==== New features
-* Added `baseNavigatorWaiting` setting to prevent intermittent Firefox driver
errors when creating base navigator. [hissue:269[]]
-* Page content classes including `Module` now implement `Navigator` interface
[hissue:181[]]
-* Added some tests that guard performance by verifying which WebDriver
commands are executed [hissue:302[]]
-* Added link:http://www.browserstack.com[BrowserStack] integration
[hissue:307[]]
-* Added a shortcut to `Browser` for getting current url [hissue:294[]]
-* Verify pages at checker when passed as an option to open a new window via
`withWindow()` and `withNewWindow()` [hissue:278[]]
+* Added `baseNavigatorWaiting` setting to prevent intermittent Firefox driver
errors when creating base navigator. [issueh:269[]]
+* Page content classes including `Module` now implement `Navigator` interface
[issueh:181[]]
+* Added some tests that guard performance by verifying which WebDriver
commands are executed [issueh:302[]]
+* Added link:http://www.browserstack.com[BrowserStack] integration
[issueh:307[]]
+* Added a shortcut to `Browser` for getting current url [issueh:294[]]
+* Verify pages at checker when passed as an option to open a new window via
`withWindow()` and `withNewWindow()` [issueh:278[]]
==== Fixes
-* Ignore `atCheckWaiting` setting when checking for unexpected pages.
[hissue:267[]]
-* Added missing range variants of find/$ methods. [hissue:283[]]
-* Migrated `UnableToLoadException` to java. [hissue:263[]]
-* Exception thrown when trying to set value on an invalid element (non form
control). [hissue:286[]]
-* Support for jQuery methods like offset() and position() which return a
native Javascript object. [hissue:271[]]
-* Finding elements when passing ids with spaces in the predicates map to the
$() method. [hissue:308[]]
+* Ignore `atCheckWaiting` setting when checking for unexpected pages.
[issueh:267[]]
+* Added missing range variants of find/$ methods. [issueh:283[]]
+* Migrated `UnableToLoadException` to java. [issueh:263[]]
+* Exception thrown when trying to set value on an invalid element (non form
control). [issueh:286[]]
+* Support for jQuery methods like offset() and position() which return a
native Javascript object. [issueh:271[]]
+* Finding elements when passing ids with spaces in the predicates map to the
$() method. [issueh:308[]]
==== Breaking changes
-* Removed easyb support. [hissue:277[]]
-* `MissingMethodException` is now thrown when using shortcut for obtaining a
navigator based on a control name and the returned navigator is empty.
[hissue:239[]]
+* Removed easyb support. [issueh:277[]]
+* `MissingMethodException` is now thrown when using shortcut for obtaining a
navigator based on a control name and the returned navigator is empty.
[issueh:239[]]
* When using SauceLabs integration, the `allSauceTests` task was renamed
to`allSauceLabsTests`
* When using SauceLabs integration, the `geb.sauce.browser` system property
was renamed to `geb.saucelabs.browser`
* `Module` now implements `Navigator` instead of `Navigable` so `Navigator`'s
methods can be called on it without having to first call `$()` to get the
module's base `Navigator`.
==== Project related changes
-* Documentation site has been migrated to link:http://ratpack.io[Ratpack].
[hissue:261[]]
-* Cross browser tests are now also executed using Safari driver [hissue:276[]]
-* Artifact snapshots are uploaded and gebish.org is updated after every
successful build in CI [hissue:295[]]
-* Added a link:https://travis-ci.org/geb/geb[Travis CI build] that runs tests
on submitted pull requests [hissue:309[]]
+* Documentation site has been migrated to link:http://ratpack.io[Ratpack].
[issueh:261[]]
+* Cross browser tests are now also executed using Safari driver [issueh:276[]]
+* Artifact snapshots are uploaded and gebish.org is updated after every
successful build in CI [issueh:295[]]
+* Added a link:https://travis-ci.org/geb/geb[Travis CI build] that runs tests
on submitted pull requests [issueh:309[]]
=== 0.9.2
==== New features
* `page` and `close` options can be passed to `withWindow()` calls, see
<<already-opened-windows, this manual section>> for more information.
-* Unexpected pages can be specified to fail fast when performing “at” checks.
This feature was contributed at a Hackergarten thanks to Andy Duncan. See
<<unexpected-pages, this manual section>> for details. [hissue:70[]]
+* Unexpected pages can be specified to fail fast when performing “at” checks.
This feature was contributed at a Hackergarten thanks to Andy Duncan. See
<<unexpected-pages, this manual section>> for details. [issueh:70[]]
* Support for running Geb using SauceLabs provided browsers, see
<<cloud-browser-testing, this manual section>> for details.
* New `isEnabled()` and `isEditable()` methods on `Navigator`.
* Support for ephemeral port allocation with Grails integration
@@ -656,7 +656,7 @@ new <<form-element, `FormElement`>> module class.
==== Fixes
-* Default value of `close` option for `withNewWindow()` is set to `true` as
specified in the documentation. [hissue:258[]]
+* Default value of `close` option for `withNewWindow()` is set to `true` as
specified in the documentation. [issueh:258[]]
==== Breaking changes
@@ -672,68 +672,68 @@ new <<form-element, `FormElement`>> module class.
==== New features
-* Support for dealing with self-signed certificates in Download API using
`SelfSignedCertificateHelper`. [hissue:150[]]
+* Support for dealing with self-signed certificates in Download API using
`SelfSignedCertificateHelper`. [issueh:150[]]
* Connections created when using Download API can be configured globally using
`defaultDownloadConfig` configuration option.
-* New `atCheckWaiting` configuration option allowing to implictly wrap “at”
checkers in `waitFor` calls. [hissue:253[]]
+* New `atCheckWaiting` configuration option allowing to implictly wrap “at”
checkers in `waitFor` calls. [issueh:253[]]
==== Fixes
-* `containsWord()` and `iContainsWord()` now return expected results when
matching against text that contains spaces [hissue:254[]]
-* `has(Map<String, Object> predicates, String selector)` and
`has(Map<String, Object> predicates)` were added to Navigator for
consistency with `find()` and `filter()` [hissue:256[]]
-* Also catch WaitTimeoutException when page verification has failed following
a `click()` call [hissue:255[]]
-* `not(Map<String, Object> predicates, String selector)` and
`not(Map<String, Object> predicates)` were added to Navigator for
consistency with `find()` and `filter()` [hissue:257[]]
-* Make sure that `NullPointerException` is not thrown for incorrect driver
implementations of getting current url without previously driving the browser
to a url [hissue:291[]]
+* `containsWord()` and `iContainsWord()` now return expected results when
matching against text that contains spaces [issueh:254[]]
+* `has(Map<String, Object> predicates, String selector)` and
`has(Map<String, Object> predicates)` were added to Navigator for
consistency with `find()` and `filter()` [issueh:256[]]
+* Also catch WaitTimeoutException when page verification has failed following
a `click()` call [issueh:255[]]
+* `not(Map<String, Object> predicates, String selector)` and
`not(Map<String, Object> predicates)` were added to Navigator for
consistency with `find()` and `filter()` [issueh:257[]]
+* Make sure that `NullPointerException` is not thrown for incorrect driver
implementations of getting current url without previously driving the browser
to a url [issueh:291[]]
=== 0.9.0
==== New features
-* New `via()` method that behaves the same way as `to()` behaved previously -
it sets the page on the browser and does not verify the at checker of that
page[hissue:249[]].
-* It is now possible to provide your own `{navigator-api}` implementations by
specifying a custom
link:api/geb/navigator/factory/NavigatorFactory.html[`NavigatorFactory`], see
<<navigator-factory, this manual section>> for more information [hissue:96[]].
-* New variants of `withFrame()` method that allow to switch into frame context
and change the page in one go and also automatically change it back to the
original page after the call, see [switching pages and frames at
once][switch-frame-and-page] in the manual [hissue:213[]].
-* `wait`, `page` and `close` options can be passed to `withNewWindow()` calls,
see <<newly-opened-windows, this manual section>> for more information
[hissue:167[]].
-* Improved message of UnresolvablePropertyException to include a hint about
forgetting to import the class [hissue:240[]].
+* New `via()` method that behaves the same way as `to()` behaved previously -
it sets the page on the browser and does not verify the at checker of that
page[issueh:249[]].
+* It is now possible to provide your own `{navigator-api}` implementations by
specifying a custom
link:api/geb/navigator/factory/NavigatorFactory.html[`NavigatorFactory`], see
<<navigator-factory, this manual section>> for more information [issueh:96[]].
+* New variants of `withFrame()` method that allow to switch into frame context
and change the page in one go and also automatically change it back to the
original page after the call, see [switching pages and frames at
once][switch-frame-and-page] in the manual [issueh:213[]].
+* `wait`, `page` and `close` options can be passed to `withNewWindow()` calls,
see <<newly-opened-windows, this manual section>> for more information
[issueh:167[]].
+* Improved message of UnresolvablePropertyException to include a hint about
forgetting to import the class [issueh:240[]].
* Improved signature of `Browser.at()` and `Browser.to()` to return the exact
type of the page that was asserted to be at / was navigated to.
* link:api/geb/report/ReportingListener.html[`ReportingListener`] objects can
be registered to observe reporting (see: <<listening-to-reporting, this manual
section>>)
==== Fixes
-* Fixed an issue where waitFor would throw a WaitTimeoutException even if the
last evaluation before timeout returned a truthy value [hissue:215[]].
-* Fixed taking screenshots for reporting when the browser is not on a HTML
page (e.g. XML file) [hissue:126[]].
-* Return the last evaluation value for a `(wait: true, required: false)`
content instead of always returning null [hissue:216[]].
-* `isAt()` behaves the same as `at()` in regards to updating the browser's
page instance to the given page type if its at checker is successful
[hissue:227[]].
-* Handling of `select` elements has been reworked to be far more efficient
[hissue:229[]].
-* Modules support accessing base attributes' values using @attributeName
notation [hissue:237[]].
-* Use of text matchers in module base definitions is supported [hissue:241[]].
-* Reading of textareas have been updated so that the current value of the text
field is returned, instead of the initial [hissue:174[]].
+* Fixed an issue where waitFor would throw a WaitTimeoutException even if the
last evaluation before timeout returned a truthy value [issueh:215[]].
+* Fixed taking screenshots for reporting when the browser is not on a HTML
page (e.g. XML file) [issueh:126[]].
+* Return the last evaluation value for a `(wait: true, required: false)`
content instead of always returning null [issueh:216[]].
+* `isAt()` behaves the same as `at()` in regards to updating the browser's
page instance to the given page type if its at checker is successful
[issueh:227[]].
+* Handling of `select` elements has been reworked to be far more efficient
[issueh:229[]].
+* Modules support accessing base attributes' values using @attributeName
notation [issueh:237[]].
+* Use of text matchers in module base definitions is supported [issueh:241[]].
+* Reading of textareas have been updated so that the current value of the text
field is returned, instead of the initial [issueh:174[]].
==== Breaking changes
-* `to(Class<? extends Page>)` method now changes the page on the browser
and verifies the at checker of that page in one method call [hissue:1[]],
[hissue:249[]]; use `via()` if you need the old behaviour
+* `to(Class<? extends Page>)` method now changes the page on the browser
and verifies the at checker of that page in one method call [issueh:1[]],
[issueh:249[]]; use `via()` if you need the old behaviour
* `getAttribute(String)` on `Navigator` now returns `null` for boolean
attributes that are not present.
-* `at()` and `to()` methods on `Browser` now return a page instance if they
succeed and `via()` method always returns a page instance [hissue:217[]].
-* `withFrame()` calls that don't take a page argument now change the browser
page to what it was before the call, after the call [hissue:222[]].
-* due to performance improvements duplicate elements are not removed when
creating new `Navigator`s anymore; the new `unique()` method on `Navigator` can
be used to remove duplicates if needed [hissue:223[]].
-* `at(Page)` and `isAt(Page)` methods on `Browser` have been removed as they
were inconsistent with the rest of the API [hissue:242[]].
-* Navigator's `click(Class<? extends Page>)` and `to:` content option
now verify page after switching to the new one to stay consistent with the new
behaviour of `to(Class<? extends Page>)` [hissue:250[]].
-* Reading an attribute that is not set on a navigator now returns an empty
string across all drivers [hissue:251[]].
+* `at()` and `to()` methods on `Browser` now return a page instance if they
succeed and `via()` method always returns a page instance [issueh:217[]].
+* `withFrame()` calls that don't take a page argument now change the browser
page to what it was before the call, after the call [issueh:222[]].
+* due to performance improvements duplicate elements are not removed when
creating new `Navigator`s anymore; the new `unique()` method on `Navigator` can
be used to remove duplicates if needed [issueh:223[]].
+* `at(Page)` and `isAt(Page)` methods on `Browser` have been removed as they
were inconsistent with the rest of the API [issueh:242[]].
+* Navigator's `click(Class<? extends Page>)` and `to:` content option
now verify page after switching to the new one to stay consistent with the new
behaviour of `to(Class<? extends Page>)` [issueh:250[]].
+* Reading an attribute that is not set on a navigator now returns an empty
string across all drivers [issueh:251[]].
=== 0.7.2
==== Fixes
-* Further fixes for Java 7 [hissue:211[]].
+* Further fixes for Java 7 [issueh:211[]].
=== 0.7.1
==== New features
-* Geb is now built with Groovy 1.8.6. This was forced to resolve
[hissue:194[]].
+* Geb is now built with Groovy 1.8.6. This was forced to resolve
[issueh:194[]].
==== Fixes
-* `startsWith()`, `contains()` etc. now work for selecting via element text
now works for multiline (i.e. `<br/>`) text [hissue:202[]]
-* Geb now works with Java 7 [hissue:194[]].
+* `startsWith()`, `contains()` etc. now work for selecting via element text
now works for multiline (i.e. `<br/>`) text [issueh:202[]]
+* Geb now works with Java 7 [issueh:194[]].
=== 0.7.0