Power Apps Test Engine Power Fx (obsoleto)

Nota

Test Engine está obsoleto e será eliminado nunha versión futura. Usa exemplos Power Platform Playwright para capacidades de automatización de probas en Power Platform e servizos Dynamics 365.

Podes usar *Learning Playground* para probar as funcións documentadas nesta guía. ...

Que é Power Fx?

Microsoft Power Fx é unha linguaxe de programación xeral de baixo código baseada en fórmulas similares a follas de cálculo. É unha linguaxe funcional, declarativa e tipada, con lóxica imperativa e xestión de estados dispoñibles segundo sexa necesario. A súa historia en Excel faino accesible a unha ampla gama de usuarios, desde principiantes ata desenvolvedores experimentados.

Escenarios avanzados Power Fx

Se xa estás familiarizado con Power Fx, mergullarte en escenarios avanzados pode mellorar significativamente as capacidades e a eficiencia das túas aplicacións. Aquí tes algúns escenarios avanzados e por que poden ser de interese:

  • Creación de funcións personalizadas: A creación de funcións personalizadas permite aos desenvolvedores encapsular lóxica complexa en compoñentes reutilizables. Esta estratexia non só simplifica o proceso de desenvolvemento, senón que tamén garante a coherencia e reduce a probabilidade de erros. As funcións personalizadas pódense adaptar ás necesidades empresariais específicas, o que fai que as probas sexan máis potentes e flexibles.

  • Integración con fontes de datos externas: A integración Power Fx con fontes de datos externas permite que as túas probas interactúen cunha ampla gama de datos, desde bases de datos ata servizos web. Esta integración pode mellorar a funcionalidade das túas aplicacións ao proporcionar acceso a datos e actualizacións en tempo real. Tamén permite probas máis dinámicas e receptivas que poden adaptarse aos datos cambiantes.

  • Optimización do rendemento para probas a grande escala: A medida que as probas medran en complexidade e escala, a optimización do rendemento vólvese importante. Estas optimizacións poderían incluír o rendemento, como a xestión eficiente dos datos e o uso das funcións integradas de Power Fx para un mellor rendemento. Estas optimizacións garanten que as túas probas sigan sendo receptivas e eficientes, mesmo con conxuntos de datos grandes e lóxica complexa.

Modelo de extensibilidade

O modelo de extensibilidade de Test Engines Power Fxé unha das súas moitas características atractivas. ... Podes ampliar a linguaxe con funcións e accións personalizadas, o que a fai altamente adaptable a diversos escenarios. Estes son algúns aspectos clave do modelo de extensibilidade:

  • Reutiliza as habilidades que xa tes: o modelo de extensibilidade de Power Fx permíteche usar as túas habilidades existentes en Power Fx e outras linguaxes de programación, como C#. Empregar esta estratexia significa que podes achegar os teus coñecementos e a túa experiencia ás probas baseadas no Power Fx , o que facilita a creación de solucións potentes e personalizadas.

  • Permitir a reutilización de bibliotecas e funcionalidades existentes: O modelo de extensibilidade permite a integración de bibliotecas e funcionalidades existentes en Power Fx. A reutilización permite aos desenvolvedores reutilizar código probado e reducir o tempo de desenvolvemento para aumentar a fiabilidade. Ao incorporar bibliotecas existentes, podes mellorar a funcionalidade das túas aplicacións sen ter que reinventar a roda. Power Fx

  • Proporcionar un modelo para encapsular a complexidade para os usuarios das funcións: Unha das vantaxes significativas do modelo de extensibilidade é a súa capacidade para encapsular a complexidade. Os creadores e desenvolvedores poden crear funcións personalizadas que oculten os intrincados detalles da lóxica subxacente, proporcionando unha interface sinxela e intuitiva para os usuarios finais. A abstracción facilita que todos poidan usar e beneficiarse de funcionalidades avanzadas sen necesidade de comprender as complexidades que hai detrás.

  • Mellorar a colaboración e a coherencia: Os equipos poden crear un conxunto coherente de funcións e accións personalizadas que se poden compartir e reutilizar en diferentes proxectos. Empregar common testSettings.yaml file pode promover a colaboración e garantir que se sigan as mellores prácticas, o que leva a aplicacións máis robustas e fáciles de manter.

  • Facilitar a integración con sistemas externos: O modelo de extensibilidade permite unha integración sen fisuras con sistemas e servizos externos. Isto significa que podes conectar as túas aplicacións a unha ampla gama de fontes de datos e API, mellorando as súas capacidades e proporcionando acceso aos datos en tempo real. Power Fx

  • Compatibilidade con escenarios avanzados: O modelo de extensibilidade está deseñado para soportar escenarios avanzados, como a creación de linguaxes específicas para dominios e fluxos de traballo personalizados. Esta flexibilidade garante que Power Fx se poida adaptar para satisfacer as necesidades únicas de diferentes industrias e casos de uso.

Como desenvolvedores ou fabricantes avanzados, que comprenden e usan o modelo de extensibilidade, poden crear aplicacións máis potentes, flexibles e fáciles de usar Power Fx. Este modelo non só mellora as capacidades da linguaxe, senón que tamén a fai máis accesible e valiosa para unha maior variedade de usuarios.

Tipos definidos polo usuario

Os Tipos Definidos polo Usuario (UDTs) no Power Apps Test Engine permítenche definir estruturas de datos personalizadas que poden usarse nos teus plans de proba. Esta funcionalidade mellora a flexibilidade e a reutilizabilidade dos teus casos de proba ao permitirche crear tipos de datos complexos adaptados ás túas necesidades de proba específicas.

Exemplo UDT

Este exemplo mostra como definir e usar UDTs nun ficheiro testSettings.yaml :

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

Explicación dun exemplo de UDT

A sección powerFxTestTypes define dous novos tipos: ControlName e Options.

  • ControlName é un tipo simple cunha única propiedade ControlName de tipo Text.
  • Options son un tipo máis complexo, que representa unha lista de obxectos, cada un con Name (de tipo Text) e Value (de tipo Number).

Podes usar estes tipos dentro dos teus casos de proba para definir variables e validar as súas propiedades. Por exemplo, podes definir unha variable de tipo Options e validar que contén os pares Name e Value esperados.

Funcións definidas polo usuario

As Funcións Definidas polo Usuario (UDFs) en Power Apps Test Engine permítenche definir funcións personalizadas que poden usarse dentro dos teus plans de proba. Esta funcionalidade mellora a flexibilidade e a reutilizabilidade dos teus casos de proba ao permitirche crear funcións complexas adaptadas ás túas necesidades de proba específicas.

Vantaxes da UDF

  • Reusabilidade: as UDF permiten definir funcións complexas unha vez e reutilizalas en varios casos de proba. Isto reduce a redundancia e garante a coherencia nos teus plans de probas.
  • Lexibilidade: O uso de UDF fai que os teus plans de proba sexan máis lexibles e fáciles de manter. Ao definir funcións personalizadas, podes encapsular lóxica complexa e facer que os teus casos de proba sexan máis comprensibles.
  • Flexibilidade: as UDF ofrecen a flexibilidade de crear funcións personalizadas que se axusten aos teus requisitos de proba específicos. Usa esta estratexia para adaptar os teus casos de proba e axustalos mellor ás necesidades da túa aplicación.
  • Mantenibilidade: Coas UDF, os cambios nas funcións pódense facer nun só lugar, o que reduce o esforzo necesario para actualizar varios casos de proba. Isto mellora a capacidade de mantemento dos teus plans de probas.

Exemplo UDF

Este exemplo mostra como definir e usar UDF nun ficheiro testSettings.yaml :

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);

Explicación dun exemplo de UDF

A sección testFunctions define dúas novas funcións:

  • WaitUntilVisible toma un parámetro control de tipo Text e agarda ata que o control especificado sexa visible mediante un selector DOM.
  • GetOptions toma un control parámetro de tipo ControlName e devolve as opcións para o control especificado usando Power Fx desde unha aplicación baseada en modelos (MDA).

Usa estas funcións nos teus casos de proba para realizar accións específicas ou recuperar datos. Por exemplo, podes usar WaitUntilVisible para asegurarte de que un control sexa visible antes de interactuar con el e GetOptions para recuperar e validar as opcións dispoñibles para un control.