Selenium webdriver 如何访问Mink(Behat)中的php$\u会话变量?

Selenium webdriver 如何访问Mink(Behat)中的php$\u会话变量?,selenium-webdriver,behat,mink,Selenium Webdriver,Behat,Mink,我正在尝试编写代码来登录用户,这是场景的先决条件。我不想让浏览器访问登录页面,填写字段并提交,这对于每个场景来说都是浪费时间。我想我应该只使用后台代码来登录用户并设置他的会话变量。像这样 $fr_user = new User(); $user_id = 0; $fr_user->loginUser($email,$pwd); $user_id = $_SESSION['fr_id']; $user = new User($user_id); <some checks to mak

我正在尝试编写代码来登录用户,这是场景的先决条件。我不想让浏览器访问登录页面,填写字段并提交,这对于每个场景来说都是浪费时间。我想我应该只使用后台代码来登录用户并设置他的会话变量。像这样

$fr_user = new User();
$user_id = 0;
$fr_user->loginUser($email,$pwd);
$user_id = $_SESSION['fr_id'];
$user = new User($user_id);

<some checks to make sure the $user_id set properly...>

$this->getSession()->visit($url."?".SID);
$fr_user=new user();
$user_id=0;
$fr_用户->登录用户($email,$pwd);
$user\u id=$\u会话['fr\u id'];
$user=新用户($user\u id);
$this->getSession()->visit($url.?”.SID);
如果我在步骤定义中对$\u会话变量进行var\u转储,我可以看到它工作得很好,fr\u id已经设置好了

我甚至让它将php会话ID发送到我正在访问的网页上,但是当我将var_转储到实际的网页上时,会话是完全空白的,即使具有相同的会话ID。(其间没有任何代码可以擦除任何内容)

那么,我错过了什么?behat代码和selenium浏览器窗口中是否有单独的会话?我如何让他们沟通


谢谢

我不是肯定的,但我认为您正在尝试从客户端访问$\u会话变量数据。该变量只能从服务器端代码访问

会话id会来回传递到浏览器,但实际数据不会


如果希望在客户端访问数据,则需要使用服务器端的函数setcookie()将$\u会话值转换为原始cookie。

我不是肯定的,但我认为您正在尝试从客户端访问$\u会话变量数据。该变量只能从服务器端代码访问

会话id会来回传递到浏览器,但实际数据不会

如果希望在客户端访问数据,则需要使用服务器端的函数setcookie()将$\u会话值转换为原始cookie