【问题标题】:Trying to upload a file in Cypress using cypress-file-upload, but no luck尝试使用 cypress-file-upload 在 Cypress 中上传文件,但没有运气
【发布时间】:2021-04-29 01:39:26
【问题描述】:

我试图使用以下依赖项 (cypress-file-upload) 为我在 Cypress 中创建的测试用例上传文件。但是,我在GitHub 上遇到了一个 cmets 线程,其中指出依赖项当前不起作用。有解决方法吗?我目前使用 TypeScript 编写测试用例,因此感谢您的帮助。

【问题讨论】:

  • 它是否显示错误?对我来说,它适用于 cypres 6.8.0,因为我在迁移到 7+ 之前等待稳定版本。我会尝试旧版本或检查我是否进行了正确的迁移
  • @RosenMihaylov 没有错误消息。我目前使用的是 6.8.0 版本。
  • 我在一些插件上遇到了这样的问题,并在有效的版本中修复了它们。 4.1.1 版在赛普拉斯 6.8.0 上为我工作

标签: typescript file-upload cypress


【解决方案1】:

在cypress中有一种上传文件的方法:

1st - 在你的 cypress 目录中需要创建一个 fixtures 文件夹。

2nd - 您需要在此处添加您将在测试中使用的文件(json、csv、...)

3rd - 在规范文件中,您需要将 POST 答案保存在这样的变量中

beforeEach(() => {
cy.route('POST', '**migration**').as('importMyFile');

3rd - 然后添加以下代码

cy.get('input[type="file"]').attachFile('myFile_cypress.json');

4rd - 根据您的 REST 服务,您必须处理下面的答案。在我的例子中是一个 HttpResponseBase,它的处理方式如下:

cy.wait('@importMyFile').then(($prop) => {
            expect($prop.status).to.equal(200);
            Cypress.env('idMyFile', $prop.response.body.id)
        });

我希望它对你有用:)

【讨论】:

    猜你喜欢
    • 2021-05-07
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多