Для автоматического тестирования нашего сайта 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": "*" }