I am creating an UI automated test using Karate framework. One of the AUT screens can be open only with double-click. When I try something like 'mouse('somelocator').doubleClick()' nothing happens. Then I decided to use JS that looks like this:
var myElement = document.getElementsByTagName("somelocator");
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent('dblclick', true, true);
myElement.dispatchEvent(clickEvent);
It's working perfectly when I try it in Chrome JS console. The problem is that when I try to use it in Karate feature file
* def myDblClick =
"""
function() {
var myElement = document.getElementsByTagName("somelocator");
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent('dblclick', true, true);
myElement.dispatchEvent(clickEvent);
}
"""
* myDblClick()
I receive
failed features: js failed: 01: myDblClick()
org.graalvm.polyglot.PolyglotException: ReferenceError: "document" is not defined
What do I do wrong here?