это - настройка jenkins selenium




Настройка непрерывной интеграции транспортера с использованием Jenkins (4)

В качестве альтернативы вы можете запустить это как задачу Grunt. Сначала установите хрюканье на Дженкинса. Установите пакеты NPM для protractor_webdriver и транспортира. Настройте файл конфигурации, чтобы указать путь к узлу node_module и пути к файлам конфигурации.

http://sideroad.secret.jp/articles/grunt-on-jenkins/

Затем установите модули транспортирующих узлов. Файл Grunt будет похож на этот. Я создал тестовый каталог, в котором будут расположены файлы conf и spec.

module.exports = function (grunt) {
  grunt.initConfig({
    protractor_webdriver: {
        your_target: {
            options: {
                path: 'node_modules/protractor/bin/',
                command: 'webdriver-manager start'
            }
        }
    }, 
    protractor: {
        options: {
            configFile: "node_modules/protractor/referenceConf.js", // Default config file
            keepAlive: true, // If false, the grunt process stops when the test fails.
            noColor: false, // If true, protractor will not use colors in its output.
            args: {
            // Arguments passed to the command
            }
        },
        your_target: {
            options: {
                configFile: "test/conf.js", // Target-specific config file
                args: {} // Target-specific arguments
            }
        }
    }
});

grunt.registerTask('p:test', [
    'protractor_webdriver',
    'protractor'
]);  
});

Я пишу сценарии автоматизации тестирования с помощью Protractor, и теперь мне нужно настроить CI для этого, используя Jenkins.

Задачи, которые необходимо выполнить:

  1. Запуск автономного сервера selenium.
  2. Запуск теста с использованием файла conf.js.
  3. Остановка автономного сервера selenium.

Может ли кто-нибудь помочь в этом отношении?


Вы можете использовать Gulp, который намного проще.

После установки gulp в Jenkins System вы можете установить зависимости npm (npm install) и запускать задачи gulp непосредственно, как командная команда Windows в Jenkins, как показано ниже:

В фоновом режиме для запуска и запуска селенового сервера и предоставления различных других параметров вы можете использовать такие пакеты, как «gulp-angular-protractor» в gulpfile.js, как показано ниже:

gulpfile.js

'use strict';

 var gulp = require('gulp'),
 gulpProtractorAngular = require('gulp-angular-protractor'),
 gulpStart = gulp.Gulp.prototype.start,
 currentStartTaskName;

 gulp.Gulp.prototype.start = function (task) {
    currentStartTaskName = task;
    gulpStart.apply(this, arguments);
};
function executeWebTests(suiteName, appName) {
    return gulp.src([])
        .pipe(gulpProtractorAngular({
            'configFile': './conf.js',
            'debug': false,
            'autoStartStopServer': true,
            args: [
                '--suite', suiteName,
                '--capabilities.browserName', 'chrome',
                '--params.APPNAME', appName,
                '--params.SUITENAME', currentStartTaskName,
                '--capabilities.platformName', 'Windows'],
            keepAlive: false
        }))
        .on('error', function (e) {
            console.log('Ended with below ERROR::',e);
            process.exit(1);
        })
        .on('end', function () {
            console.log('Test complete');
            process.exit();
        });
}

gulp.task('RegressionSuiteTask', function () {
    executeWebTests('regressionTests,','Application_Name');
});

conf.js

 suites: {
          regressionTests: ['testCases/**/*.js']//will run all specs in subfolders 
         },

Новейший транспортир позволяет запускать автономный сервер selenium непосредственно из conf.js (или любой точки входа транспортира у вас есть).

внесите комментарий (или удалите) seleniumAddress: 'http://localhost:4444/wd/hub', line и замените его на seleniumServerJar: './node_modules/protractor/selenium/latest.jar', .

latest.jar не установлен по умолчанию, я создал его как символическую ссылку на последнюю версию, установленную через npm install protractor --save . Это дает большую жизнь моим файлам conf.js в том же каталоге. В папке ./node_modules/protractor/selenium/ я запустил ln -s selenium-server-standalone-2.48.2.jar latest.jar


Я знаю, что это уже разрешено и вы хотите настроить таргетинг на новичков, чтобы создать работу Jenkins и запустить тест. Я предлагаю использовать selenium-server-standalone jar в файле конфигурации и файле конфигурации звонков от Jenkins.
conf.js

    ..  
    exports.config = {
        //seleniumAddress: 'http://localhost:4444/wd/hub',  
        seleniumServerJar: 'node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.5.3.jar',
    ....
    //html reporter logic
    .....

Создание Дженкинса Джобса

  • Установить узел js на сервере Jenkins
  • Установите Html Publisher Plugin для окончательного отчета по тестированию

  • Создайте проект Freestyle или независимо от ваших потребностей

  • Перейдите в раздел «Сборка» -> «Добавить шаг сборки» и выберите «Выполнить пакетную команду Windows», если сервер Jenkins в Windows в противном случае выберет Execute Shell для Linux

  • Вызовите conf.js (установите пакеты и вызовите конфигурационный файл)

  • Для сообщения «Создать секцию действий после сборки» -> Добавить публикацию отчетов Html и вызвать файл отчета (файл, предполагающий из корня вашего проекта)

Однако вы можете настроить команду выполнения с помощью gulp или аналогичных других пакетов. благодаря







protractor