1
我正在嘗試編寫代碼來登錄用戶,這是該場景的先決條件。我不想讓瀏覽器訪問登錄頁面,填寫字段並提交,這似乎是浪費每一個場景的時間。我想我只會使用登錄用戶的幕後代碼並設置他的會話變量。像這樣...
$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);
如果我做的步驟定義裏面的$ _SESSION變量的的var_dump,我可以看到它的工作非常棒,fr_id是越來越設置。
我甚至已經把php會話ID發送到我正在訪問的網頁上,但是當我在實際網頁上執行var_dump時,即使使用相同的會話ID,會話也是完全空白的。 (沒有任何代碼可以擦除任何東西)
那麼,我錯過了什麼?在behat代碼和selenium瀏覽器窗口中是否有單獨的會話?我如何讓他們溝通?
感謝