запрос get возвращает 200 (ОК), но в части значения ответа отсутствует содержимое. значение [] пусто - PullRequest
0 голосов
/ 17 января 2020
Testing started at 12:17 PM ...
"C:\Program Files\Java\jdk-11.0.3\bin\java.exe" -Dorg.jetbrains.run.directory=C:\Users\E7VJ\source\repos\Karate_Practice\Karate_Practice\Karate_Practice\src\test\java\examples\private "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\lib\idea_rt.jar=63177:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\E7VJ\source\repos\Karate_Practice\Karate_Practice\Karate_Practice\target\test-classes;C:\Users\E7VJ.m2\repository\com\intuit\karate\karate-apache\0.9.4\karate-apache-0.9.4.jar;C:\Users\E7VJ.m2\repository\com\intuit\karate\karate-core\0.9.4\karate-core-0.9.4.jar;C:\Users\E7VJ.m2\repository\com\jayway\jsonpath\json-path\2.1.0\json-path-2.1.0.jar;C:\Users\E7VJ.m2\repository\net\minidev\json-smart\2.2\json-smart-2.2.jar;C:\Users\E7VJ.m2\repository\net\minidev\accessors-smart\1.1\accessors-smart-1.1.jar;C:\Users\E7VJ.m2\repository\org\ow2\asm\asm\5.0.3\asm-5.0.3.jar;C:\Users\E7VJ.m2\repository\info\cukes\cucumber-java\1.2.5\cucumber-java-1.2.5.jar;C:\Users\E7VJ.m2\repository\info\cukes\cucumber-core\1.2.5\cucumber-core-1.2.5.jar;C:\Users\E7VJ.m2\repository\org\yaml\snakeyaml\1.24\snakeyaml-1.24.jar;C:\Users\E7VJ.m2\repository\de\siegmar\fastcsv\1.0.3\fastcsv-1.0.3.jar;C:\Users\E7VJ.m2\repository\info\picocli\picocli\3.0.1\picocli-3.0.1.jar;C:\Users\E7VJ.m2\repository\org\apache\httpcomponents\httpclient\4.5.5\httpclient-4.5.5.jar;C:\Users\E7VJ.m2\repository\org\apache\httpcomponents\httpcore\4.4.9\httpcore-4.4.9.jar;C:\Users\E7VJ.m2\repository\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\E7VJ.m2\repository\org\apache\httpcomponents\httpmime\4.5.5\httpmime-4.5.5.jar;C:\Users\E7VJ.m2\repository\org\slf4j\jcl-over-slf4j\1.7.25\jcl-over-slf4j-1.7.25.jar;C:\Users\E7VJ.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\E7VJ.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\E7VJ.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\E7VJ.m2\repository\com\intuit\karate\karate-junit5\0.9.4\karate-junit5-0.9.4.jar;C:\Users\E7VJ.m2\repository\org\junit\jupiter\junit-jupiter-api\5.4.0\junit-jupiter-api-5.4.0.jar;C:\Users\E7VJ.m2\repository\org\apiguardian\apiguardian-api\1.0.0\apiguardian-api-1.0.0.jar;C:\Users\E7VJ.m2\repository\org\opentest4j\opentest4j\1.1.1\opentest4j-1.1.1.jar;C:\Users\E7VJ.m2\repository\org\junit\platform\junit-platform-commons\1.4.0\junit-platform-commons-1.4.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\plugins\junit\lib\junit-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.2\plugins\cucumber-java\lib\cucumber-jvmFormatter.jar" cucumber.api.cli.Main --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --name "^test 1$" --glue com.intuit.karate C:/Users/E7VJ/source/repos/Karate_Practice/Karate_Practice/Karate_Practice/src/test/java/examples/private/authorization.feature
Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
command: cucumber.api.cli.Main --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --name ^test 1$ --glue com.intuit.karate C:/Users/E7VJ/source/repos/Karate_Practice/Karate_Practice/Karate_Practice/src/test/java/examples/private/authorization.feature
Warning: Nashorn engine is planned to be removed from a future JDK release
12:17:37.101 [main] INFO com.intuit.karate - found scenario at line: 8 - ^test 1$
12:17:37.350 [main] INFO com.intuit.karate - karate.env system property was: null
12:17:38.307 [main] DEBUG com.intuit.karate - request:
1 > GET https://test.nonprod-cpas.com/api/Cap?%24select=ACCT_ID&%24filter=ENTR_ID+eq+%555544433244615555%27
1 > Accept-Encoding: gzip,deflate
1 > Authorization: deleted, can not share here but can help to debug it via hangout or zoom
1 > Connection: Keep-Alive
1 > Host: test.nonprod-cpas.com
1 > User-Agent: Apache-HttpClient/4.5.5 (Java/11.0.3)
1 > spring.jpa.show-sql: false

12:17:38.714 [main] DEBUG com.intuit.karate - response time in milliseconds: 404.78
1 < 200
1 < Connection: keep-alive
1 < Content-Length: 102
1 < Content-Type: application/json; odata.metadata=minimal; odata.streaming=true
1 < Date: Thu, 16 Jan 2020 19:17:38 GMT
1 < OData-Version: 4.0
1 < Server: Microsoft-HTTPAPI/2.0
1 < api-supported-versions: 1.0
{"@odata.context":"https://test.nonprod-cpas.com/api/$metadata#Cap(ACCT_ID)","value":[]}

12:17:38.716 [main] INFO com.intuit.karate - [print] {
"@odata.context": "https://test.nonprod-cpas.com/api/$metadata#Cap(ACCT_ID)",
"value": [
]
}

HTML report: (paste into browser to view) | Karate version: 0.9.4
file:/C:/Users/E7VJ/source/repos/Karate_Practice/Karate_Practice/Karate_Practice/target/surefire-reports/src.test.java.examples.private.authorization.html

это простой запрос get с параметрами $ select и $ filter. в Почтальоне все работает нормально, но в каратэ отображается пустое значение. У меня раньше была такая же проблема с Rest-Assured / Java Framework. но я мог бы это исправить, просто используя другую учетную запись пользователя для параметра фильтра. Я попробовал то же самое решение с каркасом карате, проверил 10 различных учетных записей пользователя для параметра $ filter, но все равно не получил значения в json

1 Ответ

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

Не могли бы вы сосредоточить свое внимание на url в каратэ. В нем происходит некоторое кодирование, например: %24, где должно быть $

Найдите время, чтобы прочитать это: { ссылка }

И попробуйте это :

* url 'https://test.nonprod-cpas.com/api/Cap?$select=ACCT_ID&$filter=ENTR_ID+eq+'5544433244615555'

И, кстати, если это решит вашу проблему - у вашего сервера есть ошибка - потому что он должен быть в состоянии обрабатывать закодированные URL-адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...