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

[Feature]: Support Model Driven Application #342

Open
Grant-Archibald-MS opened this issue Jun 7, 2024 · 8 comments
Open

[Feature]: Support Model Driven Application #342

Grant-Archibald-MS opened this issue Jun 7, 2024 · 8 comments
Assignees
Labels
enhancement New feature or request mda Model Driven Application Provider or Power Fx commands

Comments

@Grant-Archibald-MS
Copy link
Contributor

Is your feature request related to a problem? Please describe.

The preview version of Power Apps Test Engine only supports canvas applications. Extend the Test Engine support to also include the ability to write tests for Model Driven applications so that they can be included in testing of Power Platform solutions

Describe the solution you'd like

Provide the ability to:

  • Navigate between pages
  • Navigate between view and detail pages
  • Execute actions like Save and Save & Close
  • Query the JavaScript Object Model of the page and create Power Fx variables that represent the current state
  • Allow updates to the Power Fx variables and update the JavaScript object model

Describe alternatives you've considered

No response

Additional context?

No response

@Grant-Archibald-MS Grant-Archibald-MS added the enhancement New feature or request label Jun 7, 2024
@filcole
Copy link

filcole commented Jun 7, 2024

Yes! This is a game changer.

@Grant-Archibald-MS
Copy link
Contributor Author

Grant-Archibald-MS commented Jun 8, 2024

Thanks @filcole for the feedback. This is something we are actively looking as it is a natural evolution of Introduce the Extensibility Framework. More details on the proposed approach are described in the work in progress integration branch Extensions docs.

The plan is to make use of XRM SDK and wrap existing JavaScript Object Model to a provide Low Code reprensentation of grids and forms that can be interacted with via Test Engine:

  • GridEntity - To get grid view for current grid
  • GridRow - To use code like gridContext.getGrid().getRows()[0].data.entity

@Grant-Archibald-MS
Copy link
Contributor Author

For the kits that the Power CAT tools team creates and maintains we have many Model Driven Applications that we need to also test. The proposed extensions to support MDA address a key need for our test automation evolution.

Grant-Archibald-MS added a commit that referenced this issue Jun 26, 2024
@pvillads pvillads added this to the Public Preview milestone Jun 26, 2024
@Grant-Archibald-MS Grant-Archibald-MS added the mda Model Driven Application Provider or Power Fx commands label Jul 18, 2024
Grant-Archibald-MS added a commit that referenced this issue Aug 3, 2024
* Initial read only version

* Add docs

* Docs and sample update

* Adding entity record

* MDA Provider updates #342

* Adding custom page support

* Documentation update

* WIP entitylist support

* Foundations for CoE Kit test

* Adding TestEngine.ConsentDialog

* Adding TestEngine.ConsentDialog

* Description update

* removing format space and restoreing launchsettings

* removing white space

* Update sample application

---------

Co-authored-by: Sourabh Namilikonda <[email protected]>
@sdhsynsci
Copy link

@Grant-Archibald-MS we were preparing to spend a rather large effort to use the older Easyrepo approach with our MDA solutions, however I see a lot of commits around the MDA functionality is it close enough to warrant pausing for some weeks? I know you cannot give specific dates but just a general scope before the end of the month?, year?

@JoehannusApg
Copy link

JoehannusApg commented Nov 15, 2024

@Grant-Archibald-MS

Hi there. We are also interested in an update regarding test-engine for model driven apps. We were using EasyRepro too before, in combination with the SpecFlow library implemented by Cap Gemini (which is heavily based upon EasyRepro). But both libraries have not been updated for more than 2 years. And with all the changes that have been done to the Power Platform GUI design, but also the fact that EasyRepro is still based on Selenium 2 we decided to stop putting any effort into UI tests based upon the Cap Gemini SpecFlow library and EasyRepro.

@Grant-Archibald-MS
Copy link
Contributor Author

@sdhsynsci Model Driven Application support is progressing and if you wanted early look at what is working we have integration branch, However this is using a build from source strategy using the MIT licence not included as new features of pac test run.

@pvillads as owner of the Test Engine and the release schedule for updates to the pac test run command.

@Grant-Archibald-MS
Copy link
Contributor Author

Grant-Archibald-MS commented Nov 15, 2024

@JoehannusApg thanks for the interest in automated testing of Model Driven Applications using Test Engine and it is an active area of interest for the team to work towards covering a range of MDA scenarios across entitylist, entityrecord and custom pages.

Looking at the architecture it is based in Playwright and take advantage of Power Fx as the method. It also has a number of features around authentication handling cases like MFA and execution in the context of CI/CD process.

As an early adopter of the Test Engine we are using the custom page support of Test Engie to test our tests for the CoE Kit. We covered some of this during our recent community office hours https://www.linkedin.com/feed/update/urn:li:activity:7262550764605104138/ (Slides 6 - 9) discuss our ALM process and how we are using Test Engine for our testing work

We have been working closely with the core Test Engine team and have a set of pull requests that are being considered that include changes that we have found useful for our testing

@JoehannusApg
Copy link

@Grant-Archibald-MS @pvillads
Can you give an estimate on a possible Public Preview date? And perhaps even what you are aiming at for a possible General Availability Date?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mda Model Driven Application Provider or Power Fx commands
Projects
None yet
Development

No branches or pull requests

5 participants