点击水豚可以附加文件



我使用capybaracucumberwebDriver执行文件测试

我正在做一项研究,需要附加一个文件,但文件input不存在于dom中,并且它只是在单击按钮时创建的,目前我的代码是这样的:

HTML

<a id="input-id" href="#" onClick="callInput">Attach</a>

编写脚本

function callInput(){
const input = document.createElement("input");
input.style.display = "none";
input.type = "file";
input.click();
}

如果可能,唯一的方法是使用attach_file块模式

attach_file('/file/to/be/attached') do
click_link('Attach')
end

由于您将display设置为"none",而不是通过将其设置为屏幕外或其他方法进行隐藏,因此如果以上内容不,则make_visible选项可能会使其工作

attach_file('/file/to/be/attached', make_visible: true) do
click_link('Attach')
end

如果这两者都不起作用,那么Capybara就不可能像你在页面上实现文件上传的方式那样工作。

注意:这两种方法都很低,因为你从来没有真正将输入附加到页面上,所以事件不会被发送到Capybara可以检测到的任何地方。

相关内容

  • 没有找到相关文章

最新更新