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