首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypress文件上传错误与柏树-文件上传

Cypress文件上传错误与柏树-文件上传
EN

Stack Overflow用户
提问于 2020-04-21 06:18:25
回答 1查看 6.3K关注 0票数 3

在我的vue/cli 4/Bootstra4.3应用程序中,我使用vue-上载组件组件进行文件上传,它工作正常。我想添加用于测试文件上传的柏树,我在我的项目中添加了https://github.com/abramenal/cypress-file-upload/tree/v3.5.3,但是这次测试失败了。我在vue档案里有:

代码语言:javascript
复制
    <file-upload
            ref="upload"
            v-model="imageFiles"
            post-action="/post.method"
            put-action="/put.method"
            @input-file="inputFile"
            @input-filter="inputFilter"
            :multiple="false"
            class="btn btn-outline-secondary btn-sm m-2 file-input-class"
            data-cy="file-input"
    >
        <i :class="'action_link '+getHeaderIcon('upload')"></i>Upload image
    </file-upload>

    ...
   const VueUploadComponent = require('vue-upload-component')
   Vue.component('file-upload', VueUploadComponent)

在我的浏览器中,它被呈现为:

代码语言:javascript
复制
<span class="btn btn-outline-secondary btn-sm m-2 file-input-class file-uploads file-uploads-html5" data-cy="file-input">
    <i class="action_link fa fa-upload"></i>
    Upload image  
    <label for="file"></label> 
    <input type="file" name="file" id="file">
</span>

我做的是柏树测试文件:

代码语言:javascript
复制
        import 'cypress-file-upload'
        describe('Admin category fileupload functionality', () => {
            ...
            const fileName = '/sample_images/sample.png';

            cy.contains('Image Preview/Upload')

            cy.fixture(fileName).then(fileContent => {
                //  cy.find('#file')
                //     .should('have.value', 'Invalid Text')

                console.log('++Inside Tests cy::')
                console.log(cy)

                cy.get('#file').upload({ fileContent, fileName, mimeType: 'image/png' });
            });

但是在控制台上我发现了错误:

则函数(){} TypeError: cy.get(.).upload不是函数

我看到下一个cy var:

也是在上面对取消注释2行的测试代码中:

代码语言:javascript
复制
cy.find('#file')
    .should('have.value', 'Invalid Text')

我不应该有错误,正如我所预期的那样,我不明白为什么?

如何进行文件上传测试?

代码语言:javascript
复制
"axios": "^0.19.0",
"cypress-file-upload": "^4.0.6",
"file-saver": "^2.0.2",
"vue": "^2.6.10",
"vue-upload-component": "^2.8.20",

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-06 13:20:18

您将"^4.0.6"显示为您的cypress-file-upload版本。最新版本3.5.3版是有区别的。

自4.0.0版以来,公开的命令已从upload()更改为attachFile()

在最新版本中也有一条注释说,目前它不稳定。也许您应该恢复到3.5.3,并保持代码原样。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61337099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档