Как я легко анализирую URL с параметрами в тесте направляющих?

Я обнаружил, что, хотя пакет Selenium.WebDriver.ChromeDriver NuGet был загружен, и, следовательно, файл chromedriver.exe копировался в папку bin во время компиляции, дополнительно его необходимо пометить как элемент развертывания ( модульный тест, который был скопирован в / запущен из папки TestResults) - т.е.

[DeploymentItem (@ "chromedriver.exe")]

18
задан James A. Rosen 27 May 2009 в 14:37
поделиться

2 ответа

CGI :: parse (querystring) преобразует строку запроса в хэш. Затем CGI :: unescape (string) отменяет любую URL-кодировку в значении.

В качестве альтернативы вы можете использовать Rack :: Utils.parse_query и Rack :: Utils.unescape , если вы используете последнюю версию Rails на основе Rack и хотите быть суперсовременным.

Мне не известны какие-либо специальные вспомогательные методы Rails, которые обертывают эти служебные функции , но они довольно просты в использовании, и CGI или Rack в любом случае уже загружены в среду Rails.

42
ответ дан 30 November 2019 в 05:49
поделиться

Для этого вам нужен Addressable .

uri = Addressable::URI.parse("http://example.com/?var=value")
uri.query_values # => {"var"=>"value"}
uri.query_values = {"one" => "1", "two" => "2"}
uri.to_s # => "http://example.com/?two=2&one=1"

Он автоматически обрабатывает все правила экранирования за вас, а также имеет некоторые другие полезные функции , например, не генерировать исключения для совершенно правильных, но непонятных URI, таких как встроенный парсер URI.

28
ответ дан 30 November 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: