I am doing test automation with geb in groovy, curently dealing with
scenario like: First, I am in parent window, from there I open new window
and do some search there, Clicking on the search result generates a confirm
dialogue and updates the value in parent page, Bypassing the dialog with
withConfirm(). then I come to parent window but nothing executes after
that. I think geb is getting confused between pages.
In parent Page
open new window
search for something
click on the first search result
clicking on it opens a confirm dialog
click okay and close the new window
continue with parent window
My code looks like:
withNewWindow(close: false,wait:true,{$(button that opens new
window).click()}) {
waitFor{
title == "title"
}
withConfirm(wait: true){$(cause to open confirm dialog).click()}
}
$("input[name='button'][id='SAVE_FOOTER']").click()
}
Error:
Caught: org.openqa.selenium.NoSuchWindowException: Browsing context has
been discarded
Build info: version: '3.14.0', revision: 'aacccce0', time:
'2018-08-02T20:19:58.91Z'
System info: host: 'DESKTOP-NAFK3F3', ip: '10.1.10.195', os.name: 'Windows
10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_201'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox,
browserVersion: 65.0.2, javascriptEnabled: true, moz:accessibilityChecks:
false, moz:geckodriverVersion: 0.24.0, moz:headless: false, moz:processID:
12824, moz:profile: C:\Users\Dell\AppData\Local..., moz:shutdownTimeout:
60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick:
true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS,
platformVersion: 10.0, rotatable: false, setWindowRect: true,
strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000,
script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 2c0c768c-785f-49d4-bdff-186566e722dd
org.openqa.selenium.NoSuchWindowException: Browsing context has been
discarded
Build info: version: '3.14.0', revision: 'aacccce0', time:
'2018-08-02T20:19:58.91Z'
System info: host: 'DESKTOP-NAFK3F3', ip: '10.1.10.195', os.name: 'Windows
10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_201'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox,
browserVersion: 65.0.2, javascriptEnabled: true, moz:accessibilityChecks:
false, moz:geckodriverVersion: 0.24.0, moz:headless: false, moz:processID:
12824, moz:profile: C:\Users\Dell\AppData\Local..., moz:shutdownTimeout:
60000, moz:useNonSpecCompliantPointerOrigin: false, moz:webdriverClick:
true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS,
platformVersion: 10.0, rotatable: false, setWindowRect: true,
strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000,
script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 2c0c768c-785f-49d4-bdff-186566e722dd
at
org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)
at
org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)
at geb.js.JavascriptInterface.execjs(JavascriptInterface.groovy:66)
at geb.js.JavascriptInterface.exec(JavascriptInterface.groovy:56)
at
geb.js.DefaultAlertAndConfirmSupport.popLastDialogFunctionOnto(DefaultAlertAndConfirmSupport.groovy:114)
at
geb.js.DefaultAlertAndConfirmSupport.captureDialog(DefaultAlertAndConfirmSupport.groovy:168)
at
geb.js.DefaultAlertAndConfirmSupport.captureConfirm(DefaultAlertAndConfirmSupport.groovy:182)
at
geb.js.DefaultAlertAndConfirmSupport.withConfirm(DefaultAlertAndConfirmSupport.groovy:54)
at
geb.js.DefaultAlertAndConfirmSupport.withConfirm(DefaultAlertAndConfirmSupport.groovy)
at geb.js.AlertAndConfirmSupport$withConfirm.call(Unknown Source)
at geb.Page.withConfirm(Page.groovy:130)
at geb.Browser.methodMissing(Browser.groovy:249)
at geb.Browser.invokeMethod(Browser.groovy)
at
CRMPageExample$_run_closure1$_closure3.doCall(CRMPageExample.groovy:149)
at CRMPageExample$_run_closure1$_closure3.doCall(CRMPageExample.groovy)
at geb.Browser.withNewWindow(Browser.groovy:798)
at CRMPageExample$_run_closure1.doCall(CRMPageExample.groovy:137)
at CRMPageExample$_run_closure1.doCall(CRMPageExample.groovy)
at geb.Browser.drive(Browser.groovy:128)
at geb.Browser$drive$0.callStatic(Unknown Source)
at geb.Browser.drive(Browser.groovy:98)
at geb.Browser$drive.call(Unknown Source)
at CRMPageExample.run(CRMPageExample.groovy:97)
1552494416789 Marionette INFO Stopped listening on port 52107
[Parent 12824, Gecko_IOThread] WARNING: pipe error: 109: file
z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line
332
[Child 2628, Chrome_ChildThread] WARNING: pipe error: 109: file
z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line
332
[Child 2628, Chrome_ChildThread] WARNING: pipe error: 109: file [Parent
12824, Gecko_IOThread] WARNING: pipe error: 109: file
z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line
332
[Child 8068, Chrome_ChildThread] WARNING: pipe error: 109: file
z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line
332
[Child 8068, Chrome_ChildThre
###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot
send/recv
Methods I tried but seems useless
waitFor{
withwindow{Parent window}){true}
}
selenium testing groovy automated-tests geb
--
You received this message because you are subscribed to the Google Groups "Geb
User Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/geb-user/bdd04567-e37f-4e2e-aa76-56370e7b082d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.