selenium 操作cookie (cookie測試)


前言

在實際的web應用中,可能會涉及到cookie測試,驗證瀏覽器中的cookie是否正確.。Cookies 驗證:如果系統使用了cookie,測試人員需要對它們進行檢測。如果在 cookies 中保存了注冊信息,請確認該 cookie能夠正常工作而且已對這些信息已經加密。如果使用 cookie 來統計次數,需要驗證次數累計正確。關於cookie的使用可以參考瀏覽器的幫助信息。如果使用B/S結構cookies。WebDriver 提供了操作Cookie 的相關方法可以讀取、添加和刪除cookie 信息等方法。(cookie 數據是以以字典的形式進行存放的)

(1)getCookies() 獲得所有cookie 信息。
(2)getCookieNamed(String name) 返回字典的key 為“name”的cookie 信息。
(3) addCookie(cookie dict) 添加cookie。“cookie_dict”指字典對象,必須有name 和value 值。
(4)deleteCookieNamed(String name) 刪除cookie 信息。“name”是要刪除的cookie 的名稱;
(5)“optionsString”是該cookie 的選項,目前支持的選項包括“路徑”,“域”。
(6) deleteAllCookies() 刪除所有cookie 信息。

一、獲得cookie

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
ChromeOptions Options = new ChromeOptions();
Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
WebDriver driver = new ChromeDriver(Options);
driver.manage().window().maximize();
// 窗口最大化
driver.get("https://www.baidu.com/");
Set<Cookie> cookie= driver.manage().getCookies();
//獲取cookie
System.out.println(cookie);
//打印cookie
driver.close();
driver.quit();
}

二、增加/刪除cookie

public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
        ChromeOptions Options = new ChromeOptions();
        Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
        WebDriver driver = new ChromeDriver(Options);
        driver.manage().window().maximize();
        // 窗口最大化
        driver.get("https://www.baidu.com/");
        //添加cookie
        Cookie c1 = new Cookie("name", "key-aaaaaaa");
        Cookie c2 = new Cookie("value", "value-bbbbbb");
        driver.manage().addCookie(c1);
        driver.manage().addCookie(c2);
        // 獲得cookie
        Set<Cookie> coo = driver.manage().getCookies();
        System.out.println(coo);
        //刪除所有的cookie
        // driver.manage().deleteAllCookies();
        driver.close();
        driver.quit();
    }

那么在什么情況下會用到cookie 的操作呢?例如開發人員開發一個功能,當用戶登錄后,會將用戶的用戶名寫入瀏覽器cookie,指定的key 為“username”,那么我們就可以通過getCookies() 找到useranme,打印vlaue。
如果找不到username 或對應的value 為空,那么說明cookie 沒有成功的保存到瀏覽器中。deleteCookie() 和deleteAllCookies() 的使用也很簡單,前者通過name 刪除一個特定的cookie 信息,后者直接刪除瀏覽器中的所有cookies()信息。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM