抱歉-cypress在AWS上无法上传屏幕截图和视频
创始人
2024-11-24 21:30:15
0

在AWS上启用S3存储桶作为sorry-cypress上传和存储屏幕截图和视频的目标,并使用正确的身份验证。可以通过以下方式进行配置:

1.首先,您需要在AWS S3中创建存储桶。

2.在您的sorry-cypress配置文件中添加以下内容:

{ "projectId": "my-project", "storage": { "type": "s3", "region": "us-west-2", "bucket": "my-s3-bucket-name", "accessKeyId": "my-aws-access-key-id", "secretAccessKey": "my-aws-secret-access-key" } }

3.确保您的IAM角色具有足够的权限来上传和读取S3存储桶。

以下是用于在sorry-cypress中启用S3存储桶的示例代码:

Cypress.Screenshot.defaults({ onAfterScreenshot($el, screenshotDetails) { Cypress.log({ name: 'screenshot', message: 'saving screenshot to s3', screenshotDetails, });

return cy.task('uploadAssetToS3', {
  projectID: Cypress.config('projectId'),
  runID: Cypress.config('runId'),
  type: 'screenshot',
  data: screenshotDetails,
});

}, });

Cypress.Commands.overwrite( 'writeFile', (originalFn, filePath, content, encoding) => { Cypress.log({ name: 'writeFile', message: writing file to s3: ${filePath}, });

return cy.task('uploadAssetToS3', {
  projectID: Cypress.config('projectId'),
  runID: Cypress.config('runId'),
  type: 'file',
  filePath,
  content,
  encoding,
});

} );

Cypress.Commands.overwrite( 'readFile', (originalFn, filePath, encoding) => { Cypress.log({ name: 'readFile', message: reading file from s3: ${filePath}, });

return cy.task('downloadAssetFromS3', {
  projectID: Cypress.config('projectId'),
  runID: Cypress.config('runId'),
  type: 'file',
  filePath,
  encoding,
});

} );

Cypress.on('after:screenshot', (_, details) => { details.path = http://${Cypress.config('baseUrl')}/${details.path}; });

Cypress.Commands.add('getBucketUrl', () => { const storage = Cypress.config('storage');

return https://${storage.bucket}.s3.${storage.region}.amazonaws.com; });

Cypress.Commands.add('uploadAssetToS3', (options) => { const { projectID, runID, type } = options; const s3 = new AWS.S3({ apiVersion: '2006-03-01' }); const storage = Cypress.config('storage'); const key = ${projectID}/${runID}/${type}/${uuid()}; const bucketUrl = Cypress.getBucketUrl();

const params = { Body: options.data || options.content || '', Bucket: storage.bucket, Key: key, };

return s3.upload(params).promise().then(() => { switch (type) { case 'screenshot': { if (!options.data.path) return '';

    return `${bucketUrl}/${key}`;
  }

  case 'file':
    return '';

  default:
    return '';
}

}); });

Cypress.Commands.add('downloadAssetFromS3', (options) => { const { projectID, runID, type }

相关内容

热门资讯

记者揭秘!智星菠萝辅助(透视辅... 记者揭秘!智星菠萝辅助(透视辅助)拱趴大菠萝辅助神器,扑克教程(有挂细节);模式供您选择,了解更新找...
一分钟揭秘!约局吧能能开挂(透... 一分钟揭秘!约局吧能能开挂(透视辅助)hhpoker辅助靠谱,2024新版教程(有挂教学);约局吧能...
透视辅助!wepoker模拟器... 透视辅助!wepoker模拟器哪个好用(脚本)hhpoker辅助挂是真的,科技教程(有挂技巧);囊括...
透视代打!hhpkoer辅助器... 透视代打!hhpkoer辅助器视频(辅助挂)pokemmo脚本辅助,2024新版教程(有挂教程);风...
透视了解!约局吧德州真的有透视... 透视了解!约局吧德州真的有透视挂(透视脚本)德州局HHpoker透视脚本,必胜教程(有挂分析);亲,...
六分钟了解!wepoker挂底... 六分钟了解!wepoker挂底牌(透视)德普之星开辅助,详细教程(有挂解密);德普之星开辅助是一种具...
9分钟了解!wpk私人辅助(透... 9分钟了解!wpk私人辅助(透视)hhpoker德州透视,插件教程(有挂教学);风靡全球的特色经典游...
推荐一款!wepoker究竟有... 推荐一款!wepoker究竟有透视(脚本)哈糖大菠萝开挂,介绍教程(有挂技术);囊括全国各种wepo...
每日必备!wepoker有人用... 每日必备!wepoker有人用过(脚本)wpk有那种辅助,线上教程(有挂规律);wepoker有人用...
玩家必备教程!wejoker私... 玩家必备教程!wejoker私人辅助软件(脚本)哈糖大菠萝可以开挂,可靠技巧(有挂神器)申哈糖大菠萝...