We are automating the testing on an Web ERP solution (Dynamics) through a tool (RSAT, which uses selenium) provided by the developer of the ERP (Microsoft).
The RSAT has a list of instructions to do some actions on the pages and it takes the values to use from an excel file. The RSAT can be used with command lines.
So at first we started using a PowerShell script and Azure DevOps to launch the automated tests right after the code packages has been deployed to the testing environment.
It was a few dozen lines long and it was fine.
Then we started switching the values in the parameter excel file with other values to cover more tests values with the same test case.
It added a few hundred lines to the script.
- Then we generated a file in which we compiled all the results of the tests,
- We added some logs,
- We sent the result file by mail,
- We queried and rolled back the database right after finishing the tests,
Well, my problem is that PowerShell script is growing a lot (we actually have multiple scripts now with script 1 calling script 2 when it ends and chaining all the actions) and we still have many features and ideas to add.
My question is: at which point should we say
stop, PowerShell is not meant to do this, for the sake of maintainability and stability we should switch to [Python/C#/...]
(Maybe I'm totally wrong and using multiples chained PowerShell scripts is actually good practice, especially when you use Azure DevOps)