浏览器操作在 headless chrome 中不起作用
browser actions doesn't work in headless chrome
在 angular 测试自动化中,我在我的 it
块中使用了一些鼠标和键盘操作,即 mouseDown
、Key.ENTER
和 Key.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'
},
在 angular 测试自动化中,我在我的 it
块中使用了一些鼠标和键盘操作,即 mouseDown
、Key.ENTER
和 Key.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'
},