ero*_*onn 5 php authentication cookies phpunit symfony
我正在尝试在我的 Symfony 5 应用程序中使用 Panther 进行 PhpUnit 测试。
当我尝试登录用户时,如下所示:
$client = static::createPantherClient();
/** @var User $user */
$user = $this->getSuperAdminAccount();
$session = self::$container->get('session');
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
$session->set('_security_main', serialize($token));
$session->save();
$cookie = new Cookie($session->getName(), $session->getId());
$client->getCookieJar()->set($cookie);
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我得到:
Panther Facebook\WebDriver\Exception\InvalidCookieDomainException :无效的 cookie 域
有人能帮助我吗 ?
小智 2
如果有人有同样的问题,我在 Github 上找到了解决方案:https ://github.com/symfony/panther/issues/283#issuecomment-674524048
只需在添加 cookie 之前请求域:
$client->request('GET', 'https://www.google.com/');
$client->getCookieJar()->set(new Cookie('my_cookie', 'hello', domain: '.google.com'));
$client->request('GET', 'https://www.google.com/');
Run Code Online (Sandbox Code Playgroud)