Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi Feature Merge - Test Engine Authentication, Providers and Power Fx extensions #380

Open
wants to merge 93 commits into
base: integration
Choose a base branch
from

Conversation

Grant-Archibald-MS
Copy link
Contributor

@Grant-Archibald-MS Grant-Archibald-MS commented Oct 11, 2024

Pull Request Template

Authentication

Features related to authentication and login experience

Feature Issues Notes Sample
Storage State #389 Provides the ability to save / load browser cookies to allow interactive and headless login Permissions Sample that shows multi persona testing with different permissions assigned

Update to other samples to change from browser to storagestate as authentication provider. Includes RunTests.ps1 in each sample and need for persona email.

Extensibility Model

Features to allow code first or low code extension of test cases

Feature Issues Notes Sample
No Cliffs extensibility #335, #337 Provide extensibility model. More info No cliff extensibility PlaywrightScript, PlaywrightAction
Power Fx Namespace #330 Provide ability to provide Namespaces for features. More info Using Power Fx Namespaces in Testing
No Cliff Power Fx Demonstrate the ability to create Power Fx to include complex operations. Read more Understanding the "No Cliffs" Extensibility Model of Power Apps Test Engine CoE Starter Kit Sample

Providers

Features to add new features to new or existing Test Engine Providers

Feature Issues Notes Sample
Power Apps Portal Provider #348, #352, #354 Provide the ability to interact with the Power Apps Portal for automation tasks. Created to allow connections to be created as user as part of Terraform Deployment of CoE Starter Kit Create Connection, Update Connection Reference
Custom Pages Variables and Collections #377 Provide the ability to Get/Set variables from custom page. More info Testing Variables and Collections in Power Apps with the Test Engine. Only supports custom pages not canvas applications CoE Starter Kit Sample

Common

Common features that apply to one or more providers

Feature Issues Notes Sample
Locale settings Extension of Playwright setup to change browser locale for localization testing Code change set context Locale when create playwright context
Logging #478 Initial changes to add date time to TestOutput folder path and date time in log files
SimulateDataverse #381 Initial base, development will continue in branch grant-archibald-ms/simulation-381.

More info demonstrating using Power Automate but also applies to Power Apps MDA and Canvas apps to allow test isolation
Record Actions and Generate Test Engine Script with Simulated Data #386 Provides the ability to start a browser session recording video, observed Power Fx actions (For example connectors and Dataverse calls) and add voice recordings to explain what the solution does CoE Starter Kit - Record Example

Description

The features outlined in the markdown table above represent a suite of enhancements and tools designed to improve the functionality and flexibility of the Power Apps Test Engine. Each feature addresses specific needs and challenges, contributing to a more robust and versatile testing environment.

  • The No Cliffs extensibility feature is crucial as it provides an extensibility model that allows developers to extend the capabilities of the test engine without hitting any limitations. This ensures that the test engine can adapt to various complex scenarios, making it a powerful tool for developers who need to customize their testing processes.

  • The Power Apps Portal Provider feature is designed to facilitate automation tasks within the Power Apps Portal. This is particularly important for scenarios where connections need to be created as part of the Terraform Deployment of the CoE Starter Kit. By automating these tasks, it reduces manual effort and ensures consistency in deployment processes.

  • The Power Fx Namespace feature introduces the ability to use namespaces for features, which helps in organizing and managing code more effectively. This is especially beneficial for core features vs new experimental features in development.

  • With the Custom Pages Variables and Collections feature, developers can now get and set variables from custom pages. This is a significant enhancement as it allows for more dynamic and interactive testing of custom pages, although it does not yet support canvas applications

  • The Locale settings feature extends the Playwright setup to change the browser locale for localization testing. This is vital for ensuring that applications work correctly in different languages and regional settings, which is crucial for global deployments.

  • The SimulateDataverse feature provides a foundational base for simulating Dataverse, allowing for test isolation. This is important for creating controlled testing environments where developers can test their applications without affecting live data.

  • The Record Actions and Generate Test Engine Script with Simulated Data feature enables the recording of browser sessions, including video, observed Power Fx actions, and voice recordings. This is a valuable tool for documenting and explaining the functionality of solutions, making it easier to understand and replicate test scenarios[^i^].

  • The Storage State feature allows for saving and loading browser cookies, facilitating both interactive and headless login. This is essential for scenarios where maintaining session state across different test runs is necessary, ensuring a seamless testing experience.

Checklist

  • The code change is covered by unit tests. I have added tests that prove my fix is effective or that my feature works
  • I have performed end-to-end test locally.
  • New and existing unit tests pass locally with my changes
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I used clear names for everything
  • I have performed a self-review of my own code

@Grant-Archibald-MS Grant-Archibald-MS changed the title TestEngine Namespace, Power Apps Portal TestEngine.PlaywrightScript() Multi Feature Merge - Test Engine Authentication, Providers and Power Fx extensions Nov 12, 2024
@Grant-Archibald-MS Grant-Archibald-MS self-assigned this Nov 12, 2024
@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants