在我的 vue/cli 4 / Bootstrap 4.3 应用程序中,我使用 vue-upload-component 组件来上传文件,并且工作正常。我想添加 cypress 来测试文件上传,我将https://github.com/abramenal/cypress-file-upload/tree/v3.5.3添加到我的项目中,但此测试失败。我在 vue 文件中有:
<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)
Run Code Online (Sandbox Code Playgroud)
在我的浏览器中,它呈现为:
<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>
Run Code Online (Sandbox Code Playgroud)
我柏树测试文件我做:
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' });
});
Run Code Online (Sandbox Code Playgroud)
但是在控制台中我得到了错误:
THEN function(){}
TypeError: cy.get(...).upload 不是函数
我看到 cy var 的下一个输出:
同样在上面的测试代码中取消注释 2 行:
cy.find('#file')
.should('have.value', 'Invalid Text')
Run Code Online (Sandbox Code Playgroud)
正如我所料,我没有应该错误,我不明白为什么?
如何进行文件上传测试?
"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",
Run Code Online (Sandbox Code Playgroud)
谢谢!
| 归档时间: |
|
| 查看次数: |
4574 次 |
| 最近记录: |