We have set of UI automated tests which I want to trigger on different environment manually from Octopus UI.
Environment : .Net project, TFS integrated with Octopus, SpecFlow
Currently, based on each check-in automation tests are triggered in CI environment and later is promoted to Test and Integration. On each environment a different set of automation suites are triggered.
I am looking for a solution, so that I can trigger multiple automation regression suite manually based on requirement of any of the environment (CI, Test and UAT)
Need help / suggestions how I can make this work.
Thanks for getting in touch. There are a lot of options for achieving what you are suggesting, and the best approach will depend on your goals and your environment.
If you want to do everything through Octopus there are a couple of Step Templates already existing in our Library (depending on the test framework you are using):
Your SpecFlow tests could be executed in NUnit or MSTest, so the choice is up to you, though I recommend NUnit.
Once you have installed one of the Step Templates you could do is:
- Add a new step to your deployment process, after the last component is deployed, which runs the regression test(s) on the newly deployed environment
- If you want to run a different suite of tests per environment, create a new step to run those specific tests, and then scope the step so it only runs when deploying to that environment.
The Step Templates I mentioned will exit with the same exit code as the test runner executable allowing you to fail the deployment if tests fail.
Additionally, the NUnit Step Template will publish the test results files as artifacts in Octopus so you can inspect the results afterwards.
Hope that helps!