浏览器操作在 headless chrome 中不起作用

browser actions doesn't work in headless chrome

在 angular 测试自动化中,我在我的 it 块中使用了一些鼠标和键盘操作,即 mouseDownKey.ENTERKey.ARROW_DOWN。它在浏览器(实际浏览器)中非常有效。相同的测试用例失败了,我确信它失败是由于无头浏览器中的 browser.actions().SOMEACTION()。我已经搜索但没有找到任何解决方案。附件是失败测试用例的文件。感谢您的帮助。

it('Should add Dispatcher successfully',()=>{
        return new Promise((res)=>{
            let email = Math.floor(Math.random()*100000)+1;
            addMember.getAddMemberSubMenu().click().then(()=>{
                setTimeout(()=>{
                    addMember.getFirstNameInput().sendKeys("John"); 
                    addMember.getLastNameInput().sendKeys("Doe");
                    addMember.getEmailInput().sendKeys(email+"@gmail.com")              addMember.getUserRolesInput().element(by.cssContainingText('option','Dispatcher')).click();
                    addMember.getPhoneNumberInput().sendKeys('03133535058');
                               browser.actions().mouseDown(addMember.getLocationInput()).perform(); //problem starts here
                    browser.actions().sendKeys(Key.ARROW_DOWN).perform();
                    browser.actions().sendKeys(Key.ENTER).perform();
                    addMember.getSaveButton().click().then(()=>{
                    return new Promise((resolve)=>{
                        setTimeout(()=>{
                        expect(browser.getCurrentUrl()).toContain('people').then(()=>{
                            resolve();
                            res();
                            });
                        },browser.params.Waiting_time.HIGH);
                    });
                });
             },browser.params.Waiting_time.HIGH);
            })
        });
    });

我通过在 chromeOptions 中传递 window 大小参数作为

解决了这个问题
capabilities: {
  chromeOptions: {
    args: [ "--headless","--window-size=1600x1200"] //window-size
  },
browserName: 'chrome'

},