


요청할때 필요한 Headers , Body 값을 입력 후
Script를 작성한다.
const runId = "<runId>";
const caseId = "<caseId>";
const testrailInstance = "<instance주소>";
const testrailUsername = "<테스트레일 아이디>";
const testrailApiKey = "<테스트레일 api>";
const responseStatusCode = pm.response.code;
const isStatusCodeCorrect = responseStatusCode === 200;
const statusId = isStatusCodeCorrect ? 1 : 5; // 1: pass 5: fail
// 상태 코드 검증
if (!isStatusCodeCorrect) {
const comment = "응답실패 , 응답상태 : " + responseStatusCode;
pm.test(comment, function () {
pm.expect(isStatusCodeCorrect).to.be.true;
});
} else {
pm.test("API 응답 200 성공", function () {
pm.response.to.have.status(200);
});
}
// testrail 응답
pm.test("testrail 전송 결과", function () {
// 테스트 결과를 TestRail에 전송
const testrailComent = "관리자 로그인 API 응답 상태:" + pm.response.code;
pm.sendRequest({
url: `https://`+ testrailInstance +`/index.php?/api/v2/add_result_for_case/${runId}/${caseId}`,
method: 'POST',
header: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(testrailUsername +':'+ testrailApiKey)
},
body: {
mode: 'raw',
raw: JSON.stringify({
status_id: statusId,
comment: testrailComent
})
}
}, function (err, res) {
if (err) {
console.log("Error: ", err);
} else {
console.log("Response: ", res);
}
});
});
스크립트 작성후 요청 시

Testrail 에서
응답 상태가 200 이면 Passed
응답 상태가 200 이 아닐시 Failed
결과가 바뀌는걸 볼수 있다.
응답 상태만 검증이 아닌 원하는 데이터가 정상적으로 응답하는지 확인하는 코드 추가
// 원하는 응답 데이터
const expectedData = {
"key1": "value1",
"key2": "value2"
...
};
// 응답 데이터 검증
pm.test("응답 데이터 맞는지 확인", function () {
const responseData = pm.response.json();
// 데이터 검증 로직
const isDataCorrect = responseData.key1 === expectedData.key1 && responseData.key2 === expectedData.key2;
const statusId = isDataCorrect ? 1 : 5; // 1: Passed, 5: Failed
const comment = isDataCorrect ? "PASS" : "Fail";

유효한 관리자 정보로 Post 요청 시 Passed
유효하지 않은 관리자 정보로 Post 요청 Failed
결과가 잘 나오는걸 볼수 있다.