gpt4 book ai didi

ruby-on-rails - 为什么我的 Cucumber 测试在使用 Selenium 时会失败?

转载 作者:行者123 更新时间:2023-11-28 19:54:52 25 4
gpt4 key购买 nike

我正在使用 Cucumber/Capybara 组合测试 Rails 3 应用程序。我也在尝试使用 Selenium 来测试一些 JavaScript 特定场景,但遇到了我不明白的奇怪困难。

我对 Cucumber/Capybara 的经验很低,对 Selenium 的经验为零。

场景如下:

Scenario: Browsing events
Given many events exist
And I am on the events page
Then I should see a list of 15 events
When I follow the first event
Then I should be on the event page
And I should see a google map
And I should see the event details

当该场景在 RackTest 下运行时,它会一直传递到 Google Map 步骤,此时它会失败,因为没有 JavaScript。这是预期的。

当我使用默认的 JavaScript 驱动程序 (Selenium) 运行测试时,它在第三步失败(我应该看到一个包含 15 个事件的列表)。当我观察浏览器窗口时,确实事件列表根本不包含任何事件 - 几乎就好像它们不存在于数据库中一样。

顺便说一句,第一步(存在许多事件),使用 FactoryGirl 创建大量事件。

因为这对我来说都是全新的,我想知道我是否遇到了典型的陷阱?除了来自 rails g cucumber:install 的标准安装之外,我没有进行任何配置更改。另外,如果相关的话,我正在使用 OSX。

谢谢

最佳答案

我假设您正在尝试对 Selenium 使用事务性固定装置(默认行为),但这行不通。当浏览器单独调用 Rails 应用程序时,在测试中管理的事务超出范围,因此它看不到您的测试创建的任何未提交数据。

您需要使用一种数据库清理器 gem,而不是事务性固定装置。

https://github.com/bmabey/database_cleaner

编辑:

我随后意识到,可以将事务固定装置与 Selenium 测试一起使用,如果这样做,性能会更好(归功于 Kira Corina 的回答)。参见 http://pastie.org/1745020了解详情。

关于ruby-on-rails - 为什么我的 Cucumber 测试在使用 Selenium 时会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com