【发布时间】:2013-06-12 20:54:37
【问题描述】:
我是 Capybara 的新手,希望有人能帮助我解决我遇到的问题。
作为测试的一部分,我有许多不同的测试规范文件。目前在每个规范文件的顶部,我创建了一个新的 Capybara 会话,其中包含以下内容: session = Capybara::Session.new(:selenium)。
当只有 1 个规范文件要运行时,这可以正常工作,但我发现当我尝试一起运行多个不同的规范文件测试(包含在一个文件夹中)时,它会为每个第一个创建一个新实例,我最终有很多不同的浏览器窗口。有没有办法我可以把它放在一个地方而不是每个测试规范文件中?
我以前有使用 cucumber 和 watir 的经验,你可以用它做的是在你的 env 文件中创建你的浏览器实例。你也可以在这里进行拆解。 rspec/capybara 中是否有等价物?我尝试将'session = Capybara::Session.new(:selenium)' 行放入我的规范帮助文件中,但是当我尝试运行测试时,我得到'未定义的局部变量或方法'session',即使我有'require' spec_helper' 在每个测试规范中。
对此的任何帮助都会很棒!如果以上任何一项不清楚,请告诉我,我会尽力澄清。
【问题讨论】: