Run software tests faster

End-to-end test automation tool.
So you can focus on scenarios, not code

Work with any frameworks
Works with your favorite framework
React, Angular, jQuery? Kakunin
works with all frameworks.
60+ step kit
Extremely easy to install
The whole installation process is based on a question/answer system.
Tested solution
Ready to go
There are 60+ predefined steps for a quick start.
Natural language
People-friendly
The process is based on a natural language – you don't need JS experts to write tests.
Multiple browsers
Reliable and battle-tested
Kakunin was created using proven technologies: Protractor and Cucumber.
People friendly
Supporting multiple browsers
Our tool works well with all leading web browsers: Firefox, Chrome and Safari.
All in one
Time-saving
Kakunin lets you run tests in parallel and automatically generates reports.
Time saving
Fully customisable
As it's built on modules, Kakunin can be customized to work the way you want it to.
write scenario not code
Write scenarios,
not code
Software test automation with Kakunin is based on the natural language Gherkin. Also, we’ve already prepared over 60 ready-to-go steps. This way, you can cover complex test scenarios in a simple, easy-to-read way.
pararell testing
Speed up with parallel testing
Running end-to-end tests could be slow. In order to speed them up, we’ve introduced the parallel execution of scenarios. Also, this feature is fully configurable, so you can decide which tests are executed together.

Companies
behind Kakunin

The Software House logo
Takamol logo

How it works

Kakunin is a software testing automation tool with multiple features.
You can not only write tests faster, but also test them across multiple platforms!
mkdir my_project
cd my_project

npm init --yes
npm i kakunin
"kakunin": "cross-env NODE_ENV=prod kakunin"
npm run kakunin init

What kind of application would you like to test?: otherWeb
What is base url? [http://localhost:3000]: http://todomvc.com
What kind of email service would you like to use?: none
const { BasePage } = require('kakunin');

class MainPage extends BasePage {
    constructor() {
        super();
        this.url = '/examples/react/#/';

        this.addTodoForm = $('.todoapp');
        this.todoInput = $('input.new-todo');
        this.todos = $$('.todo-list .view');
        this.todoLabel = by.css('label');
        this.firstTodoItem = this.todos.get(0);
    }
}

module.exports = MainPage;
Feature:

    Scenario: Adding todo
        Given I visit the "main" page
        And I wait for "visibilityOf" of the "addTodoForm" element
        And the "addTodoForm" element is visible
        When I fill the "addTodoForm" form with:
            | todoInput | My new todo |
        And I press the "enter" key
        Then there are "equal 1" "todos" elements
npm run kakunin