我想在我的Rails应用程序的Capybara测试套件中使用rspec模拟来阻止登录用户(使用Devise/Warden)。这将节省大量时间,并且意味着我的测试套件可以/将会定期运行。以前,我可以使用authlogic来完成此操作,方法是使用如下代码删除我的session模型:deflogin(user)user_session=mock_model(UserSession,{:user=>user})UserSession.stub(:find).and_return(user_session)end现在我正在使用Devise,我不再有权访问UserSession对象。由于我正在使用
我在RSpec中遇到了这个错误。have_selector是否有任何文档解释选项哈希中的每个键及其具体作用?invalidkeys:content,shouldbeoneof:text,:visible,:between,:count,:maximum,:minimum,:exact,:match,:wait 最佳答案 capybara为rspec提供了这个方法。capybara'sdocs不要轻易找到问题的答案,所以让我们按照来源:have_selector在Capybara::RSpecMatchers中。它委托(delegat
以下效果很好:find"img[src='https://www.example.com/image']"但是我也想找find"img[src='https://www.example.com/image?foo=bar']"如何在查找器的属性中使用正则表达式? 最佳答案 您可以使用^=检查属性是否以特定值开头:find("img[src^='https://www.example.com/image']")文章,TheSkinnyonCSSAttributeSelectors,描述了各种检查(等于、开始于、结束于等):#Equal
我需要获取隐藏元素的值。我尝试了以下代码:page.find(:xpath,"//span[@id='sample']").text它返回零。 最佳答案 您可以简单地找到隐藏的元素并获取它的值。find('#sample',visible:false).value很简单;) 关于ruby-如何获取capybara中的隐藏元素值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15
当使用带有Rspec的capybara-webkit测试失败时,如何自动保存html和屏幕截图?如何在RSpec测试失败时执行回调。奖励积分:如何避免出现以下错误:Capybara::Driver::Webkit::WebkitInvalidResponseError执行这段代码时:require'capybara/util/save_and_open_page'path="/#{Time.now.strftime('%Y-%m-%d-%H-%M-%S')}"png=Capybara.save_and_open_page_path+"#{path}.png"page.driver.re
我试图在Cucumber步骤中获取cookie值:步骤定义When/^Ilogin$/do#codetologinendThen/^cookiesshouldbeset$/docookies[:author].should_notbe_nilendControllerclassSessionsController但它不起作用:结果expected:notnilgot:nil在RSpec示例中,一切正常:Controller规范require'spec_helper'describeSessionsControllerdodescribe'create'doit'setscookies'
我希望这些测试不会“失败”,而是被标记为待定。也许我没有专门为capybara使用pending或correct指令?feature'TenantScoping'doscenario"displaysonlyTenantA'sthings"dopendingendscenario"displaysonlyTenantB'sthings"dopendingendend这是运行时的输出:TenantScopingdisplaysonlyTenantA'sthings(FAILED-1)displaysonlyTenantB'sthings(FAILED-2)Failures:1)Tenan
我使用rspec2.6.0和Capybara1.1.1进行验收测试。具有如下View:Team3NametrueShowEditDeactivateTeam4NametrueShowEditDeactivate我想编写一个验收测试,声明:“团队3没有‘停用’链接。”我希望以下操作失败:within('tr',:text=>'Team3Name')do|ref|page.should_nothave_selector('a',:text=>'Deactivate')end但它过去了。为了进一步测试发生了什么,我写了荒谬的:lock=falsewithin('tr',:text=>'Tea
我尝试测试我的项目。它以前是工作的,我不知道每当我输入bundleexecrspecspec/时我做了什么,它说cannotloadsuchfile--capybara/rspec(LoadError).我需要一个建议,作为新手,我需要一个建议来测试我在rubyonrails中的MVC。Gemfile:------------group:testdo#Prettyprintedtestoutputgem'turn',:require=>falsegem'minitest'gem'capybara','1.1.2'gem'rb-inotify','0.8.8'gem'libnotif
我需要在Rails应用程序中运行capybara-webkit以启用带有JavaScript支持的headlessWeb浏览(即不用于测试/CI目的,webrat或其他验收测试驱动程序/框架将不起作用)。我想知道这在Heroku部署中是否可行,特别是因为它需要QtWebKit以及通过套接字通信forkwebkit_server进程的能力。我愿意接受关于如何在Heroku上进行这项工作的创造性想法(例如,一组workerdynos)。我希望有人能更好地处理Heroku环境中存在的限制,或者可以断然排除这种可能性,这样我就可以在必要时转向AWSEC2。搜索这个往往会发现很多关于CI服务器的