在我的Rails项目中,我通常使用factory_girl
在我的应用程序中构建/创建用户。我想知道在使用Cucumber, Capybara时是否可以使用factory_girl
来测试用户与我的应用程序的交互。没有数据库可以保存它们,我只是想存储它们的凭据
我可以有很多用户希望为每个用户创建工厂(除非有更好的Cucumber方法)。
在我的支持文件夹中,我可以创建一个Factorys文件夹,然后创建一个。保存每个用户的rb文件。
FactoryGirl.define do
factory :user_1 do
username "username"
password "password"
end
end
在我的env.rb
文件中,我需要工厂女孩,但这还不够
require 'factory_girl'
好像在我的特色中我尝试
Then(/^I will enter my credentials$/) do
fill_in 'username', :with => user_1.email
fill_in 'password', :with => user_2.password
click_button 'login-button'
end
我明白了
uninitialized constant user_1
我也有一种感觉,如果这是工作,我需要一个前钩子,将建立工厂用户,但我不确定在目前的整个设置。
是否有人以这种方式使用factory_girl,或者正如我之前提到的,是否有更好的方法来做到这一点?
感谢@MarshallCap提供的答案,我想出了一个可行的解决方案,并想与大家分享,也许它是对的,也许有更好的方法,但这就是我最终所做的,如果这对其他人有帮助,那就太好了。
首先,我为我的factory\u用户创建了一个类
class Users
FactoryGirl.define do
factory :user_1, :class => :users do |u|
u.skip_create
u.username "username1"
u.password "password"
end
end
FactoryGirl.define do
factory :user_2, :class => :users do |u|
u.skip_create
u.username "username2"
u.password "password2"
end
end
end
在环境中需要factory\u girl。rb
require 'factory_girl'
在我的登录脚本中,在step\u定义中,为实例变量分配了用户属性的哈希
Then(/^I will enter my credentials$/) do
@user = FactoryGirl.attributes_for(:user_1)
fill_in 'username', :with => @user[:username]
end
你应该可以这样做
Given(/^I will enter my credentials$/) do
@user = user = FactoryGirl.create(:user)
end
你可以阅读更多关于这个问题的内容https://stackoverflow.com/a/16841999/4421094真的很有帮助
我是cucumber和水豚的新手,我对以下错误感到困惑: 在我的功能中,我有: 我的步骤如下所示: 我尝试了“click(button\u text)和click\u link”方法。我想这可能是我没有看到的明显的东西。我试图找到按钮元素的css定位器,然后单击该元素。我认为regex不需要更改,因为我正在更改“button\u text”局部变量的内容。还是我?
我正在根据一个主要开发人员的请求编写一个自动化测试。 正在开发的网页的一部分是允许用户提取数据的csv。在过去,CSV中的报头排序存在许多缺陷。 我需要打开csv,将头转换成一个数组,并与我创建的预期头的数组进行比较。 我已经读过Ruby2.0中的CSV文档,但我对Ruby还是个新手,我正在努力弄明白这一切的意义。 因此,期望csv中的第一个头eql我自己的数组中的第一个头。 我如何将csv文件头
我用cucumber配水豚和硒-WebDriver。到目前为止,我一直使用Chrome,但该项目也要求对Firefox进行一些跨浏览器测试。 在Firefox中运行时,我只是得到一个空白窗口,网页不出现。
将firefox更新到48版,但它给出了以下错误。任何帮助如何解决它: Selenium::WebDriver::错误::WebDriver错误:无法在60秒内从/library/ruby/gems/2.0.0/gems/selenium-webdriver-2.52.0/lib/selenium/webdriver/firefox/launcher获得稳定的firefox连接(127.0.0.1
我正在为我的Rails代码库编写一个测试套件,并试图使用Capybara单击一个搜索图标,检查搜索字段是否出现。然而,由于Capybara找不到CSS元素“search\u icon”,测试一直失败。我试过使用和