【问题标题】:Capybara attach_file in remote testing scenario远程测试场景中的 Capybara attach_file
【发布时间】:2015-05-12 18:56:52
【问题描述】:

我正在 Windows 机器上使用 Internet Explorer 进行集成测试,运行 selenium-server,从 Mac 驱动测试并将应用程序托管在 Mac 上。该设置运行得非常好,运行速度非常快。

但是当我使用 attach_file 来测试文件上传时,Capybara 会检查文件是否存在于 Mac 上(Capybara 正在运行的地方),但 attach_file 实际上被转发到另一台机器上的 Selenium,浏览器正在运行并且要上传的文件所在的位置,并且文件路径完全不同。因此 Capy 引发了 FileNotFound 异常。如果我在 Capy 中禁用此文件存在检查,则测试通过。

这是水豚没有预料到的场景,还是我在做一些很奇怪的事情?我很乐意做 PR,但如果我在做一些愚蠢的事情就不会。

【问题讨论】:

    标签: selenium capybara


    【解决方案1】:

    我们在我们的规范中使用 attach_file 方法,并在我们的 repo 中使用一个 spec/resources/ 目录来保存一个非常小的图像文件。尽量保持文件大小尽可能小。只要资源文件在存储库中,运行 selenium 测试的机器就应该在本地签出并下载该文件。

    通过禁用存在检查,测试通过,我有点惊讶,所以我可能无法完全理解这种情况。这个解决方案帮助我们在本地和远程机器上运行测试。

    【讨论】:

    • 感谢您抽出宝贵时间回复,Gabe。你是说attach_file capybara方法中的path变量,其实是互联网上某台电脑的url?
    • 测试通过并禁用存在检查 b/c 1. 该文件在运行 capybara 的计算机上不存在,并且不需要 2. 该文件需要存在于计算机上浏览器正在运行。
    猜你喜欢
    • 2017-05-14
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    相关资源
    最近更新 更多