katalon系列十五:給瀏覽器添加cookie自動登陸


import org.openqa.selenium.Cookie
import org.openqa.selenium.WebDriver
import com.kms.katalon.core.webui.driver.DriverFactory

WebUI.openBrowser('')

'必須先訪問一個地址,才能設置cookie'
WebUI.navigateToUrl(GlobalVariable.G_URL)
'獲取driver'
WebDriver driver = DriverFactory.getWebDriver()
'設置cookie變量'
Cookie ck = new Cookie("session", "6NuSrfC2AjwSLvBQlwvowA")
'添加cookie'
driver.manage().addCookie(ck)
'刷新頁面以使cookie生效'
WebUI.refresh()

 

代碼如上,具體需要加什么cookie,需要問開發或自己去抓包分析,教程自行百度。

 

可以看到操作Cookie都是用的Selenium本身的方法,包括Cookie的獲取、增加、刪除(如果你想退出登陸相應的可以把Cookie全清了),以下舉些例子,具體大家可以去學習Selenium。

package com.test.cookies;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class CookieOperation {

    public static void main(String[] args) {

        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.baidu.com");
        driver.manage().window().maximize();

        // 獲取所有cookie個數
        System.out.println(driver.manage().getCookies().size());

        // 增加cookie
        Cookie cookie = new Cookie("username", "name", "/", null);
        driver.manage().addCookie(cookie);
        driver.manage().addCookie(new Cookie("password", "ppppwwww", "/", null));
        
        // 以name獲取cookie
        String name = driver.manage().getCookieNamed("username").getValue();
        String info = "用戶名是: " + name;
        String js = "alert(\"" + info + "\");";
        System.out.println(js);
        ((JavascriptExecutor) driver).executeScript(js);

        Thread.sleep(5000);
        driver.switchTo().alert().dismiss();
        
        // 以name刪除cookie
        driver.manage().deleteCookieNamed("password");

        // 再次獲取所有cookie個數,應該比之前多一個
        System.out.println(driver.manage().getCookies().size());

        driver.quit();
    }
}

 

---------------------------------------------------------------------------------

關注微信公眾號即可在手機上查閱,並可接收更多測試分享~


免責聲明!

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



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