4

我正在 Windows 7 下开发 Rails 3.x 应用程序,并使用 Cucumber 和 Capybara 进行测试。

我已经设置了一个 Ubuntu 虚拟机并将我的应用程序部署到该虚拟机上。

我想在每次部署后使用 Cucumber / Capybara 在 VM 上测试我的应用程序 - 毕竟,这是一个不同的操作系统,我想利用我的测试套件的强大功能来测试不同的浏览器(Firefox、Chrome 和 IE)部署的站点。

从理论上讲,似乎我有 3 个主要选项:

1) 在本地运行 Cucumber,使用本地浏览器并访问远程服务器 (VM guest) 2) 在本地运行 Cucumber,使用远程浏览器访问远程服务器 3) 连接到 VM guest 并在 VM 下本地运行 Cucumber

在我看来,选项 1) 最能模拟现实世界,即不在远程服务器上运行浏览器。

但是,我不确定这是否可能,或者如何配置东西来实现它。特别是我不清楚在这种情况下是否需要 Selenium Server,如果需要,是否应该在本地(在 Windows 开发机器上)或远程(在部署应用程序的来宾 VM 中)部署它。

我已经对这个问题进行了相当多的谷歌搜索,并查看了以下帖子:

使用黄瓜远程测试连接到 VM 的问题

https://github.com/leonid-shevtsov/headless

虽然这些提供了一些线索,例如使用(与http://rubydoc.info/github/jnicklas/capybara官方 Capybara 文档中描述的完全一样)

  Capybara.app_host = "http://hostname:4444"
  Capybara.default_driver = :selenium
  Capybara.run_server = false

给出的示例似乎是指远程运行的浏览器(例如我的选项 2 或 3),我仍然不确定最好的方法是什么。

4

0 回答 0