使用 url 参数时,在没有机架的情况下运行 Capybara 会产生错误

2024-07-03

这是我的设置,基于此建议:如何让 Cucumber/Capybara/Mechanize 与外部非轨道站点一起工作 https://stackoverflow.com/questions/15665106/how-to-get-cucumber-capybara-mechanize-to-work-against-external-non-rails-site

在我向 URL 添加参数之前它会起作用。关于解决这个问题有什么建议吗?

require 'rspec'
require 'capybara/rspec'
require 'capybara/dsl'

@test_url = "test"

RSpec.configure do |config|
  config.include Capybara::DSL
end

Capybara.configure do |config|
  config.run_server = false
  config.current_driver = :selenium
  config.app = "fake app name"
  config.app_host = "http://site.com/#{@test_url}"
end

这工作正常:

describe "the page, without URL parameters" do
  it "shows the regular form" do
    visit "/registration.aspx"
    page.should have_content "YES"    
  end
end

但是这个:

describe "the page, when not fully pre-filled" do
  it "shows the regular form if only passed the attendance" do
    visit "/registration.aspx?r=y"
    page.should have_content "YES"    
  end

  it "shows the regular form if only passed the attendance" do
    visit "/registration.aspx?f=Jim"
    page.should have_content "YES"    
  end

end

结果是

....FF

Failures:

  1) the page, when not fully pre-filled shows the regular form if only passed the attendance
     Failure/Error: visit "/registration.aspx?r=y"
     NoMethodError:
       undefined method `call' for "fake app name":String
     # ./conf_spec.rb:39:in `block (2 levels) in <top (required)>'

  2) the page, when not fully pre-filled shows the regular form if only passed the attendance
     Failure/Error: visit "/registration.aspx?f=Jim"
     NoMethodError:
       undefined method `call' for "fake app name":String
     # ./conf_spec.rb:44:in `block (2 levels) in <top (required)>'

您只能设置其中一项app and app_host。所以你应该删除config.app从配置。

你还应该设置default_driver代替current_driver.

正如我在链接问题中的回答所示,工作配置是:

Capybara.configure do |config|
  config.run_server = false
  config.default_driver = :selenium
  config.app_host = 'https://www.google.com' # change url
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 url 参数时,在没有机架的情况下运行 Capybara 会产生错误 的相关文章

