我有一个应用程序,使使用p—fileUpload,我写了一个Cypress测试.
我想也许我可以使用selectFile方法来实现这个目标—但这并没有成功.
下面是我在html中实现的p—fileUpload:
<p-fileUpload
name="files"
[url]="url"
accept="text/xml"
[multiple]="true"
(onBeforeUpload)="onBeforeUpload($event)"
(onUpload)="onUpload($event.files, $event.originalEvent.body)"
(onError)="onError($event.files, $event.originalEvent ? $event.originalEvent.body : $event.error)"
[attr.data-cy]="'fileUpload'"
></p-fileUpload>
下面是我try 在Cypress测试中上传一个文件:
cy.get('[data-cy="fileUpload"]').should('be.visible')
.then($upload => {
cy.get('[data-cy="fileUpload"]').selectFile('cypress/fixtures/myfile.xlsx');
});
这是我得到的错误:
cy.selectFile() can only be called on an <input type="file"> or a <label for="fileInput"> pointing to or containing a file input, but received the element:
<p-fileupload _ngcontent-dan-c234="" name="files" accept="text/xml" class="p-element" ng-reflect-name="files" ng-reflect-accept="text/xml" ng-reflect-url="transaction/api/v2/upload/xml?" ng-reflect-multiple="true" data-cy="fileUpload">...</p-fileupload>
有什么建议吗?
谢谢