用硒测试无法登录

时间:2016-02-22 11:46:05

标签: ruby-on-rails selenium rspec capybara

这是第一次测试即时写作需要:js =>是的,所以我安装了硒。

我总是能够使用我之前创建的一些凭据登录,但是当我通过selenium运行它们时无法登录。

进行健全性检查以确定我是否还在创建我的用户(招聘人员)

puts "RECRUITER NAME => #{Recruiter.first.email}"

返回

RECRUITER NAME => company1@test.com

我总是将密码设置为" testtesttest"

但总是无法登录。 它是否使用不同的(空?)数据库?我错过了一些必需的设置吗?

注意 =>如果我删除,使用完全相同的文件登录可以完美无缺:js =>真正。但不知何故,它突破了这一步。

1 个答案:

答案 0 :(得分:1)

执行js测试时,正在测试的应用程序运行在与测试不同的线程中,这意味着它们不再共享相同的数据库连接 - 请参阅https://github.com/jnicklas/capybara#transactions-and-database-setup。有一些方法可以强制两个线程共享连接,但最终会在某些边缘情况下出现片状,并限制在测试中的特定时间可以执行的数据库访问,并且实际上并不是初学者想要处理的事情。更好/最简单的解决方案是禁用事务测试并使用截断或删除来管理数据库状态。最简单的方法是使用database_cleaner并设置一个配置,该配置将交换到每个测试所需的策略 - https://github.com/DatabaseCleaner/database_cleaner#rspec-with-capybara-example