在无头模式下,元素不可单击。但是,当我们从protractor.conf.js中删除headless时,它工作正常。

vik*_*dar 3 protractor e2e-testing asp.net-core angular angular-e2e

element(by.className('cuppa-dropdown')).element(by.className('dropdown-list')).element(by.className('list-area')).element(by.tagName('li')).click();
Run Code Online (Sandbox Code Playgroud)

实际上,此元素在弹出窗口中。在无头模式下,它的工作状况还不错。但是由于我们需要通过内置vsts来自动化测试用例,因此我们需要以无头模式执行测试

失败:未知错误:元素在点( 863,343)上不可单击(会话信息:无头chrome = 63.0.3239.84)(驱动程序信息:chromedriver = 2.34.522940(1a76f96f66e3ca7b8e57d503b4dd3bccfba87af1),platform = Windows NT 10.0.16299 x86_64)

小智 9

如上回答,尝试将窗口大小设置为Chrome的参数

chromeOptions: {
                args: [
                    '--window-size=1920,1080'],
Run Code Online (Sandbox Code Playgroud)

setTimeout(function() {
                browser.driver.executeScript(function() {
                    return {
                        width: window.screen.availWidth,
                        height: window.screen.availHeight
                    };
                }).then(function(result) {
                    browser.driver.manage().window().setPosition(0,0);
                    browser.driver.manage().window().setSize(result.width, result.height);
                });
            }); 
Run Code Online (Sandbox Code Playgroud)


小智 5

更改配置文件中的 chrome 选项时工作正常

args: ["--headless", "--disable-gpu", "--window-size=1280x1024"] 
Run Code Online (Sandbox Code Playgroud)

args: ["--headless", "--disable-gpu", "--window-size=1920,1080"] 
Run Code Online (Sandbox Code Playgroud)

十分感谢你的帮助。