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();
    }
}

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

关注微信公众号即可在手机上查阅,并可接收更多测试分享~

原文地址:https://www.cnblogs.com/songzhenhua/p/10197731.html