Cypress 5.0全页屏幕截图自动模式
我正在使用Cypress5.0。我已经在cypress.json中配置了screenshots文件夹。 我正在以编程方式使用cypress runner API运行测试 我将视口值用作: config.viewportWidth=1080; config.viewportHeight=1024 屏幕截图即将出现,但它不在整页上。我的网页有滚动,截图只拍摄可见区域 请指导如何使用整页屏幕 My Cypress.jsonCypress 5.0全页屏幕截图自动模式,cypress,Cypress,我正在使用Cypress5.0。我已经在cypress.json中配置了screenshots文件夹。 我正在以编程方式使用cypress runner API运行测试 我将视口值用作: config.viewportWidth=1080; config.viewportHeight=1024 屏幕截图即将出现,但它不在整页上。我的网页有滚动,截图只拍摄可见区域 请指导如何使用整页屏幕 My Cypress.json { "projectId": "yvs4
{
"projectId": "yvs41u",
"video": false,
"integrationFolder": "integration-tests/experiences",
"testFiles": "**/*.js",
"fixturesFolder": false,
"pluginsFile": "plugins/index.js",
"supportFile": "support/index.js",
"screenshotsFolder": "build/reports",
"videosFolder": "build/reports",
"videoUploadOnPasses": false,
"trashAssetsBeforeRuns": false,
"reporter": "mochawesome",
"chromeWebSecurity": false,
"reporterOptions": {
"charts": true,
"html": false,
"json": true,
"reportDir": "cypress/reports/mochawesome",
"reportTitle": "Archie Integration Testing Suite",
"reportFilename": "report",
"overwrite": false,
"inline": true,
"inlineAssets": true,
"timestamp": "dd-mmm-yyyy-HH-MM-ss"
}
}
默认情况下,Cypress仅捕获视口。要截屏整个页面,您需要首先配置截屏:
Cypress.Screenshot.defaults({ capture: 'fullPage' });
cy.screenshot();
因此,整个页面将被捕获
进一步阅读:谢谢乔纳。我想知道如何全局配置它,这样我就不需要在每个测试文件中添加cy.screenshot()。@pmrushi您读过了吗?一旦你把配置放在index.js中,它将应用于测试期间的所有截图。但仍然不能使用完整的页面截图,它只获取view-port-screenshot.Cypress.screenshot.defaults({capture:'fullpage'});Cypress.on('test:after:run',(test,runnable)=>{if(test.state==='failed'){let screenshotFileName=
${runnable.parent.title}--${test.title}(failed).png
;let imageUrl=${Cypress.spec name}/${screenshotFileName}
;let videUrl=${code>${Cypress.spec name}.mp4
;addContext({test},imageUrl);addContext({test},videUrl);}});