Для одного из моих Selenium Cests я хочу установить cookie, но это просто не работает.Чтобы найти проблему, я сократил свой код до абсолютного минимума, и, к моему удивлению, настройка файлов cookie, похоже, не работает вообще.
/**
* Test if we can set simple cookies
*
* @param \AcceptanceTester $i
* @throws Exception
*/
public function settingCookieSetsCookie(AcceptanceTester $i)
{
$cookieDefaultParams = [
'path' => '/',
'secure' => false,
'httpOnly' => false,
'expiry' => 900,
'domain' => 'www.testdomain.local'
];
$i->amOnPage('/cookieCest.php');
$i->setCookie('example', 'myvalue', $cookieDefaultParams);
$i->amOnPage('/cookieCest.php'); // reload page
$cookieValue = $i->grabCookie('example');
$i->assertEquals('myvalue', $cookieValue);
}
Для целей тестирования я настроил локальный тестовый домен www.testdomain.local, который работает нормально.
К сожалению, вышеприведенный тест завершается неудачно со следующей ошибкой:
Произошел 1 сбой:
1) BackendLoginCest: Настройка cookieУстанавливает cookie Тестирование кода
$ I-> assertEquals («myvalue», null) при коде приема \ accept \ CookieCest.php: 36 $ I-> grabCookie («пример») при коде приема \ accept \ CookieCest.php:35 $ I-> amOnPage ("/ cookieCest.php") по адресу codeception \ accept \ CookieCest.php: 34 $ I-> setCookie ("пример", "myvalue",{"путь": "/", "безопасный": ложь, "httpOnly": ложь, "истечение срока действия": 900, "домен": "www.new-ep ...}) на codeception \ accept \ CookieCest.php: 33 $ I-> amOnPage ("/ cookieCest.php") при получении кода \ accept \ CookieCest.php: 32
СБОЙ! Тестов: 1, Утверждений: 1,Сбои: 1.`
Насколько я вижу, конфигурация параметров cookie-файлов выглядит хорошо (и кажется необходимой, так как ее пропуск приводит к ошибке).
Iв настоящее время я использую selenium-server-standalone-3.141.59.jar, но попробовал более старые версии, которые вызывают ту же проблему.
Ссылочный файл cookieCest.php
- это всего лишь простой скрипт, var_dumps $_COOKIE
, поэтому я могу видетьчто нет доступных значений cookieв PHP.
Кто-нибудь сталкивался с подобной проблемой и знает, как ее решить?