Open
Description
What are you trying to achieve?
When trying to use moveToCursor() on element which is located inside an iframe, the step is getting passed but the operation is not performed. The issue is observed only when the execution is happening on chrome browser and w3c protocol is used.
What do you get instead?
The step is getting passed but the operation is not performed.
Provide console output if related. Use
--verbose
mode for more details.
# paste output here
Provide test source code if related
**Filename: iFrameHover.php**
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<h1>Iframe Hower test</h1>
<iframe name="content" src="hover" style="width: 600px; height: 600px"/>
</body>
</html>
**FileName:hover.php**
<html>
<head></head>
<body>
<br>
<br><br><br><br><br><br><br><br><br><br>
<span id="hover" onmouseover="document.getElementById('show').innerText = 'Hovered!'">Hover me!</span>
<div id="show"></div>
</body>
</html>
**Test**
describe('#moveCursorTo iFrame', () => {
it('should trigger hover event', async () => {
await wd.amOnPage('/form/iFrameHover');
await wd.wait(5);
await wd.switchTo('iframe')
await wd.moveCursorTo('#hover');
await wd.see('Hovered', '#show');
});
});
Details
- CodeceptJS version: 2.6.6
- NodeJS Version: 10.15.0
- Operating System: Windows 10
- puppeteer || webdriverio || protractor || testcafe version (if related) : "webdriverio": "^6.1.19",
- Configuration file:
wd = new WebDriver({
url: siteUrl,
browser: 'chrome',
windowSize: '500x700',
smartWait: 0, // just to try
host: TestHelper.seleniumHost(),
port: TestHelper.seleniumPort(),
waitForTimeout: 5000,
capabilities: {
chromeOptions: {
args: ['--disable-gpu', '--window-size=1280,1024'],
},
},
});