다음을 통해 공유


테스트 엔진 제공자 이해(미리 보기)

테스트 엔진은 다양한 애플리케이션 유형에서 테스트를 지원할 수 있는 공급자 기반 아키텍처를 사용합니다. 각 공급업체는 특정 애플리케이션 유형에 최적화되어 있어 일관된 테스트 환경을 제공하는 동시에 효율적인 테스트 자동화가 가능합니다.

공급자란 무엇인가요?

공급자는 테스트 엔진 내의 특수 모듈로, 다양한 애플리케이션 유형과 상호 작용하는 데 필요한 세부 사항을 처리합니다.

  • 그들은 다양한 애플리케이션 기술을 테스트하는 복잡성을 추상화합니다.
  • 그들은 테스트 작업의 유형별 구현을 제공합니다.
  • 각 애플리케이션 유형에 맞게 인증 및 컨텍스트를 적절하게 처리합니다.
  • 그들은 테스트가 어떻게 실행되고 해석되는지 결정합니다.

제공자 유형

다음 섹션에서는 Test Engine에서 사용할 수 있는 다양한 유형의 공급자에 대해 설명합니다. 각 공급자는 특정 애플리케이션 시나리오에 맞춰 설계되어 웹 기반 및 API 기반 테스트를 위한 맞춤형 기능을 제공합니다.

웹 기반 제공자

웹 기반 공급자는 애플리케이션별 추상화를 추가하여 Playwright의 브라우저 자동화 기능을 확장하여 저수준 DOM 요소를 다루지 않고도 웹 애플리케이션을 더 쉽게 테스트할 수 있도록 합니다.

캔버스 애플리케이션 제공자

Canvas 애플리케이션 공급자(canvas)는 Power Apps 캔버스 애플리케이션 테스트를 위해 특화되었습니다.

  • 추상화 수준: 앱 제작 스튜디오에서 정의된 컨트롤 이름으로 작동합니다.
  • 기술: 브라우저 기반 자동화를 위해 Playwright 확장
  • 주요 역량:
    • 논리적 이름으로 캔버스 앱 컨트롤에 액세스합니다.
    • 캔버스별 컨트롤 유형 및 이벤트를 처리합니다.
    • 갤러리 제어 탐색 및 상호 작용을 지원합니다.

명령 예:

pac test run `
   --provider canvas `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value

캔버스 애플리케이션 테스트에 대해 자세히 알아보세요.

모델 기반 애플리케이션 제공자

모델 기반 애플리케이션 공급자(mda)는 모델 기반 애플리케이션을 위해 특별히 설계되었습니다. Dataverse

  • 추상화 수준: 양식, 뷰, 비즈니스 프로세스 흐름과 같은 모델 기반 애플리케이션 요소와 함께 작동합니다.
  • 기술: 브라우저 기반 자동화를 위해 Playwright 확장
  • 주요 역량:
    • 복잡한 모델 기반 앱 인터페이스를 탐색합니다.
    • 양식 데이터 입력 및 검증을 처리합니다.
    • 엔터티 레코드 작업을 지원합니다

명령 예:

pac test run `
   --provider mda `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=account"

모델 기반 애플리케이션 테스트에 대해 자세히 알아보세요.

API 기반 공급자

API 기반 공급자는 브라우저 인터페이스를 사용하지 않고도 백엔드 서비스와 직접 상호 작용합니다.

Power Fx 공급자

Power Fx Provider(powerfx)를 사용하면 통합 테스트에 유용한 Power Fx 수식을 직접 실행할 수 있습니다. Dataverse

  • 인증: Azure CLI OAuth az login 명령을 통해 얻은 토큰을 사용합니다.
  • 기술: API 엔드포인트를 직접 호출 Dataverse
  • 주요 역량:
    • Dataverse 테이블에 대한 CRUD 작업을 수행합니다.
    • UI 상호 작용 없이 비즈니스 로직을 실행합니다.
    • 집중된 통합 테스트를 가능하게 합니다.

명령 예:

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

확장 프로그램 테스트에 대해 자세히 알아보세요. Dataverse

기술 구현

다음 섹션에서는 테스트 엔진 공급자를 위한 기본 아키텍처, 인증 흐름 및 Dataverse 통합에 대해 설명합니다. 이러한 세부 사항을 이해하면 특정 테스트 요구 사항에 맞게 공급자를 구성하고 확장하는 데 도움이 됩니다.

건축

테스트 엔진의 공급자 아키텍처는 계층적 접근 방식을 따릅니다.

  1. 핵심 엔진 계층: 모든 공급자 간에 공유되는 기능을 포함합니다.
  2. 공급자 계층: 애플리케이션별 테스트 논리를 구현합니다.
  3. 인증 계층: ID 및 보안 컨텍스트를 처리합니다.
  4. 확장 계층: 사용자 정의 기능을 추가할 수 있습니다.

인증 흐름

공급자는 요구 사항에 따라 다양한 인증 흐름을 사용합니다.

  • 웹 공급자 (캔버스, 모델 기반): 저장소 상태를 사용하여 브라우저 기반 인증을 사용합니다.
  • API 공급자 (Power Fx): Azure CLI의 토큰을 사용하여 직접 API에 액세스합니다. OAuth

Dataverse 통합

모든 공급업체는 통합을 통해 다음과 같은 이점을 얻을 수 있습니다. Dataverse

  • Power Fx 함수를 통한 직접 테이블 액세스
  • 데이터 시딩 및 정리 작업
  • 백엔드 상태 변경 확인

통합을 활성화하려면 테스트 설정에 다음을 추가하세요. Dataverse

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

확장 프로그램 테스트 방법 알아보기 Dataverse

올바른 공급자 선택

귀하의 신청 유형과 테스트 요구 사항에 따라 공급자를 선택하세요.

응용 프로그램 유형 Provider 가장 적합한
캔버스 앱 canvas UI 테스트, 컨트롤 상호작용, 화면 탐색
모델 기반 앱 mda 양식, 뷰, 비즈니스 프로세스 흐름, 엔터티 작업
순수 Dataverse 통합 powerfx 백엔드 로직, 테이블 작업, 플러그인 검증

테스트 캔버스 애플리케이션
테스트 모델 기반 애플리케이션
테스트 확장 Dataverse
테스트 엔진 확장성
테스트 엔진 및 극작가