web-dev-qa-db-ja.com

カピバラの現在のパスで完全なURLを取得する方法

カピバラでテストを書くのは初めてで、現在のページのURLを取得するのに問題があります。私はこのように書いた:

url = page.current_url + page.current_path

どういうわけか、ベースURLを返すだけです。ヘルプは大歓迎です。

26
cloudrunner

これを試して:

url = URI.parse(current_url)
31
Severin

from capybara session doc
現在のページの完全修飾URL

def current_url
  driver.current_url
end

ドメイン情報なしの現在のページのパス

def current_path
  URI.parse(current_url).path
end

あなたがしていることは正しくないと思う

12
Зелёный

have_current_pathを使用できます:

expect(page).to have_current_path(new_user_path)

私が次のようなことをしているのを見る前に:

  def current_path
    current_uri = URI.parse(page.current_url)
    current_path = current_uri.path
    current_path += "?#{current_uri.query}" if current_uri.query.present?
    current_path
  end
1
localhostdotdev