我正在设置Selinium与我的Rails应用程序中的Cucumber和Capybara一起工作。目前,我的env.rb配置文件仅包含:
Capybara.default_driver = :selenium
Cucumber::Rails::World.use_transactional_fixtures = false
我甚至不确定第二行是否必要?
关键是,我有Given
步骤定义创建模型数据
Given /^a question named Question1$/ do
@question = Question.create!(name: 'question1')
end
并且,在视图中为该'question1'条目创建了复选框和标签。现在,When
步骤定义正在检查该复选框:
check "question1"
并且那个场景通过了。
问题是当驱动程序切换到Selenium时,标签和复选框不会在页面上呈现,就像没有执行@question = Question.create!(name: 'question1')
那样,并且该场景失败:
Unable to find checkbox "question1" (Capybara::ElementNotFound)
答案 0 :(得分:0)
找到解决方案。 env.rb应该包含
DatabaseCleaner.strategy = :truncation