본문 바로가기

컴퓨터

Karate : karate에 http-request 후크가 있으며, API 호출마다 자동으로 호출되며 누구의 동작을 수정할 수 있습니까?

모든 가라테 기능 파일에서 만드는 모든 HTTP 요청에 대한 출력 파일에 request-body, request-method & response-body를 작성하는 일반적인 구현을 원합니다.

설명서를 읽었으며 가장 가까운 옵션은 afterScenario 후크였습니다. 그러나 이것은 동일한 시나리오에서 여러 API 호출을 수행하려는 경우에 도움이되지 않습니다.

또한 karate.prevRequest내가 작성한 Java 함수에 객체를 전달 하여 객체를 사용해 보았습니다 . 이것은 내가 원하는 정보를 캡처하는 데 도움이되지만 API 호출이 끝날 때마다 Java 함수를 계속 호출해야하므로 원하지 않습니다.

모든 API 호출 후 호출되는 후크를 작성하고 요청 본문, 요청 헤더, 응답 헤더, 응답 본문, 요청 메소드 및 요청 URL에 대한 액세스 권한을 부여하고 싶습니다.

이것은 상당히 간단해야합니다. 분명히 여기에 뭔가 빠진 것 같습니다.

자동 테스트
카라테
웹 API 테스트
직관
공유 이 질문을 개선 따르다
생성 27 nov.

parth6
3574은색 배지 4 개17청동 휘장 17 개
의견을 추가하다
2 개의 답변

첫째, 개인적으로 이것이 Karate의 오용이라고 생각하며 실제로 테스트를 수행하는 것보다 보고서에 더 관심이있는 것 같습니다. 그것에 대해 생각할 시간을 가지십시오. Karate는 뛰어난 보고서 통합 기능을 가지고 있으며 당신은 제 매우 정직하고 진지한 의견으로 이것을하는 데 시간을 낭비하고 있습니다. 아무도 이것을 요구하지 않았습니다.

어쨌든. ExecutionHook0.9.5.RC4 의 새로운 기능 이 있습니다. 자세한 내용은 다음을 참조 하십시오. https://github.com/intuit/karate/issues/970#issuecomment-557443551

을 구현 afterStep하고 method단계 인지 확인한 다음이를 수행 할 수 있습니다. 변경이 필요한 경우 문제를 엽니 다.

편집 : 방금 기억했습니다- develop지점 에서 모든 요청과 응답을 가로채는 방법을 추가했습니다 : https://twitter.com/karatedsl/status/1195240779213496320- 피드백을 받고이 개념을 후크 위-또는 필요한 경우 인터페이스 개선

편집 : 대부분의 경우 afterScenario충분할 수 있습니다. 모든 Karate 기능을 호출 할 수 있습니다. 즉, HTTP 요청을 수행 할 수 있습니다. https://stackoverflow.com/a/51467470/143475

공유 이 답변을 개선 따르다
편집 된 시간 7 분 전
생성 28 nov.

피터 토마스
35.3k77 개의 금 휘장40은색 배지 40 개124브론즈 배지 124 개
의견을 추가하다

1

ExecutionHook지원은 꽤 많은 다른 사용 사례.

단계를 중단하거나 변경할 수 있습니다.

요청 및 응답을 스니핑 할 수 있습니다.

.NET Framework 를 사용하는 방법 은 ExecutionHookExampleTest 를 참조하세요 ExecutionHook.