随机推荐

  • 受歧视联合仅适用于文字类型吗?

    在下面的代码片段中 我无法使用typeof操作员 function f arg status number one boolean status string two boolean if typeof arg status number
  • 为什么在 Haskell 中我们需要 'seq' 或 'pseq' 和 'par' ?

    我试图理解为什么我们需要标准示例代码的所有部分 a par b pseq a b 为什么以下内容还不够 a par b par a b 上面的表达式似乎非常具有描述性 尝试评估两者a and b并行 并返回结果a b 仅仅是因为效率的原因吗
  • Kubernetes Ingress 后端子路径

    是否可以以任何方式将主机路径重定向到后端的子路径 类似如何subPaths https kubernetes io docs concepts storage volumes using subpath为批量工作 入口看起来像这样 apiV
  • Spring Security OpenID - UserDetailsS​​ervice、AuthenticationUserDetailsS​​ervice

    尝试了解使用 Spring Security 实现 OpenID 身份验证的正确方法是什么 public class OpenIDUserDetailsService implements UserDetailsService Authen
  • Filer 的原始元素有用吗?

    我正在开发一个 Java 程序 Dagger https github com square dagger 使用 Java 注释处理 API 生成代码 当我们的程序遇到注释时Foo java 它生成Foo InjectAdapter jav
  • 将多个实现隐藏在单个接口后面

    我了解策略和抽象工厂设计模式 但它们不能解决我当前的问题 我正在创建一个提供非常基本的 GUI 的 C 库 不过 我希望用户能够在编译时选择使用哪个 GUI 库 例如 Qt 或 FLTK 来实际渲染 GUI 然而 用户应该只需要了解我的库中
  • FlyingSaucer LTR/RTL/BiDi 阿拉伯语文本问题

    我正在使用飞碟 xhtmlrenderer 来构建 pdf 文档 到目前为止一切正常 现在我们应该在 pdf 中生成阿拉伯文本 Xhtmlrenderer 正在以相反的顺序呈现阿拉伯文本 我在互联网上的某个地方 也许在他们自己的网站上 读到
  • 简单的聊天机器人项目[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想要做的是构建一个简单的机器人 它将数据库中存储的一组信息发送到我的Messenger聊天窗口 聊天
  • PHP 将 Windows-1256 编码文本转换为 UTF-8

    我从网络获取 Windows 1256 编码文本 需要将其转换为 utf 8 我尝试使用 mb convert encoding 和 iconv 但它们似乎不起作用 它们似乎都不能处理 windows 1256 怎么做 Edit 有关错误的
  • Google AppEngine 端点错误:获取服务配置失败(状态代码 404)

    我正在执行中的步骤快速开始 https cloud google com endpoints docs frameworks python quickstart frameworks python 我确实注意到了另一个问题 https st
  • R ggplot2 图例内的图例

    因此 我有以下 data frame 并且我想在一张图中为每个 zval 和类型 tp 生成 yval 与 xval 的两个图 左边 gt df xval yval se zval cond 1 1 0 1 831564e 02 1 831
  • Android - 将 AppWidget 添加到 Activity

    我的最初目标是将 Google 搜索小部件添加到活动的线性布局中 我需要将其包含在启动器中 就像它在启动器中显示和工作一样 这就是为什么我需要能够添加小部件 我想将小部件添加到我的活动中 而无需启动小部件选择器活动 我尝试过了 1 直接指定
  • HttpHeaders.TryAddWithoutValidation 是否验证?

    我对这个函数的名称有点困惑 为什么不只是TryAdd 它没有验证什么 如果我使用这个函数 在某些情况下它还会抛出异常吗 我可以以某种方式 尝试添加 而不会出现任何异常 并且如果失败则仅返回 false 吗 编辑 我认为这两个问题是相互矛盾的
  • 通过 Google Cloud Dataflow 创作/写入分区 BigQuery 表

    我想利用时间分区表的新 BigQuery 功能 但我不确定目前在 Dataflow SDK 1 6 版本中是否可以实现这一点 看着BigQuery JSON API https cloud google com bigquery docs
  • 调用 COM 类的非默认构造函数

    我有一个 DLL 用 C 编写 其中包含一个带有 2 个构造函数的类 一个默认 无参数 构造函数 另一个有 3 个参数的构造函数 在VBscript中 我想调用第二个构造函数 但是CreateObject只收到一个classValue参数
  • 如何在 Ubuntu 中部署 gSOAP Web 服务?

    我对 Ubuntu 中 Web 服务的部署有疑问 它是使用 gSOAP 实现的 应该进行部署 例如可以从网站 例如 ASP NET 开发的 访问 我对整个 CGI Ubuntu Apache 主题感到困惑 到目前为止 我能够在 ASP NE
  • 使用 JavaScript 进行电子邮件验证[重复]

    这个问题在这里已经有答案了 可能的重复 在 Javascript 中验证电子邮件地址 https stackoverflow com questions 46155 validate email address in javascript
  • Laravel 5,尝试多文件上传,Request::file() 只返回最后一个文件?

    我正在尝试使用 Laravel 5 使用相同的密钥上传多个文件Request正面 根据我在其他地方读到的内容 正确的方法是调用Request file 不传递参数给 file method 但是 这似乎只返回请求中发送的最后一个文件 Hea
  • Eclipse 无法导入 javax.realtime

    我对java很陌生 只是开始使用Eclipse来运行一些实时java程序 我找不到javax realtime导入时 我收到错误 The import javax realtime cannot be resolved 知道如何解决这个问题
  • 使用 url 参数时,在没有机架的情况下运行 Capybara 会产生错误

    这是我的设置 基于此建议 如何让 Cucumber Capybara Mechanize 与外部非轨道站点一起工作 https stackoverflow com questions 15665106 how to get cucumber