Как использовать «куки» установка для PhpBrowser в принятии кода кодирования.suite.yml?

Я попытался найти это, но не смог найти ответ, поэтому я пишу здесь.

Я испытываю кодирование 2.1.5 в Cloud9 IDE с использованием PHP 5.5.9, смотрю на написание приемочных тестов и настраиваю свой файл accept.suite.yml.

Я пытаюсь включить cookie в запрос, сделанный PhpBrowser, как описано в кодовая страница PhpBrowser. Я думал, что смогу сделать это с настройкой «куки» в accept.suite.yml.

acceptance.suite.yml

# Codeception Test Suite Configuration
#
# Suite for acceptance tests.
# Perform tests in browser using the WebDriver or PhpBrowser.
# If you need both WebDriver and PHPBrowser tests - create a separate suite.

class_name: AcceptanceTester
modules:
enabled:
- PhpBrowser:
url: https://dm1-cboudreausf.c9users.io
cookies:
c9_user_cookie:
Name: c9.live.user.sso
Value: somevaluehere
Path: /
Domain: .c9users.io
- \Helper\Acceptance

Вот моя домашняя страницаCept.php:

<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('ensure the homepage renders correctly');
$I->amOnPage('/');
$I->see('welcome');

Но когда я запускаю свой тест в режиме отладки, как это:

php codecept.phar run --debug

Я вижу, что нет файлов cookie запроса:

Ensure the homepage renders correctly (HomepageCept)
Scenario:
* I am on page "/"
[Page] /
[Response] 302
[Request Cookies] []
[Response Headers] {"Location":["https://c9users.io/_user_content/authorize?redirect=https%3A%2F%2Fdm1-cboudreausf.c9users.io%2F"],"Date":["Mon, 21 Dec 2015 22:38:44 GMT"],"Transfer-Encoding":["chunked"],"X-BACKEND":["apps-proxy"],"Content-Type":["text/html"]}
[Redirecting to] https://c9users.io/_user_content/authorize?redirect=https%3A%2F%2Fdm1-cboudreausf.c9users.io%2F

Какой правильный синтаксис для этого?

1

Решение

Параметр Cookies не обрабатывается PhpBrowser, но передается в HTTP-клиент Guzzle.

Если вы запускаете свой тест и PHP 5.4, то вы используете Guzzle 5.3, http://docs.guzzlephp.org/en/5.3/clients.html?highlight=cookies

Types: bool / array / GuzzleHttp\Cookie\CookieJarInterface

Я не знаю, работает ли используемый вами формат с Guzzle 5.3, но пары ключ-значение должны работать

cookies:
'c9.live.user.sso': 'somevaluehere'

Если вы запускаете свой тест на более новой версии PHP, то вы, вероятно, используете Guzzle 6
http://docs.guzzlephp.org/en/latest/request-options.html#cookies
You must specify the cookies option as a GuzzleHttp\Cookie\CookieJarInterface or false.

Я не вижу возможности, чтобы опция cookie могла работать с Guzzle 6, поэтому я поднял проблему в Github: https://github.com/Codeception/Codeception/issues/2653.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector