Для Puppeteer используйте опцию chrome в конфигурации со значением defaultViewport.
https://codecept.io/helpers/Puppeteer/#configuration
https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions
"Puppeteer": {
"url": "https://rambler.ru",
"browser": "chrome",
...
"chrome": {
"defaultViewport": {
"width": 640,
"height": 360,
"deviceScaleFactor": 1,
"isMobile": true,
"hasTouch": true,
"isLandscape": false
}
}
}
Или используйте page.emulate()
перед каждым тестом
https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pageemulateoptions
UPD: добавить пример page.emulate
Для page.emulate
с использованием:
В пользовательском помощнике создайте собственную функцию, которая будет работать со страницей, например:
async emulateDevice(options) {
const currentPage = this.helpers['Puppeteer'].page;
await currentPage.emulate(options);
}
Где опция - объект с окном просмотра и userAgent:
https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pageemulateoptions
https://codecept.io/helpers/Puppeteer/#access-from-helpers
Тогда в тесте:
Создать параметры:
const myCustomViewPort = {
viewport: {
width: 640,
height: 360,
deviceScaleFactor: 1,
isMobile: true,
hasTouch: true,
isLandscape: false
},
userAgent: ""
}
И вы можете назвать это в своем коде:
Before(async (I) => {
await I.emulateDevice(myCustomViewPort);
});