Я тестирую свое приложение Zend Framework, используя Selenium и PHPUnit.У меня есть тест, который должен открыть URL-адрес, содержащий закодированный URL-адрес.
$redirectToLocation = urlencode('/myothercontroller/action'); // %2Fmyothercontroller%2Faction
$this->openAndWait('/controller/action/thenRedirectTo/' . $redirectToLocation);
Но при запуске теста браузер попытался открыть декодированный URL-адрес:
/controller/action/thenRedirectTo//myothercontroller/action
Чтоя должен сделать, чтобы получить селен, чтобы открыть закодированный URL?
Обновление: На самом деле ... оказывается, что селен выполняет свою работу, но кажется, что Apache декодирует URL перед этимполучает к контроллеру:
The requested URL /controller/action/thenRedirectTo//myothercontroller/action was not found on this server.
Как мне решить эту проблему?
Обновление: Вот целый разговор о той же проблеме, что и у меня: http://old.nabble.com/URL-Encoding-td18850769.html. Их обходной путь состоял в том, чтобы base64 закодировать URL, но для меня этого недостаточно.Я могу использовать это решение в краткосрочной перспективе, но я хочу знать, какова реальная причина этой проблемы, поэтому я могу устранить ее.
Обновление: У меня есть сотрудниккто думает, что может быть проблема с тем, как Zend Framework направляет запрос.Как вы думаете, это может быть так?