红宝石 – 黄瓜和水豚,如何打开外部网址或访问外部网址
发布时间:2020-12-16 20:10:12 所属栏目:百科 来源:网络整理
导读:我正在使用黄瓜和水豚.在rails 3.0.9平台上.我得到这个测试案例失败: 日志是: (::) failed steps (::)No route matches "/wiki/Baltimore_Ravens" (ActionController::RoutingError)internal:prelude:10:in `synchronize'./features/step_definitions/web_
我正在使用黄瓜和水豚.在rails 3.0.9平台上.我得到这个测试案例失败:
日志是: (::) failed steps (::) No route matches "/wiki/Baltimore_Ravens" (ActionController::RoutingError) <internal:prelude>:10:in `synchronize' ./features/step_definitions/web_steps.rb:20:in `/^(?:|I )am on (.+)$/' features/annotate.feature:7:in `Given I am on a web page' Failing Scenarios: cucumber features/annotate.feature:11 # Scenario: launch annotation/ logged in 6 scenarios (1 failed,5 skipped) 63 steps (1 failed,62 skipped) 文件web_steps:得到这段代码: 19 Given /^(?:|I )am on (.+)$/ do |page_name| 20 visit path_to(page_name) 21 end 文件annotate.feature得到这个代码: 7 Given I am on a web page “web页面”在support / paths.rb中定义为: when /a web page/ 'http://en.wikipedia.org/wiki/Baltimore_Ravens' 显然这是一个外部网址.我想打开它,水豚和黄瓜不允许我这样做.所以,帮我找一个打开外部url的方法在黄瓜测试用例! 解决方法
Capybara使用RackTest作为默认驱动程序,此驱动程序不允许访问外部URL(即测试远程应用程序).
如果您想访问外部网址(要测试,例如您的应用程序重定向正确),您基本上有两个选项: 1 /使用其他驱动程序,例如硒: before do Capybara.current_driver = :selenium end 然后,在代码中,您可以像这样调用url: visit 'http://en.wikipedia.org/wiki/Baltimore_Ravens' 或者,如果您设置默认的app_host像这样: Capybara.app_host = 'http://en.wikipedia.org' Capybara.run_server = false # don't start Rack 然后你可以调用url: visit '/wiki/Baltimore_Ravens' 您可以在spec_helper.rb中配置驱动程序和应用程序主机,以便在所有规范中全局启用它们: Capybara.configure do |config| config.current_driver = :selenium config.run_server = false config.app_host = 'http://en.wikipedia.org' end 2 /使用capybara-mechanize (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |