簡體   English   中英

來自 selenium 驅動程序的 session_id 和來自瀏覽器 cookie 的 session 值是不同的值

[英]session_id from selenium driver and session value from browser cookie are different values

我在調試模式下開始測試,我打開了一些服務主頁,然后我從 selenium 驅動程序獲得了 session_id,並將它與來自瀏覽器 cookies 的 session 值進行了比較(它是 base64 編碼的,所以我解碼了它) - 它們是不同的。 可能來自我理解錯誤的文章,但我認為 cookies 應該存儲 session id。 有人可以解釋一下嗎?

您混淆了兩種不同類型的會話。 基本上 session 是為特定客戶端定義的系統 state。 通常服務器會存儲 state 並將其與某個 ID 相關聯。

因此,當您進行 selenium 測試時,(至少)有兩個會話。

  1. 在您的測試代碼和 WebDriver 之間維護的 session (這也是一個 web 服務)。 那是你用driver.session_id選擇的。 session 是在 WebDriver 端定義的。

  2. 在被測應用程序中維護的 session 這就是你從 cookies 中了解到的內容。

所以他們不一樣。 雖然 webdriver 上的 session 用於區分和定義 WebDriver 客戶端的狀態(您可以在多個測試中並行使用相同的驅動程序服務),cookies 中的 session 用於維護應用程序用戶 state(通常將瀏覽器活動與在應用程序)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM