The Geb home page can be found at http://www.gebish.org.
The API reference can be found here.
This page lists the high level changes between versions of Geb.
at()with a page object will throw
UndefinedAtCheckerExceptioninstead of silently passing if the page object does not define an at checker.
click(List<Class<? extends Page>>)or as one of the pages in
totemplate option will throw
atCheckWaitingconfiguration option allowing to implictly wrap ”at“ checkers in
iContainsWord()now return expected results when matching against text that contains spaces [GEB-254]
has(Map<String, Object> predicates, String selector)and
has(Map<String, Object> predicates)were added to Navigator for consistency with
not(Map<String, Object> predicates, String selector)and
not(Map<String, Object> predicates)were added to Navigator for consistency with
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[GEB-249].
Navigatorimplementations by specifying a custom
NavigatorFactory, see this manual section for more information [GEB-96].
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 in the manual [GEB-213].
closeoptions can be passed to
withNewWindow()calls, see this manual section for more information [GEB-167].
Browser.to()to return the exact type of the page that was asserted to be at / was navigated to.
ReportingListenerobjects can be registered to observe reporting (see: reporting.html#listening_to_reporting
(wait: true, required: false)content instead of always returning null [GEB-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 [GEB-227].
selectelements has been reworked to be far more efficient [GEB-229].
to(Class<? extends Page>)method now changes the page on the browser and verifies the at checker of that page in one method call [GEB-1], [GEB-249]; use
via()if you need the old behaviour
nullfor boolean attributes that are not present.
Browsernow return a page instance if they succeed and
via()method always returns a page instance [GEB-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 [GEB-222].
Navigators anymore; the new
Navigatorcan be used to remove duplicates if needed [GEB-223].
Browserhave been removed as they were inconsistent with the rest of the API [GEB-242].
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>)[GEB-250].
contains()etc. now work for selecting via element text now works for multiline (i.e.
<br/>) text [GEB-202]
waitFor()calls are now transformed so that every statement in them is asserted - this provides better reporting on
atclosure properties of Page classes are now transformed so that every statement in them is asserted - this provides better reporting on failed at checks
isAt()method on Browser that behaves like
at()used to behave before, i.e. does not throw AssertionError but returns
falseif at checking fails
withConfirm()now accept a
waitoption and the possible values are the same as for waiting content
click()now instructs the browser to click only on the first element the navigator has matched
click()method variants return the reciever
required: false, wait: truereturn
nulland do not throw
WaitTimeoutExceptionif the timeout expires
at()now throws AssertionException if at checking fails instead of returning false
interact()function for mouse and keyboard actions which delegates to the WebDriver Actions class
moduleList()function for repeating content
withFrame()method for working with frames
withNewWindow()methods for working with multiple windows
getAvailableWindows()methods to browser that delegate to the underlying driver instance
aliasesparameter in content DSL
Page.convertToPath()function is now responsible for adding a prefix slash if required (i.e. it’s not added implicitly in
falseinstead of null
<select>elements with Geb now requires an explicit dependency on an extra WebDriver jar (see the section on installation for more info)
classes()method now returns a
Set) and guarantees that it will be sorted alphabetically
nullrather than the empty string when an attribute is not found.
Navigatornow returns whatever the jQuery method called on it returns.
wait: trueto make Geb implicitly wait for it when it is requested
TakesScreenshotinterface (which is nearly all)
BindingUpdaterclass that can manage a groovy script binding for use with Geb
close()methods to browser that delegate to the underlying driver instance
geb.Browser.drive()methods now return the used
yproperties to navigator objects and modules
onUnload()page methods both have changed their return types from
getBaseUrl()method from testing subclasses has been removed, use the configuration mechanism
geb-easyband Grails support)
waitFor()methods added, making dealing with dynamic pages easier
displayedproperty to navigator objects for determining visibility
findas an alias for
page(List<Class>)method that sets the page to the first type whose at-checker matches the page
drive()blocks are no longer wrapped with
at(Class pageClass)method no longer requires the existing page instance to be of that class (page will be updated if the given type matches)
Initial Public Release
The Book of Geb - 0.9.1 - August, 2013
Licensed under the Apache License, Version 2.0