specflow reporting how generate test reports
Specflow 보고서 생성기 자습서 : Specflow에서 테스트 보고서를 생성하고 선택적 테스트를 실행하는 방법 :
시스템 수명주기의 어느 단계에서 소프트웨어 테스트가 수행되는지
이것에 모두를위한 Specflow 교육 자습서 , 우리는 피클을 사용하여 살아있는 문서 생성 이전 튜토리얼에서.
이 튜토리얼에서는 Specflow 프레임 워크로 작성된 테스트에 대한 보고서를 생성하는 다양한 기술에 대해 설명합니다.
생성되는 보고서 유형은 사용중인 테스트 실행기 유형에 따라 크게 달라집니다. 러너의 무료 및 유료 버전은 각각 장단점이 있습니다.
NUnit이 생성 한 테스트 출력 파일에서 HTML 보고서를 생성하기 위해 NUnit을 테스트 실행기로 사용하고 Specflow보고 템플릿을 조합하여 보고서를 만드는 방법에 대해 자세히 설명합니다.
학습 내용 :
Specflow보고
비디오보기: Specflow보고에 대한 비디오 튜토리얼보기
테스트 보고서 생성 – 전제 조건
테스트 보고서 생성을 시작하기 전에 모든 필수 구성 요소가 사용 가능하거나 설치되어 있는지 확인하십시오.
NUnit 테스트 실행기와 함께 Specflow 템플릿을 사용하는 YouTube 검색의 동일한 테스트 예제를 사용합니다. 보고서 생성을 시작하려면 Specflow 테스트를 실행하기위한 NUnit 콘솔이 필요합니다.
Windows 용 실행 패키지 파일을 다운로드하여 NUnit 콘솔 설치 여기 . NUnit-Console -3.9.0 MSI 패키지를 다운로드하고 다운로드 한 패키지 파일을 실행하여 NUnit 콘솔의 단계별 설치를 완료합니다.
성공적으로 설치되면 ProgramFiles 폴더에서 Nunit 폴더를 볼 수 있습니다.
아래 스크린 샷을 참조하십시오.
Specflow 보고서 생성은 NUnit과 동일한 방식으로 MSUnit과 같은 다른 프레임 워크에서도 작동합니다.
단계별 프로세스
#1) NUnit 콘솔을 사용하여 테스트를 실행하여 XML 보고서를 만듭니다.
- Visual Studio에서 SpecflowProject를 컴파일하고 생성 된 컴파일 오류 프로젝트 dll 파일이 없는지 확인합니다. 생성 된 DLL 파일은 Visual Studio 프로젝트의 Debug / Release 폴더에 있어야합니다.
- 이제 명령 프롬프트를 열고 NUnit 콘솔의 기본 위치로 이동합니다.
- Specflow 테스트를 실행하려면 다음 명령을 실행하십시오.
먼저 구문을 살펴 보겠습니다.
nunit3-console.exe 'result={PathToReportLocation};format=nunit2' {SpecflowProjectDllPath}
위의 명령이 실행되면 기능 파일의 모든 시나리오가 실행되기 시작하는 것을 볼 수 있습니다. 테스트 완료 후 NUnit 실행의 XML 결과 파일이 결과 위의 명령에서 매개 변수.
또한 Specflow의 현재 버전이 NUnit 3을 지원하지 않기 때문에 생성 된 보고서의 형식이 'NUnit2'로 선택되어 있습니다.이 지원이 사용 가능 해지면 보고서 형식 옵션을 제거 할 수 있습니다.
#두) 이제 specflow.exe 응용 프로그램을 사용하여 HTML 보고서를 만듭니다.
specflow.exe 애플리케이션은 NUnit에서 생성 한 XML 보고서에서 실행되며보기 좋은 HTML 보고서를 생성합니다. specflow.exe는 specflow가 설치된 프로젝트의 npm 패키지 폴더에있는 실행 가능한 응용 프로그램입니다.
Specflow 실행 파일을 찾으려면 아래 스크린 샷을 참조하십시오.
이 애플리케이션에서 생성 된 보고서는 HTML 형식이며 기능별로 그룹화 된 실행 된 시나리오의 요약을 포함합니다.
NUnit 콘솔 실행을 통해 생성 된 XML 보고서에서 HTML 보고서를 생성하려면 다음 단계를 실행하십시오.
- 명령 프롬프트를 열고 Specflow 실행 파일로 이동하십시오.
- 이제 아래 구문으로 명령을 실행하여 HTML 보고서를 생성하십시오.
specflow.exe nunitexecutionreport --ProjectFile {PathToProjectSln.csproj} --xmlTestResult {PathToNUnitReportXml} --OutputFile {DesiredPathToGenerateHtmlReport}
- 위의 명령이 실행을 완료하면 HTML 보고서가 지정된 폴더 위치에 생성되는지 확인합니다.
생성 된 보고서를 열고 다른 섹션을 살펴 보겠습니다. 보고서에 설명 된 중요한 섹션은 아래에 강조 표시되어 있습니다.
보시다시피 위의 보고서는 훨씬 읽기 쉽고 해석하기 쉬우 며 프로젝트의 모든 이해 관계자가 전체 테스트 실행 요약을 엿볼 수 있도록하는 데 유용합니다.
선택적 테스트 실행
매우 자주, 몇 가지 선택적 테스트 또는 전체 테스트 스위트의 하위 집합 또는 일부 특수 범주로 표시된 테스트를 실행해야합니다. 이 모든 것은 이전 기사에서 본 Specflow 태그를 통해 가능합니다 (기능 수준과 시나리오 수준 모두에서 적용 가능).
따라서 테스트의 하위 집합 만 실행하기 위해 Specflow 태그를 사용하여 이러한 시나리오를 표시 / 레이블 할 수 있으며 NUnit 콘솔 실행기를 통해 실행하는 동안 범주를 명령의 일부로 언급 할 수 있습니다.
선택적 테스트 실행을 수행하는 단계별 프로세스를 살펴 보겠습니다.
#1) Visual Studio 프로젝트를 열고 'selective'라는 이름의 태그 / 카테고리를 사용하여 선택적으로 실행하려는 시나리오 / 기능에 태그를 지정해 보겠습니다.
#두) 변경 사항이 적용되도록 솔루션을 컴파일하고 업데이트 된 변경 사항이 포함 된 새 DLL이 생성됩니다.
#삼) 이제 명령 프롬프트를 열고 NUnit 콘솔 애플리케이션으로 테스트를 실행하기 위해 위에서 언급 한 단계를 따릅니다.
# 4) NUnit 실행 파일은 테스트 필터를보고 지정된 필터와 일치하는 모든 테스트를 검색합니다. 우리의 경우 모든 기능 / 시나리오를 '선택적'범주와 일치시키고 해당 테스트 만 실행하려고합니다.
이 태그로 하나의 시나리오에 태그를 지정 했으므로 NUnit 테스트 실행기가 하나의 테스트 만 실행할 것으로 예상해야합니다.
nunit3-console.exe '--result={PathToReportFile};format=nunit2' --where 'cat == selective' {PathToSpecflowSeleniumProjectDll}
위에서 볼 수 있듯이 'cat == 선택적'과 같은 필터를 언급했습니다. NUnit 애플리케이션은이를 'selective'값이있는 카테고리 필터로 해석합니다.
# 5) 위의 명령 실행이 완료되면 콘솔에서 테스트 요약을 볼 수 있으며 NUnit에서 생성 한 XML 보고서도 볼 수 있습니다.
# 6) 이제 Specflow 실행 파일을 통해 HTML을 생성하는 단계에 따라 HTML 보고서를 만들 수 있습니다. 이것이 생성 된 HTML의 모습입니다.
NUnit이 방금 하나의 테스트를 실행 했으므로 생성 된 HTML 보고서에는 하나의 기능과 하나의 시나리오 만 표시되어야합니다.
HTML 보고서가 어떻게 생겼는지 살펴 보겠습니다.
결론
이 튜토리얼에서는 Specflow 실행 파일을 통해 HTML 보고서를 생성하는 것과 함께 Specflow 기능 테스트를 실행하는 다양한 방법을 살펴 보았습니다. 생성 된 보고서는 읽고 해석하기 쉽고 프로젝트의 모든 이해 관계자에게 유용합니다.
또한 Specflow 태그를 통해 전체 테스트 스위트가 아닌 테스트의 하위 집합을 실행하는 기술을 보았습니다.이 기술을 통해 NUnit은 특정 시나리오를 룩 / 필터링하고 지정된 필터 기준과 일치하는 시나리오 만 실행할 수 있습니다.
예정된 튜토리얼을 확인하여 Specflow에서 가장 자주 묻는 인터뷰 질문을 살펴보세요!
이전 튜토리얼 | NEXT 튜토리얼
추천 도서
- Specflow 기능 파일에 대한 Pickles로 살아있는 문서 생성
- TestLink를 사용하여 요구 사항을 관리하고, 테스트 케이스를 실행하고, 보고서를 생성하는 방법 – 자습서 # 2
- Selenium WebDriver에서 익스텐트 보고서 생성 가이드
- Android 앱용 Appium 테스트 생성
- 단계 인수 변환 및 Specflow 테이블
- Appium 테스트의 대규모 실행을 병렬로 실행하는 방법
- Eclipse 용 Appium Studio를 사용하여 Appium 테스트를 병렬로 실행
- Specflow 자습서 : BDD 도구에 대한 궁극적 인 가이드