在无头模式下,元素无法点击。但是当我们从protractor.conf.js中移除无头时它工作正常。

时间:2017-12-12 16:01:45

标签: angular asp.net-core protractor e2e-testing angular-e2e

element(by.className('cuppa-dropdown')).element(by.className('dropdown-list')).element(by.className('list-area')).element(by.tagName('li')).click();

实际上这个元素是弹出的。并且它在无头模式下表现得很好。但是,由于我们需要通过内置版本来自动化测试用例,我们需要在无头模式下执行测试

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

2 个答案:

答案 0 :(得分:5)

如上所述,尝试将窗口大小设置为chrome的参数

chromeOptions: {
                args: [
                    '--window-size=1920,1080'],

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);
                });
            }); 

答案 1 :(得分:0)

更改配置文件中的镶边选项时,它工作正常
args: ["--headless", "--disable-gpu", "--window-size=1280x1024"] 

args: ["--headless", "--disable-gpu", "--window-size=1920,1080"] 

非常感谢您的帮助。