Ошибка тестирования Selenium Ошибка: сокет зависает - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть скрипт, который следует по ссылке, авторизуется (окно всплывающего окна) и делает скриншот.Используйте в комбинации в док-контейнерах (автономный хром (хромедрайвер + селен) и ночные часы).Все тесты работают, кроме одного.

Мои версии: ChromeDriver 73.0.3683.68, сервер Selenium версии 3.141.59, nightwatch v1.0.19 Мой конфиг nightwatch.js:

const { Authenticator } = require('/usr/lib/node_modules/authenticator-browser-extension');
var config = {
  "globals_path": "globals.js",
  "output_folder": "reports",
  "src_folders": ["run"],
  "test_workers" : {
    "enabled": true,
    "workers": "auto"
  },
  "live_output" : true,
  "test_settings": {
    "default": {
      "start_process" : true,
      "selenium_host": "chromedriver",
      "screenshots": {
        "enabled": true,
        "on_failure": false,
        "on_error" : true,
        "path": "screenshots"
      },
      "desiredCapabilities": {
        "browserName": "chrome",
        "acceptSslCerts": true,
        "javascriptEnabled": true,
        "acceptInsecureCerts": true,
        "cssSelectorsEnabled": true,
        "chromeOptions" : { 
         "args" : ["show-cert-link", "disable-notifications", "load-extension", "disable-popup-blocking", "no-proxy-server", "no-sandbox", "no-headless"],
         "extensions": [
           Authenticator.for("admin", "admin123").asBase64()
         ]
      }
    }
  }
 }
};
module.exports = config;

Это моя частьdocker-compose (я запускаю его с ansible):

- name: Start container with standalone-chrome 
  docker_container:
    name: chromedriver
    image: standalone-chrome:latest
    recreate: yes        
    volumes:
      - "{{playbook_dir}}/test/:/home/node/:z"
      - "/etc/hosts:/etc/hosts:z"
      - "/dev/shm:/dev/shm"
    env:
      DBUS_SESSION_BUS_ADDRESS: /dev/null

- name: Start container with nightwatch
  docker_container:
    name: nightwatch
    image: nightwatchjs:latest
    recreate: yes
    links:
      - "chromedriver:chromedriver"        
    env:
      WAIT_FOR_HOSTS: chromedriver:4444
      DBUS_SESSION_BUS_ADDRESS: /dev/null
    volumes:
      - "{{playbook_dir}}/test:/home/node"
      - "/dev/shm:/dev/shm"
    command: '--config nightwatch.js --test run/postdeployment.js'        
    cleanup: yes
    detach: no

У меня есть ошибки типа:

    POST http://chromedriver:4444 /wd/hub/session/a4ae5b9eafe417f37d71d99e426ffbb0/url - ECONNRESET
Error: socket hang up
    at createHangUpError (_http_client.js:342:15)
    at Socket.socketCloseListener (_http_client.js:377:23)
 Error while running .navigateTo() protocol action: An unknown error has occurred.
    POST http://chromedriver:4444 /wd/hub/session/a4ae5b9eafe417f37d71d99e426ffbb0/elements - ECONNRESET
Error: socket hang up
    at createHangUpError (_http_client.js:342:15)
    at Socket.socketCloseListener (_http_client.js:377:23)
 Error while running .locateMultipleElements() protocol action: An unknown error has occurred.

Можете ли вы что-нибудь посоветовать?Спасибо!

...