赛普拉斯文件上传

问题描述 投票:0回答:1

即使测试用例通过,但尝试从装置文件夹上传文件时,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

cypress build-automation
1个回答
0
投票

这不是文件上传的工作原理。

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
属性。

© www.soinside.com 2019 - 2024. All rights reserved.