Тесты behat selenium доверяют самоподписанному сертификату SSL

Для автоматического тестирования нашего сайта Drupal мы используем тестовые скрипты Behat. На наших локальных машинах для разработки мы используем самоподписанный сертификат SSL, созданный Acquia Devdesktop. Запуск тестов в разных браузерах с помощью Behat не проблема, поскольку вы можете доверять сертификату в самом браузере. Однако для интерфейсов REST, где не открывается ни один браузер, это другая история. Behat не примет самоподписанный сертификат, поскольку он «небезопасен».

При запуске теста REST мы получаем следующую ошибку:

Ошибка cURL 60: проблема с сертификатом SSL: самоподписанный сертификат (см. http://curl.haxx.se/libcurl/c/libcurl-errors.html) (GuzzleHttp \ Exception \ RequestException)

С самим тестовым случаем все в порядке, потому что он работал до того, как мы включили сертификат SSL. Мы попытались отредактировать файл конфигурации .yml с помощью параметров из документации и других тикетов, но без везения.

Есть ли способ доверять самоподписанному сертификату для тестов интерфейса REST? Если вам нужна дополнительная информация, дайте мне знать.

Изменить: добавлены конфигурация YML и файл composer.json.

//composer.json
{
      "require": {
              "drupal/drupal-extension": "~3.0",
              "emuse/behat-html-formatter": "dev-master",
              "behatch/contexts": "*",
              "guzzlehttp/guzzle": "dev-master",
              "behat/mink-goutte-driver": "dev-master"
          },
          "config": {
                  "bin-dir": "bin/"
          }
}

Обратите внимание, что я удалил свой URL-адрес из файла yml ниже.

default:
    suites:
        default:
            contexts:
                - FeatureContextDrupal
                - behatch:browser
                - Drupal\DrupalExtension\Context\MinkContext
                - Drupal\DrupalExtension\Context\DrupalContext
                - Drupal\DrupalExtension\Context\DrushContext
                - Drupal\DrupalExtension\Context\MessageContext
                - behatch:debug
                - behatch:system
                - behatch:json
                - behatch:table
                - behatch:rest
                - behatch:xml
            formatters:
                html:
                    output_path: %paths.base%/build/html/behat
    extensions:
        Sanpi\Behatch\Extension: ~
        emuse\BehatHTMLFormatter\BehatHTMLFormatterExtension:
            name: html
        Behat\MinkExtension:
            goutte:
                guzzle_parameters:
                    verify: false
                    ssl.certificate_authority: false
            selenium2:
                wd_host: http://localhost:4444/wd/hub
            base_url: "https://myurl.devcloud.acquia-sites.com/"
        Drupal\DrupalExtension:
            blackbox: ~
            api_driver: 'drupal'
            drush:
                alias: 'ns-test'
            drupal:
                drupal_root: '/var/www/html/utcfs.dev/docroot'


chrome:
  extensions:
    Behat\MinkExtension:
      selenium2:
        browser: chrome
        capabilities: { "browser": "chrome", "browserName": "chrome", "version": "*", "browserVersion": "*" }

iexplore:
  extensions:
    Behat\MinkExtension:
      selenium2:
        browser: internet explorer
        capabilities: { "browser": "internet explorer", "browserName": "internet explorer", "version": "*", "browserVersion": "*" }

person Bram    schedule 25.02.2016    source источник
comment
Я использовал ту же конфигурацию behat, но удалил часть, связанную с drupal, и протестировал ее на self-signed.badssl.com с verify: false и verify: true, если это правда, выдает ту же ошибку, но когда я переключаюсь на false, это не дает сбоя. Я также установил пакеты из вашего composer.json, есть ли шанс, что вы тоже можете поделиться тестовым примером, который вы используете?   -  person seartun    schedule 03.02.2017


Ответы (1)


Нашел свой ответ на GitHub:

Для Behat3/MinkExtension2.2

extensions:
    Behat\MinkExtension:
      base_url: 'https://localhost'
      sessions:
        default:
          goutte:
            guzzle_parameters:
              defaults:
                verify: false

Младшие версии (1.x)

  extensions:
    Behat\MinkExtension:
      goutte:
        guzzle_parameters:
          verify: false
person Bram    schedule 19.02.2017