다음을 통해 공유


Power Apps 테스트 엔진 Power Fx (미리보기)

참고

프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.

이 가이드에 설명된 기능을 직접 사용해 보려면 Learning Playground 를 활용하세요.

무엇인가요 Power Fx?

Microsoft Power Fx 스프레드시트와 유사한 수식을 기반으로 하는 로코드 범용 프로그래밍 언어입니다. 필요에 따라 명령형 논리와 상태 관리 기능을 갖춘, 유형이 지정되고 선언적이며 기능적인 언어입니다. Excel의 역사를 바탕으로 초보자부터 숙련된 개발자까지 다양한 사용자가 이용할 수 있습니다.

고급 Power Fx 시나리오

이미 잘 알고 계시다면, Power Fx고급 시나리오를 살펴보면 애플리케이션의 기능과 효율성이 크게 향상될 수 있습니다. 다음은 몇 가지 고급 시나리오와 그것이 흥미로울 수 있는 이유입니다.

  • 사용자 정의 함수 만들기: 사용자 정의 함수를 만들면 개발자는 복잡한 논리를 재사용 가능한 구성 요소로 캡슐화할 수 있습니다. 이러한 접근 방식은 개발 과정을 단순화할 뿐만 아니라 일관성을 보장하고 오류 가능성을 줄여줍니다. 사용자 정의 기능은 특정 비즈니스 요구 사항에 맞게 조정할 수 있으므로 테스트를 더욱 강력하고 유연하게 만들 수 있습니다.

  • 외부 데이터 소스와 통합: 외부 데이터 소스와 통합하면 Power Fx 테스트에서 데이터베이스부터 웹 서비스에 이르기까지 광범위한 데이터와 상호 작용할 수 있습니다. 이러한 통합을 통해 실시간 데이터 액세스와 업데이트를 제공하여 애플리케이션의 기능을 향상시킬 수 있습니다. 또한 변화하는 데이터에 적응할 수 있는 보다 역동적이고 반응성이 뛰어난 테스트가 가능합니다.

  • 대규모 테스트를 위한 성능 최적화: 테스트의 복잡성과 규모가 커짐에 따라 성능 최적화가 중요해집니다. 이러한 최적화에는 효율적인 데이터 처리 및 더 나은 성능을 위한 내장 함수 사용과 같은 성능이 포함될 수 있습니다. Power Fx 이러한 최적화를 통해 대규모 데이터 세트와 복잡한 논리가 있는 경우에도 테스트의 응답성과 효율성을 유지할 수 있습니다.

확장성 모델

테스트 엔진의 확장성 모델 Power Fx은 많은 매력적인 기능 중 하나입니다. ... 사용자 정의 함수와 동작으로 언어를 확장하여 다양한 시나리오에 맞게 높은 적응성을 갖출 수 있습니다. 확장성 모델의 핵심 측면은 다음과 같습니다.

  • 이미 가지고 있는 기술 재사용: Power Fx의 확장성 모델을 통해 기존 기술을 C#와 같은 다른 프로그래밍 언어에서도 사용할 수 있습니다. Power Fx 이 접근 방식을 사용하면 귀하의 지식과 경험을 기반 테스트에 적용할 수 있으므로 강력하고 사용자 정의된 솔루션을 더 쉽게 만들 수 있습니다. Power Fx

  • 기존 라이브러리 및 기능 재사용 허용: 확장성 모델을 통해 기존 라이브러리와 기능을 통합할 수 있습니다. Power Fx 재사용을 통해 개발자는 검증된 코드를 재사용하여 개발 시간을 단축하고 안정성을 높일 수 있습니다. 기존 라이브러리를 통합하면 바퀴를 다시 만들지 않고도 애플리케이션의 기능을 향상시킬 수 있습니다. Power Fx

  • 함수 사용자를 위해 복잡성을 캡슐화하는 모델 제공: 확장성 모델의 가장 큰 장점 중 하나는 복잡성을 캡슐화할 수 있는 능력입니다. 제작자와 개발자는 기본 논리의 복잡한 세부 사항을 숨기는 사용자 정의 함수를 만들어 최종 사용자에게 간단하고 사용자 친화적인 인터페이스를 제공할 수 있습니다. 추상화를 통해 모든 사람이 그 이면에 있는 복잡성을 이해할 필요 없이 고급 기능을 더 쉽게 사용하고 그 혜택을 누릴 수 있습니다.

  • 협업과 일관성 강화: 팀은 여러 프로젝트에서 공유하고 재사용할 수 있는 일관된 사용자 지정 기능과 작업 세트를 만들 수 있습니다. 공통 testSettings.yaml 파일을 사용하면 협업이 촉진되고 모범 사례가 준수되므로 더욱 견고하고 유지 관리가 용이한 애플리케이션을 만들 수 있습니다.

  • 외부 시스템과의 통합을 용이하게 합니다: 확장성 모델을 통해 외부 시스템 및 서비스와의 원활한 통합이 가능합니다. 즉, 다양한 데이터 소스와 API에 애플리케이션을 연결하여 기능을 향상시키고 실시간 데이터 액세스를 제공할 수 있습니다. Power Fx

  • 고급 시나리오 지원: 확장성 모델은 도메인별 언어 및 사용자 지정 워크플로 생성과 같은 고급 시나리오를 지원하도록 설계되었습니다. 이러한 유연성 덕분에 Power Fx 다양한 산업과 사용 사례의 고유한 요구 사항을 충족하도록 조정할 수 있습니다.

개발자나 고급 제작자가 확장성 모델을 이해하고 사용함으로써 개발자는 더욱 강력하고 유연하며 사용자 친화적인 애플리케이션을 만들 수 있습니다 Power Fx. 이 모델은 언어의 기능을 향상시킬 뿐만 아니라, 더 광범위한 사용자에게 언어의 접근성과 가치를 높여줍니다.

사용자 정의 유형

테스트 엔진의 사용자 정의 유형(UDT)을 사용하면 테스트 계획 내에서 사용할 수 있는 사용자 정의 데이터 구조를 정의할 수 있습니다. Power Apps 이 기능을 사용하면 특정 테스트 요구 사항에 맞게 복잡한 데이터 유형을 만들 수 있으므로 테스트 사례의 유연성과 재사용성이 향상됩니다.

UDT 예시

이 예제에서는 testSettings.yaml 파일에서 UDT를 정의하고 사용하는 방법을 보여줍니다.

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

UDT 예제 설명

powerFxTestTypes 섹션에서는 두 가지 새로운 유형인 ControlName and를 정의합니다 Options.

  • ControlName 는 단일 속성인 type을 갖는 간단한 유형입니다 ControlName . Text
  • Options 는 더 복잡한 유형으로, 각각이 Name (유형 Text) 및 Value (유형 Number)을 갖는 객체 목록을 나타냅니다.

테스트 케이스 내에서 이러한 유형을 사용하여 변수를 정의하고 해당 속성을 검증할 수 있습니다. 예를 들어, Options 유형의 변수를 설정하고 예상되는 NameValue 쌍이 포함되어 있는지 확인할 수 있습니다.

사용자 정의 함수

테스트 엔진의 사용자 정의 함수(UDF)를 사용하면 테스트 계획 내에서 사용할 수 있는 사용자 정의 함수를 정의할 수 있습니다. Power Apps 이 기능을 사용하면 특정 테스트 요구 사항에 맞게 복잡한 기능을 만들 수 있으므로 테스트 사례의 유연성과 재사용성이 향상됩니다.

UDF 혜택

  • 재사용성: UDF를 사용하면 복잡한 함수를 한 번 정의하고 여러 테스트 사례에서 재사용할 수 있습니다. 이렇게 하면 중복이 줄어들고 테스트 계획의 일관성이 보장됩니다.
  • 가독성: UDF를 사용하면 테스트 계획을 더 읽기 쉽고 유지 관리하기 쉬워집니다. 사용자 정의 함수를 정의하면 복잡한 논리를 캡슐화하고 테스트 사례를 더 이해하기 쉽게 만들 수 있습니다.
  • 유연성: UDF는 사용자의 특정 테스트 요구 사항에 맞는 사용자 정의 함수를 생성할 수 있는 유연성을 제공합니다. 이 접근 방식을 사용하면 테스트 사례를 애플리케이션의 요구 사항에 더 잘 맞게 조정할 수 있습니다.
  • 유지보수성: UDF를 사용하면 함수에 대한 변경 사항을 한 곳에서 적용할 수 있으므로 여러 테스트 사례를 업데이트하는 데 필요한 작업이 줄어듭니다. 이렇게 하면 테스트 계획의 유지 관리가 향상됩니다.

UDF 예시

이 예제에서는 testSettings.yaml 파일에서 UDF를 정의하고 사용하는 방법을 보여줍니다.

testFunctions:
 - description: Wait until control is visible using Document Object Model (DOM) selector
   code: |
    WaitUntilVisible(control: Text): Void = 
      Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
 - description: Get the options for a control using Power Fx control from Model Driven App (MDA)
   code: |
    GetOptions(control: ControlName): Options =
      Preview.GetOptions(control);

UDF 예제 설명

testFunctions 섹션에서는 두 가지 새로운 함수를 정의합니다.

  • WaitUntilVisible control 유형의 Text 매개변수를 사용하고 DOM 선택기를 사용하여 지정된 컨트롤이 표시될 때까지 기다립니다.
  • GetOptions control 유형의 ControlName 매개변수를 사용하고 Power Fx 모델 구동 앱(MDA)을 사용하여 지정된 컨트롤에 대한 옵션을 반환합니다.

테스트 케이스에서 이러한 함수를 사용하여 특정 작업을 수행하거나 데이터를 검색합니다. 예를 들어, WaitUntilVisible 컨트롤과 상호 작용하기 전에 컨트롤이 표시되는지 확인하고, GetOptions 컨트롤에 사용 가능한 옵션을 검색하여 검증하는 데 사용할 수 있습니다.