文件上传
当然我们的网页不仅仅只有一些点击事件,我们通常还有很多特殊的操作,比如拖拽以及文件的上传等等。这里我讲解一下我遇到过的文件上传的模拟问题。
例如我们有一个这样的场景:
[attach]138331[/attach]
我图中的这个按钮中我们所使用的是input [type="file"]这个原生的输入框,所以我们无法通过value本身来获取文件并去模拟,我们需要模拟整个真实的上传操作,而显然在我们点击按钮并选择我们本地的文件是Cypress所无法做到的,毕竟不是外挂。所以我们需要自定义一条命令去完成这一步操作,这里我参考了github中Cypress官方下的一个issue,详见Adding Ability to Submit File to Input Element From Local Filesystem #170。
7. 首先我们需要去tests -> e2e -> support -> commands.js中添加一条自定义的指令: