Postman에서 parameterized test하기
10684 단어 parameterizedtesttestPostmanapi
동기 부여
Postman에서 API를 두드릴 때 매개 변수와 요청 본문에 변형을 갖고 여러 번 실행하고 싶은 경우가 있으므로 어떻게든하고 싶습니다.
이 기사에서 할 일
fake REST API를 만들고 GET을 실행합니다 (테스트도 작성).
그렇다면 .csv 파일에서 여러 매개 변수를 설정하고 그만큼 API를 두드린다.
이번 구성
fake REST API를 만들고 GET을 실행합니다 (테스트도 작성).
그렇다면 .csv 파일에서 여러 매개 변수를 설정하고 그만큼 API를 두드린다.
이번 구성
절차
json-server 설치
npm install -g json-server
API를 두드릴 때 검색할 데이터를 .json 파일로 생성
db.json{
"posts": [
{ "id": 1, "title": "json-server1", "author": "typicode" },
{ "id": 2, "title": "json-server2", "author": "typicode" },
{ "id": 3, "title": "json-server3", "author": "typicode" },
{ "id": 4, "title": "json-server4", "author": "typicode" },
{ "id": 5, "title": "json-server5", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
],
"profile": { "name": "typicode" }
}
json-server 시작
db.json이 저장된 디렉토리에서 다음 명령을 실행합니다.
json-server --watch db.json
Postman을 시작하고 요청 및 테스트, 환경 변수 작성
환경 변수:
요청 및 테스트:
test.jsvar jsonData = pm.response.json();
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("idの値がリクエスト通りである", function () {
pm.expect(jsonData.id).to.eql(parseInt(pm.iterationData.get("id")));
});
pm.test("titleの値がリクエスト通りである", function () {
pm.expect(jsonData.title).to.eql(pm.iterationData.get("title"));
});
pm.test("authorの値がリクエスト通りである", function () {
pm.expect(jsonData.author).to.eql(pm.iterationData.get("author"));
});
테스트 데이터가 포함된 .csv 파일 만들기
test-data.csvid,title,author
1,json-server1,typicode
2,json-server2,typicode
3,json-server3,typicode
4,json-server4,typicode
5,json-server5,typicode
collection runner에서 .csv 파일 로드
API를 두드리는
collection runner의 Run json-server 버튼을 클릭하면 실행이 시작됩니다.
이번에는 test-data.csv에 5건분의 파라미터를 설정하고 있기 때문에 요청이 5회 실행된다.
따라서 실행 결과에 Iteration 1에서 5까지 표시되어 있으면 성공.
또한 각 반복에서 테스트가 통과하면 OK.
참고문헌
npm install -g json-server
{
"posts": [
{ "id": 1, "title": "json-server1", "author": "typicode" },
{ "id": 2, "title": "json-server2", "author": "typicode" },
{ "id": 3, "title": "json-server3", "author": "typicode" },
{ "id": 4, "title": "json-server4", "author": "typicode" },
{ "id": 5, "title": "json-server5", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
],
"profile": { "name": "typicode" }
}
json-server --watch db.json
var jsonData = pm.response.json();
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("idの値がリクエスト通りである", function () {
pm.expect(jsonData.id).to.eql(parseInt(pm.iterationData.get("id")));
});
pm.test("titleの値がリクエスト通りである", function () {
pm.expect(jsonData.title).to.eql(pm.iterationData.get("title"));
});
pm.test("authorの値がリクエスト通りである", function () {
pm.expect(jsonData.author).to.eql(pm.iterationData.get("author"));
});
id,title,author
1,json-server1,typicode
2,json-server2,typicode
3,json-server3,typicode
4,json-server4,typicode
5,json-server5,typicode
Reference
이 문제에 관하여(Postman에서 parameterized test하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hideshis/items/39ca826d1089bffc001d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)