Кодирование символов каркаса в URL - PullRequest
1 голос
/ 30 января 2020

У меня есть это:

Background:
    * url 'http://localhost:15672/api/exchanges/%2F/my_exchange'

Scenario:
    Given path 'publish'

Проблема здесь в том, что URL-адрес разрешается как:

http://localhost:15672/api/exchanges///my_exchange/publish

вместо:

http://localhost:15672/api/exchanges/%2F/my_exchange/publish

Спасибо

Отредактировано:

Я уточню вопрос.

Я загрузил очень простой проект здесь: https://github.com/italktothewind/karate-encoding

Имеется прослушивание прослушивания /bar/%2F/foo

Эта функция работает:

Feature: Working example

    Scenario:
        Given url 'http://localhost:1081/bar/%2F/foo'
        When method get
        Then status 200

Но эта функция не работает (я поставил @ игнорировать флаг в проекте, чтобы его можно было успешно построить):

Feature: Non working example

Background:
    * url 'http://localhost:1081/bar/%2F'

Scenario:
    Given path 'foo'
    When get
    Then status 200

Разница между этими двумя функциями заключается в использовании url и path.

1 Ответ

2 голосов
/ 30 января 2020

Работает для меня:

* url 'https://httpbin.org/anything/%2F/my_exchange'
* method get

И в журнале:

1 > GET https://httpbin.org/anything/%2F/my_exchange
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Host: httpbin.org
1 > User-Agent: Apache-HttpClient/4.5.11 (Java/1.8.0_231)

РЕДАКТИРОВАТЬ: если у вас нетрадиционные URL-адреса, общая рекомендация в каратэ - использовать только url (не используйте path): { ссылка }

...