Codeception和Selenium:无法设置cookie

问题描述 投票:0回答:2

对于我的一个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测试codeception \ acceptance \ CookieCest.php:settingCookieSetsCookie Step Assert等于“myvalue”,null Fail Failed断言null匹配预期的'myvalue'。

场景步骤:

  1. $ I-> assertEquals(“myvalue”,null)at codeception \ acceptance \ CookieCest.php:36
  2. $ I-> grabCookie(“example”)at codeception \ acceptance \ CookieCest.php:35
  3. $ I-> amOnPage(“/ cookieCest.php”)at codeception \ acceptance \ CookieCest.php:34
  4. $ I-> setCookie方法( “示例”, “myvalue的”,{ “路径”: “/”, “安全”:假 “的HttpOnly”:假 “期满”:900, “域”:“www.new- ep ...})在codeception \ acceptance \ CookieCest.php:33
  5. $ I-> amOnPage(“/ cookieCest.php”)at codeception \ acceptance \ CookieCest.php:32

FAILURES!测试:1,断言:1,失败:1.`

据我所知,cookie params配置看起来很好(似乎需要,因为它会导致错误)。

我目前正在使用selenium-server-standalone-3.141.59.jar,但尝试了产生相同问题的旧版本。

引用文件cookieCest.php只是一个简单的脚本var_dumps $_COOKIE所以我可以看到PHP中没有可用的cookie值。

有没有人遇到类似的问题,知道如何处理它?

php selenium cookies codeception
2个回答
0
投票

你的代码应该有效。可能的解决方案是,当您要设置cookie以使其失败时,不会加载页面。

此外,如果你想检查你的cookie,你可以使用seeCookie函数,如:

试试这个解决方案,让我知道它是否有任何改变。

$i->amOnPage('/cookieCest.php');
$i->wait(5); 
$i->setCookie('example', 'myvalue', $cookieDefaultParams);
$i->seeCookie('example');

0
投票

使用较旧的Chrome版本(例如66)尝试此测试。我认为所有与cookie相关的内容都会被最新的几个Chrome版本破坏。

© www.soinside.com 2019 - 2024. All rights reserved.