Codeceptjs Безголовые тесты с https не работают - PullRequest
0 голосов
/ 27 сентября 2018

Когда я запускаю тесты с https без заголовка, появляется следующая ошибка:

bash Error: move target out of bounds: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.

Запуск без опции --headless, работает, но медленнее.Работает как http с --headless работает тоже

  • CodeceptJS версия: новейшая
  • NodeJS версия: 4.2.6
  • Операционная система: Mint
  • WebDriverIO: новейший
  • Файл конфигурации:

`` `json

{
  "tests": "./**/*_test.js",
  "timeout": 10000,
  "output": "output",
  "helpers": {
    "WebDriverIO": {
      "smartWait": 50,
      "url": "https://172.17.0.1/",
      "browser": "chrome",
      "restart": false,
      "desiredCapabilities": {
        "chromeOptions": {
          "args":[
                  "--window-size=1200,1200",
                  "--headless"]
        }
      }
    }
  },
  "include": {
    "I": "./steps_file.js",
    "loginPage": "./pages/Login.js",
    "defaultData": "./Data/defaultData.js",
    "registerPage": "./pages/Register.js",
    "menu": "./pages/Menus.js",
    "profilePage": "./pages/Profile.js",
    "subscription": "./pages/Subscription.js",
    "recordsPage": "./pages/Records.js"
  },
  "bootstrap": true,
  "name": "CodeceptJS",
  "plugins": {
    "allure": {
      "enabled": "true"    }
  }
}

` ``

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Может быть, это связано с этим:

https://www.chromium.org/for-testers/bug-reporting-guidelines/uncaught-securityerror-failed-to-read-the-localstorage-property-from-window-access-is-denied-for-this-document

Вы можете создать профиль Chrome, где вы отключите эту опцию и загрузите его, указав параметр запуска (https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md):

"chromeOptions": {
      "args":[
              "--window-size=1200,1200",
              "--headless",
              "--user-data-dir=<YOURDIR>]
    }

Другое решение, которое вы могли бы проверить, отличается ли строка UserAgent для заголовка без заголовка от обычного браузера, и если ответ положительный, переопределите его с помощью (Chrome 69 UA):

    "chromeOptions": {
      "args":[
              "--window-size=1200,1200",
              "--headless",
              "--user-agent="Mozilla/5.0 AppleWebKit (KHTML, like Gecko) Chrome/69.0 Safari"]
    }

И последнееотключить политику безопасности, указав следующие параметры:

  • - отключить веб-безопасность
  • - разрешить запуск незащищенного контента

    "chromeOptions": {
      "args":[
              "--window-size=1200,1200",
              "--headless",
              "--disable-web-security",
              "--allow-running-insecure-content"]
    }
    

Вы можете попробовать одно из возможных решений или объединить их.

0 голосов
/ 27 сентября 2018

Попробуйте указать x вместо запятой (,) при указании размера окна.Пример:

--window-size=1920x1080
...