Quick. Simple. Powerful.

Minion scripts make it ludicrously easy to test and re-test the functional areas of your website. They take seconds to write and you don't need experience in programming - anyone on your team can write them.

New code is not the enemy.

Minion leverages the power of NUnit and Selenium WebDriver to automate the key user journeys within your website. Don't worry about releasing new code - Minion scripts validate that no bugs or breaking changes have been introduced into your code base.

We're not reinventing the wheel

We designed Minion to fix a problem - the lack of simplicity and speed which isn't currently available to development and QA teams to validate their website works - over and over and over again.

Is Minion the right tool for you?

We're not foolish to believe Minion will fit everyone's needs. Indeed it's one of many great testing tools out there - we're even happy to recommend you some others. However Minion can save you time, give you confidence in your code releases and become a vital part of your testing toolkit.

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 in action

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
// 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 "test@testminion.com"
// You can use an @ symbol to target a value within a drop-down list.
SELECT #Role @Customer
// 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 "test@testminion.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 - support@testminion.com.

Get Minion

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)

Download Minion (zip)

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.