christian-bromann on cb-deep-selector
make selector work in devtools … (compare)
/* Overwrite default element command behaviour to fix IE issues */
function overwriteFunction(origFunction, ...args) {
try {
// attempt to execute Original function
return origFunction(...args);
} catch (err) {
if (err.message.includes('Modal dialog present')) {
console.warn('WARN: Element', this.selector, 'threw an error and we are retrying.')
return origFunction(...args);
}
throw err
}
};
browser.overwriteCommand('scrollIntoView', overwriteFunction, true);
browser.overwriteCommand('$', overwriteFunction, true);
browser.overwriteCommand('getAttribute', overwriteFunction, true);
browser.overwriteCommand('getText', overwriteFunction, true);
browser.overwriteCommand('getLocation', overwriteFunction, true);
Hi all, I am having some issues with modals in headless chrome not working properly. As a test I set this up:
describe("test", function() {
it("test", function() {
browser.url("https://getbootstrap.com/docs/4.3/components/modal/");
browser.debug();
})
})
if I take a screenshot of that page then I just get a blank page. However, in non-headless mode it works fine.
Any ideas?
@nitinWFH https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/welcome.html
Thank you, i will go through it..!
Is this warning suppressable?
[0-0] RUNNING in chrome - /tests/specs/basic.js
[0-0] Warning! Unsupported expect lib is used.
Only Jasmine >= 3.3.0 and Jest's expect are supported.
expect-webdriverio is assigned to global.expectWdio
I imagine if I let the native assertion library use expect
that'd be fine, but I like using that instead of chai.expect
A service failed in the 'onPrepare' hook
Error: Appium exited before timeout (Exit code: 2)
at ChildProcess.exitCallback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/wdio-appium-service/build/launcher.js:94:28)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
Continue...
ERROR: ESOCKETTIMEDOUT
4545b75e9e343eb8ba9de068016dd13d5f192e71.ios
at new RuntimeError (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/webdriverio/build/lib/utils/ErrorHandler.js:143:12)
at Request._callback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/webdriverio/build/lib/utils/RequestHandler.js:332:43)
at self.callback (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/request/request.js:185:22)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at ClientRequest.<anonymous> (/private/tmp/scratchkLlkKg.scratch/test-packageVJzcYO/node_modules/request/request.js:819:16)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at ClientRequest.emit (events.js:208:7)
at Socket.emitTimeout (_http_client.js:718:34)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:422:8)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
Hi All i'm a bit new to the 'setting up' of automation frameworks. I've got an electron desktop app which I've configured to run spectron which under the hood accesses webdriverIO. Now i've used webdriver before i.e I recall the browser object. Reading online the browser object is application.client.
My automation test access the webdriverIO functions which is awesome! The only problem is. The intelisense for webdriverIO in spectron application.client does not show in VSCode for methods like element(), .getText(), pause(). The things native to webdriverIO how do I get them to appear to the programmer?
//iframe[contains(lower-case(@src), ‘exampleapp’)]
@Lecale Apparently there's also a 'matches' option with a case-insensitive flag 'i' in xpath 2.0:
//iframe[matches(@src,'exampleapp','i')]
Ref. https://stackoverflow.com/questions/2893551/case-insensitive-matching-in-xpath