zoukankan      html  css  js  c++  java
  • 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();
        }
    }

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

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

  • 相关阅读:
    显著提升程序员身心健康和工作效率的装备有哪些?
    谁控制了我们的浏览器?
    利用Http Authentication Url+csrf劫持路由器DNS
    如​何​删​除​G​P​T​保​护​分​区
    Linux定时器的使用
    缺少 mcrypt 扩展。请检查 PHP 配置。(phpmyadmin)
    xxx is not in the sudoers file
    linux mysql 找不到 <mysql/mysql.h>
    C++面试常见问题(持续更新)
    代码模板(new)
  • 原文地址:https://www.cnblogs.com/songzhenhua/p/10197731.html
Copyright © 2011-2022 走看看