Неправильный wdio.webapp.conf.js проблема с конфигурацией или драйвером chrome — автоматический тест не запускается

#javascript #automated-tests #webdriver #selenium-chromedriver #yarnpkg

Вопрос:

По какой-то причине я не могу запустить свои тесты, написанные с использованием WebdriverIO вместе с фреймворками тестирования Mocha Chai. Когда я запускаю команду yarn start, чтобы запустить их, я получаю такой вывод при каждом тестировании:

 Execution of 31 spec files started at 2021-07-22T13:36:42.326Z

[0-0] RUNNING in chrome - C:UsersADOMAS-PCDesktopAutomation Projectsdrivewebteste2especse2ecancelDownload.spec.js
[0-0]  Error:  Failed to create session.
Unable to create session from {
  "desiredCapabilities": {
    "browserName": "chrome",
    "goog:chromeOptions": {
      "binary": "C:u002fu002fProgram Filesu002fu002fGoogleu002fu002fChromeu002fu002fApplicationu002fu002fchrome.exe",
      "prefs": {
        "directory_upgrade": true,
        "prompt_for_download": false,
        "download.default_directory": "C:\Users\ADOMAS-PC\Desktop\Automation Projects\driveweb\test\data\downloads",
        "download.prompt_for_download": false,
        "profile.default_content_setting_values.automatic_downloads": 1
      },
      "args": [
        "--headless",
        "--no-sandbox",
        "--incognito",
        "--disable-gpu",
        "--window-size=1600,1000"
      ]
    }
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "chrome",
        "goog:chromeOptions": {
          "binary": "C:u002fu002fProgram Filesu002fu002fGoogleu002fu002fChromeu002fu002fApplicationu002fu002fchrome.exe",
          "prefs": {
            "directory_upgrade": true,
            "prompt_for_download": false,
            "download.default_directory": "C:\Users\ADOMAS-PC\Desktop\Automation Projects\driveweb\test\data\downloads",
            "download.prompt_for_download": false,
            "profile.default_content_setting_values.automatic_downloads": 1
          },
          "args": [
            "--headless",
            "--no-sandbox",
            "--incognito",
            "--disable-gpu",
            "--window-size=1600,1000"
          ]
        }
      }
    ]
  }
}
Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:47'
System info: host: 'DESKTOP-AK6OAUH', ip: '10.18.0.3', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '16.0.1'
Driver info: driver.version: unknown
 

Вот как работает wdio.webapp.conf.js похоже на:

 const { createDir, removeDirContents } = require('./test/e2e/helpers/folderHelper');
const { populateData } = require('./test/e2e/helpers/apiHelper');
const { TimelineService } = require('wdio-timeline-reporter/timeline-service');
var mkdirp = require('mkdirp');
const path = require('path');

global.downloadDir = path.join(process.cwd(), 'test/data/downloads');
global.uploadDir = path.join(process.cwd(), 'test/data/uploads');
global.uploadPermDir = path.join(process.cwd(), 'test/data/uploadsPerm');
global.baseUrl = 'https://drive.automation.com/';

exports.config = {
    hostname: 'automation-selenium',
    port: 4444,
    path: '/wd/hub',
    specs: [
            './test/e2e/specs/e2e/**/*.spec.js', 
            './test/e2e/specs/pages/*.spec.js'
        ],
    maxInstances: 1,
    capabilities: [
                {
                    maxInstances: 1,
                    browserName: 'chrome',
                    'goog:chromeOptions': {
                        binary: "C://Program Files//Google//Chrome//Application//chrome.exe",
                        prefs: {
                            directory_upgrade: true,
                            prompt_for_download: false,
                            'download.default_directory': global.downloadDir,
                            'download.prompt_for_download': false,
                            'profile.default_content_setting_values.automatic_downloads': 1
                        },
                        args: [
                            '--headless',
                            '--no-sandbox',
                            '--incognito',
                            '--disable-gpu',
                            '--window-size=1600,1000']
                    }
                }
            ],
    logLevel: 'debug',
    outputDir: './reports/output',
    bail: 0,
    baseUrl: global.baseUrl,
    waitforTimeout: 50000,
    connectionRetryTimeout: 60000,
    connectionRetryCount: 3,
    framework: 'mocha',
    mochaOpts: {
        ui: 'bdd',
        compilers: ['js:@babel/register'],
        timeout: 60000,
        retries: 1
    },
    reporters: [
        'spec',
        [
            'allure',
            {
                outputDir: './reports/allure-results/',
                disableWebdriverStepsReporting: true,
                disableWebdriverScreenshotsReporting: false
            }
        ]
    ],
    onPrepare: async function(config, capabilities) {
        global.baseUrl = config.baseUrl;
        createDir(global.downloadDir);
        createDir(global.uploadDir);
        if (!global.baseUrl.includes('automation.com')) {
            await populateData(config.baseUrl);
        }
    },

    afterTest: async function (test, context, { error, result, duration, passed, retries })  {
        if (!passed) {
            const current_datetime = new Date();
            const time = current_datetime.getHours()   "h-"   current_datetime.getMinutes()   "m-"   current_datetime.getSeconds()   "s";
            
            const screenshotDir = path.join(process.cwd(), `screenshots`);
            await mkdirp(screenshotDir);
            const filename = test.title.replace(/s /g, '-');
            const screenshotImg = `${screenshotDir}/${time}-${filename}.png`;
            browser.saveScreenshot(screenshotImg);
        }
    },
    
    onComplete: function() {
        removeDirContents(global.downloadDir);
        removeDirContents(global.uploadDir);
    }
};
 

Что я уже пробовал?

  • Переустановка браузера chrome на моем компьютере.
  • Установка/переустановка различных библиотек, таких как wdio, selenium-standalone и т. Д.
  • Запускайте тесты из CMD в режиме администратора.
  • Установка двоичного значения на C://Program Files//Google//Chrome//Application//chromedriver.exe
  • Понижение версии узла до версии 12.8.1

Что еще я могу попытаться заставить их работать?

Комментарии:

1. Какую версию драйвера Chrome вы используете?

Ответ №1:

 yarn add @wdio/selenium-standalone-service 
 

было решение этой проблемы.