我在Windows机器上使用Internet Explorer进行集成测试,运行selenium-server,从Mac驱动测试并托管应用程序。该设置运行得非常好,运行速度非常快。
但是当我使用attach_file测试文件上传时,Capybara会检查Mac上的文件是否存在(Capybara正在运行),但是attach_file实际上是转发到另一台机器上的Selenium,其中浏览器是运行和文件到上载驻留,文件路径完全不同。所以Capy引发了一个FileNotFound异常。如果我在Capy中禁用此文件存在,则测试通过。
这是在Capybara没有预料到的场景,还是我在做一些非常奇怪的事情?我很乐意做一个公关,但如果我做了一些愚蠢的事情,我就不会。
答案 0 :(得分:1)
我们在规范中使用attach_file方法,并在我们的repo中使用spec / resources /目录来保存非常小的图像文件。尽量保持文件大小尽可能低。只要资源文件位于存储库中,运行selenium测试的计算机就应该检出并在本地下载该文件。
通过禁用存在检查,测试通过,我感到有些惊讶,所以我可能不完全了解情况。这个解决方案帮助我们在本地和远程机器上运行测试。