当前位置: 首页 > 知识库问答 >
问题:

水豚与硒和远程铬-如何附加文件上传?

益银龙
2023-03-14

我的场景是站点上的单击图标打开文件浏览器。是否可以将图像附加到打开的文件浏览器窗口。我的配置是Docker,水豚,硒驱动程序。我正在测试无头和无头浏览器(Chrome)

共有1个答案

沙柏
2023-03-14

文件输入的问题是实际的元素通常是隐藏的,然后在页面中添加一个按钮来触发文件选择。Capybara不能与不可见的元素交互,因为用户不能,不幸的是,一旦显示了文件选择对话框(系统对话框),浏览器就不再对它有任何控制,所以它不能被自动化。解决办法是不单击打开文件选择的按钮,而是临时使元素在页面上可见,以便与之交互。为此,Capybara提供了make_visible选项,如docs-https://www.rubydoc.info/github/teamcapybara/Capybara/Capybara/node/actions#attach_file-instance_method所示。

attach_file('name, id, or label text of field', file_to_attach, make_visible: true)
 类似资料:
  • 我在我的Ruby on Rails(5.2.1)项目中使用chrome headless with Selenium(3.14.0)和Capybara(3.8.0),我有一个测试,它可以在无头chrome中工作,但不能在无头chrome中工作。我在谷歌chrome稳定版69上使用的是“--无头”标志。 我已经用下面的设置了我的无头chrome,这适用于所有不下载文件的测试。

  • 我用cucumber配水豚和硒-WebDriver。到目前为止,我一直使用Chrome,但该项目也要求对Firefox进行一些跨浏览器测试。 在Firefox中运行时,我只是得到一个空白窗口,网页不出现。

  • 不仅浏览器没有打开,而且测试失败,输出如下:

  • 比起Ruby、Capybara和SitePrism,我更熟悉Java和Selenium,所以如果这个问题太多,我深表歉意。 Selenium有一个非常有用的类来管理Select标签,Selenium::WebDriver::Support::Select,它可以通过传递代表select的Selenium Element(Selenium::WebDriver::Element)来创建。我想得到一个

  • 我是cucumber和水豚的新手,我对以下错误感到困惑: 在我的功能中,我有: 我的步骤如下所示: 我尝试了“click(button\u text)和click\u link”方法。我想这可能是我没有看到的明显的东西。我试图找到按钮元素的css定位器,然后单击该元素。我认为regex不需要更改,因为我正在更改“button\u text”局部变量的内容。还是我?