Подтвердить что ты не робот

Как получить полный URL с текущим путем в Capybara

Я новичок в написании тестов в capybara, и мне не удается получить текущий URL-адрес страницы. Я написал это следующим образом:

url = page.current_url + page.current_path

Как-то его просто вернул базовый URL. Помощь очень ценится.

4b9b3361

Ответ 1

Попробуйте следующее:

url = URI.parse(current_url)

Ответ 2

из сессии капибара док:
Полноценный URL текущей страницы

def current_url
  driver.current_url
end

Путь к текущей странице, без информации о домене

def current_path
  URI.parse(current_url).path
end

Я думаю что то что ты делаешь не правильно

Ответ 3

Вы можете использовать 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