이번 포스트는 그 동안 했던 API 자동화 내용을 Allure Report를 사용하여 시각화하여 한 눈에 볼 수 있게 해보겠습니다.
Allure Report는 소프트웨어 테스트 자동화 도구로, 테스트 결과를 시각적으로 쉽게 이해할 수 있도록 제공하는 리포트 툴입니다. 주로 테스트 자동화 프레임워크인 JUnit, TestNG, Cucumber 등과 함께 사용되며, 테스트 실행 후 발생한 결과를 그래픽과 함께 보여주는 HTML 형식의 리포트를 생성합니다.
위 예시처럼 한 눈에 볼 수 있어서 테스터 입장에서 편하게 보고서를 작성하거나 앞으로의 계획을 짤 때 유용하게 사용할 수 있습니다.
Jenkins에서 Allure 리포트를 보기 위해 Allure Plugin을 설치해야 합니다.
설치 완료 후 brew services restart jenkins
를 합니다.
그 다음, Tools -> Allure Commandline installations에서 위와 같이 설정을 해줍니다.
원하는 Item 설정에 진입하여 Execute Shell에 npm install -g newman-reporter-allure
입력 후 하단 빌드 후 조치에는 Allure Report 위와 같이 추가해줍니다.
allure-results
는 Newman이 생성한 결과 디렉토리입니다.
마지막으로, Save 후 지금 빌드 클릭
newman run <자신의 Postman API 파일>.json -e <만약 Postman 환경 파일이 있다면>.json -r allure
Execute Shell에 위와 같이 설정이 완료되면 저장을 클릭하고, 지금 빌드 버튼을 클릭하여 빌드를 실행합니다.
Jenkins 빌드가 완료된 후 Allure Report 링크를 클릭하여 테스트 실행 결과를 확인할 수 있습니다.
위와 같이 시각적으로 볼 수 있으며 수행 했던 테스트 케이스들을 확인 해 볼 수 있습니다. 리포트는 성공 / 실패한 테스트, 응답 시간, 상세 로그 등을 시각적으로 제공합니다.
테스트를 진행 하다가 이상한 점을 찾았다. 테스트를 계속 진행 할때마다 테스트케이스 순서가 꼬이고 중복으로 여러 개 진행되는 현상을 발견한 것이다.
테스트 케이스는 늘지 않았는데 계속 늘어나는 것이다... 중복으로 저장되는 것이 문제인가 해서 terminal로 ../allure-results
를 지운 후 다시 했더니 12개로 정상적으로 나오는 것을 확인했다.
근데 이 내용을 계속 지우는 게 정답일리는 없고... 참 애매했지만 일단 rm -rf allure-results
명령어를 추가하여 매번 빌드 할때 마다 지우고 진행하는 방법을 골랐다.
rm -rf allure-results
newman run <나의 파일>.json -r allure
추후에 다른 방법이 있는지 확인 해봐야겠다.
✔ CI/CD 파이프라인 자동화 : Jenkins에서 Postman API 테스트를 자동으로 실행하고 Allure 리포트를 생성하는 프로세스를 설정할 수 있습니다. 이를 통해 API 테스트를 지속적으로 자동화하여 품질을 관리할 수 있습니다.
✔ Jenkins 스크립트 : 위 과정은 Jenkins의 Freestyle Project로 설명했지만, Pipeline을 사용하여 더 세밀한 제어를 할 수 있습니다. Jenkinsfile을 사용하여 Newman 실행 및 리포트 생성 과정을 자동화할 수 있습니다.
확실히 가시성이 좋은 툴을 찾는 이유가 있는 것 같네요..!