空手道 API 测试 - 转义“?” 在功能文件的网址中

Sau*_*abh 2 cucumber gherkin cucumber-java karate

我正在使用来自 Karate API 框架的path关键字来连接字符串以形成一个 url。但是,我无法通过“?”。这是我在做什么:

 Background: 
    * url 'https://api.cloud.abcde.com/animal/'

 Scenario: Verify the get status
    Given path 'herbivore?id=25'
    When method get
    Then status 200
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,我看到“?” 作为 %3F 传递。我试图使用 \ 来逃避它,并尝试了其他一些答案,但没有成功。我需要使用 url 编码吗?任何指示或帮助将不胜感激。谢谢

Pet*_*mas 6

您应该param在这种情况下使用:

Scenario: Verify the get status
    Given path 'herbivore'
    And param id = 25
    When method get
    Then status 200
Run Code Online (Sandbox Code Playgroud)

  • 如果您遇到@Saurabh 的错误,请记住在您的查询参数名称、相等运算符和值之间留有空格。例如 id=25 将失败。id = 25 是正确的方法。 (2认同)