Как запустить тест в каждой среде во всех 3 основных браузерах в nightwatch? - PullRequest
0 голосов
/ 04 февраля 2020

Я хочу запустить свой тест ночных часов в chrome, firefox и браузерах Microsoft. Более того, я хочу запустить один и тот же тест в каждой среде, такой как Staging, UAT во всех трех основных браузерах, и я не хочу использовать сервер Selen. Можно ли проводить кросс-браузерное тестирование без использования сервера Selen. Если мне нужно использовать selenium-server, предоставьте пример файла конфигурации с командой для запуска теста? Пожалуйста, найдите мой конфиг Nightwatch ниже. Я уже проверил документацию ночных часов для конфигурации сервера селена - https://nightwatchjs.org/gettingstarted/configuration/#selenium -server-settings , но не уверен, как использовать это с несколькими средами для одного и того же теста со всеми 3 различными браузерами.

const path = require('path');
const seleniumServer = require('selenium-server');
const chromeDriver = require('chromedriver');
const geckoDriver = require('geckodriver');
const edgeDriver = require('edgedriver');

module.exports = {
    // An array of folders (excluding subfolders) where your tests are located;
    // if this is not specified, the test source must be passed as the second argument to the test runner.
    src_folders: "./tests",
    output_folder : "./reports",
    page_objects_path : "./pages",
    //persist_globals:true,        
    custom_commands_path : ["./commands"],
    custom_assertions_path : ["./custom-assertions"],
    globals_path : "./globals/globals.js",
    disable_colors: false,
    // test_workers : false,
    selenium:{
      start_process: true,
      start_session: false,
      server_path: seleniumServer.path,
      check_process_delay: 5000,
      //log_path: '/logs',
      host: '127.0.0.1',
      port: 4444,
      cli_args: {
        "webdriver.chrome.driver": chromeDriver.path,
        "webdriver.gecko.driver": geckoDriver.path,
        "webdriver.edge.driver": edgeDriver.path
      }
    },
    webdriver: {
      start_process: false
    },
    /* webdriver: {
      start_process: true,
      //chrome port config
      //port: 9515,
      //firefox port config
      port: 4444,
      //setup for firefox driver
      server_path: require('geckodriver').path,
      //server_path: require('chromedriver').path,
      cli_args: [

      ]
    }, */
    //node nightwatch tests/regression/login.js --env default --reporter html-reporter.js
    test_settings: {
      end_session_on_fail: false,
      default: {
        launchUrl : '*********',
        skip_testcases_on_fail:false,
        globals : {
          Username:'*******',
          Password:'*********',
          inbox:'*******'
        },
        screenshots : {
          enabled : false,
          path : './reports/screenshots',
          on_failure: true,
          on_error: true
        },
        request_timeout_options: {
           retry_attempts: 2
        },       
        desiredCapabilities : {
          browserName : 'chrome',
          chromeOptions:{
            args: ["incognito", "--no-sandbox", "--disable-infobars", "--disable-gpu", "--start-maximized"],
            prefs: {
               // disable chrome's annoying password manager
               "profile.password_manager_enabled": false,
               credentials_enable_service: false,
               password_manager_enabled: false,
               download: {
                prompt_for_download: false,
                directory_upgrade: true,
                default_directory: path.join(__dirname+'/fileDownloads')
              },
              plugins: {
                always_open_pdf_externally: true
              }
            }
          }
        },

      },
      SiteUAT: {
          launchUrl : '************************',
          globals : {
            Username:'**********',
            Password:'******',
            envCurr:'*******',
          },     
          desiredCapabilities : {
            browserName: "firefox",
            javascriptEnabled : true,
            platform: 'ANY',
            acceptInsecureCerts: true,
            alwaysMatch: {
                 'moz:firefoxOptions': {
                  args: ["--private","--width=1600","--height=800"],
                  prefs: {
                      'browser.helperApps.alwaysAsk.force':false,
                      'browser.download.folderList':2,
                      //'browser.privatebrowsing.autostart':true,
                      'pdfjs.disabled':true,
                      'browser.helperApps.neverAsk.openFile':"application/pdf,application/zip",
                      'browser.helperApps.neverAsk.saveToDisk':"application/zip,application/octet-stream,image/jpeg,application/vnd.ms-outlook,text/html,application/pdf",
                      'browser.download.manager.showWhenStarting':false,
                      'browser.download.manager.useWindow':false,
                      'browser.download.manager.showAlertOnComplete': false,
                      'browser.download.dir': path.join(__dirname+'/fileDownloads'),
                      'browser.download.downloadDir': path.join(__dirname+'/fileDownloads'),
                      'browser.download.defaultFolder': path.join(__dirname+'/fileDownloads'),

                  }
              }
            } 
          }
      },

  },

  };

1 Ответ

0 голосов
/ 07 февраля 2020

Для запуска ваших тестов во всех трех браузерах вы можете обратиться к примеру ниже.

https://github.com/spnraju/nightwatchjs-selenium-example/blob/master/package.json#L13

Пожалуйста, клонируйте проект и установите зависимости.

Вы можете запустить тесты с помощью команды npm выполнить все.

...