Я обнаружил, что, хотя пакет Selenium.WebDriver.ChromeDriver NuGet был загружен, и, следовательно, файл chromedriver.exe копировался в папку bin во время компиляции, дополнительно его необходимо пометить как элемент развертывания ( модульный тест, который был скопирован в / запущен из папки TestResults) - т.е.
[DeploymentItem (@ "chromedriver.exe")]
CGI :: parse (querystring)
преобразует строку запроса в хэш. Затем CGI :: unescape (string)
отменяет любую URL-кодировку в значении.
В качестве альтернативы вы можете использовать Rack :: Utils.parse_query
и Rack :: Utils.unescape
, если вы используете последнюю версию Rails на основе Rack и хотите быть суперсовременным.
Мне не известны какие-либо специальные вспомогательные методы Rails, которые обертывают эти служебные функции , но они довольно просты в использовании, и CGI или Rack в любом случае уже загружены в среду Rails.
Для этого вам нужен 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.