프로젝트 소개

Saucery는 클라우드 기반 테스트 플랫폼인 SauceLabs와 자동화된 테스트를 통합하는 데 필요한 모든 배관 작업을 처리하는 오픈소스 .NET 라이브러리입니다. 개발자가 테스트하려는 대상을 지정할 수 있도록 하면서, Saucery가 SauceLabs 연결과 Appium 및 Selenium 4+용 다양한 실제 및 에뮬레이션 플랫폼에서 테스트를 실행하는 기술적 세부 사항을 관리하여 프로세스를 단순화합니다. 이 프로젝트는 인기 있는 테스트 프레임워크에 맞춘 여러 패키지를 제공합니다: - **Saucery.Core**: DesiredOption 팩토리와 플랫폼 구성을 제공하는 핵심 라이브러리. - **Saucery**: NUnit용 통합. - **Saucery.XUnit**: XUnit용 통합. - **Saucery.TUnit**: TUnit용 통합. - **Saucery.XUnit.v3**: XUnit v3용 통합. - **Saucery.NuGet**: NuGet 패키지 업그레이드 및 버전 관계를 관리하기 위한 글로벌 .NET 도구. 주요 기능은 다음과 같습니다: - **플랫폼 범위 확장**: 각 버전을 개별적으로 지정하지 않고도 여러 브라우저 버전에서 테스트를 실행할 수 있는 고유한 기능입니다. 예를 들어, `new DesktopPlatform(SauceryConstants.PLATFORM_WINDOWS_11, SauceryConstants.BROWSER_CHROME, "100->119")`는 Windows 11 Chrome 버전 100부터 119까지에서 테스트합니다. - **실제 디바이스 지원**: Saucery는 에뮬레이션 플랫폼 외에도 실제 디바이스에서의 테스트를 지원합니다. - **프로젝트 템플릿**: 각 테스트 프레임워크용 빠른 시작 템플릿으로, `dotnet new` 명령으로 쉽게 설정할 수 있습니다. - **CI/CD 통합**: SauceLabs 자격 증명에 환경 변수나 시크릿을 사용하여 GitHub Actions 파이프라인에서 테스트 실행을 지원합니다. 설정에는 SauceLabs 계정이 필요하며, 로컬 테스트를 위한 환경 변수(SAUCE_USER_NAME 및 SAUCE_API_KEY) 설정 또는 파이프라인 실행을 위한 GitHub 시크릿 설정이 필요합니다. 이 프로젝트는 12년 이상 개발되어 왔으며 활발히 유지 관리되고 있고, 자체 테스트도 SauceLabs에서 실행됩니다.