即使测试用例通过,但尝试从装置文件夹上传文件时,UI 显示文件未上传。
我已经安装了上传文件所需的插件。 我尝试上传的文件位于装置文件夹中。 我还在我的测试文件中导入了 cypress-file-upload 。 下面是我在 POM 模型中使用的代码。
browserbtnclick(){ const filepath= 'wpx.png'; cy.get('.oxd-file-div').click().wait(2000); cy.get('.oxd-file-div').attachFile(filepath); cy.get('.oxd-file-div').should('contain', 'wpx.png'); }
这是网站链接 https://opensource-demo.orangehrmlive.com/web/index.php/pim/viewPersonalDetails/empNumber/7
这不是文件上传的工作原理。
cy.get('.oxd-file-div').should('contain', 'wpx.png')
行正在检查所选元素是否具有包含文件名的文本。
要验证文件上传,您必须查看
value
属性。
在此处查看文档输入类型=“文件”
文件输入的 value 属性包含一个表示所选文件路径的字符串。
因此在测试中您将需要使用以下内容来确认文件是否正确附加。
cy.get('.oxd-file-div')
.should('have.property', 'value')
.and('contain', 'wpx.png'); // using "contain" since this may be a full path
如果您使用
contains
,您将检查元素的 文本内容,而不是 value
属性。