sise-tester

selenium testing framework

Usage no npm install needed!

<script type="module">
  import siseTester from 'https://cdn.skypack.dev/sise-tester';
</script>

README

tool for functional testing;

Sise-Tester создан на основе selenium-webdriver. Для того чтобы начать писать функциональные тесты достаточно установить 2 пакета: sise-tester mocha, karma или любой удобный фреймворк

Установить можно через npm

#!bash

npm install mocha sise-tester

Можно просто написать package.json:

#!json

{
    "private":true,
    "devDependencies": {
        "mocha": "*",
        "sise-tester":"*"
    },
    "scripts": {
        "test": "mocha --no-coverage test/*"
    }
}

а затем

#!bash

npm install

И потребуется лишь написать тесты.

В Mocha для тестов используется директория test, вот в ней и будем писать =)

Самый первый тест

test/first_test.js:

#!javascript


var siseTester = require('sise-tester');
var conf = {
    "protocol":"http",
    "serverHost":null,
    "port":80,
    "httpBasicAuth":false,
    "totalTestTimeout":null,
    "serverAnswerTimeout":3000,
    "searchDOMTimeout":100,
    "seleniumPort":null,
    "usePopulate":false,
    "populateScript":null,
    "startWebServer":false,
    "webServerScript":null,
    "logServerOutput":false,
    "logPath":null
};

// get sise-tester instance
var tester = siseTester.setConfig(conf);

//test is selenium-webdriver/testing
var test = tester.test;

// tear down when all tests will done
test.after(function () {
    this.timeout(10000);
    return tester.tearDown();
});
test.describe('First test', function () {
    test.it('Must go to /admin', function(){
        tester.goto('/admin');
        tester.assertElementText('//h1[@id="header-name"]', 'admin');
    });
});

Что это было?

Если сконфигурирован верно, то все должно правильно запуститься.

#!bash

npm test

Сначала пакет скачает актуальную версию selenium-standalone сервера с драйвером для google-chrome и запустит его с параметрами из конфига, затем если нужно запустит скрипт подготавливающий базу, запустит веб сервер, если нужно и запустит тесты. После прохождения всех тестов последовательно остановит веб сервер, и selenium сервер