How it works
1. Download Minion
Minion is free for non-commercial use. Download Minion now here to get started in a matter of seconds.
2. Write a Minion test script
We've provided examples but anyone can write Minion scripts in minutes to automate complex user journeys.
3. Click 'Run'
Open 'RunMinion' and then click 'Run'. The test will then execute opening a new Chrome instance.
Minion was designed so that any member of a development team can quickly write comprehensive automated browser tests.
It's all too often that developers are worried when refactoring code or modifying the code base in case they introduce bugs or breaking changes.
With Minion however it's easy to write numerous scripts to functionally test critical areas of your website to ensure you are confident your site works as it should.
No compilation is required. The code is simple, please take a look at the example below.
// Minion allows you to create variables to use throughout the test run. Automated browser tests will be run many times and we may want dynamic data for each execution. VAR $SERIAL Minion.Core.dll,Minion.Core.GenerateSerial,Generate // Start a new Minion test journey. The Base Url for the journey is defined in the App.config otherwise you could specify it here: e.g MINION /en-GB/Login MINION // Use GOTO to navigate to an absolute or relative URL GOTO /en-GB/CustomerService/AddCustomer // The INPUT command will input text into an element. Use Class, ID or even Jquery selectors to define the context page element. INPUT #Firstname "Test" INPUT #Surname "Test" INPUT #Email "firstname.lastname@example.org" // You can use an @ symbol to target a value within a drop-down list. SELECT #Role @Customer INPUT #Serial $SERIAL // This selector is looking for an input button with class "submit-button". You could specify a more complex Css selector for example .footer-panel input.button-red. The command tells the test runner to click the element. It's extremely simple. If the selector finds multiple DOM elements you are able to specify an index. e.g CLICK .button 2 will click the second instance of .button. CLICK .submit-button // The Journey command allows us to share Minion code between tests by executing a partial journey. A partial journey is simply a subset of Minion commands. In this instance our Admin login journey has four commands which log in the user as an Admin. JOURNEY AdminLogin // The Verify Command is used to validate the page we are on contains elements we are expecting. For example after Login we expect a Welcome heading. The absence of this would indicate a problem with your user journey. VERIFY H1 "Welcome" CLICK #SearchForCustomerLink INPUT #Customer_Serial $SERIAL // You can even use JQuery selectors to find a page element. CLICK $('.actions input:first') -- Validate the user is in the results set VERIFY .results .email "email@example.com"
We've purposely designed Minion so that anyone can use it. We've tried to balance speed and ease of use with a comprehensive scripting language that can handle most user scenarios. We're constantly improving Minion and if there are any features you'd like to see please let us know - firstname.lastname@example.org.
The easiest way to add Minion to your project is via nuget. Find it here: https://www.nuget.org/packages/Minion
PM> Install-Package Minion
Or download the standalone version here (Does not require visual studio)
Minion is free to use in both commercial and non-commercial projects
With Minion you'll get:
- Improved confidence in your website and code releases.
- The ability to easily test and re-test various functional areas of your website.
Minion may not be right for you if:
- You want to record you user journeys and have a GUI play them back to you.
- You want to cross browser test - Minion validates the functional not the aesthetical aspects of your website.
- You are comfortable with current testing methods, for example manual smoke testing or writing code to perform integration tests. (However why not give Minion a try to see what improvements it can offer.)
To use Minion you'll need to be running Windows and have Chrome and NUnit installed. You can download both NUnit and Chrome for free - get NUnit here.