• 【Web自动化测试——代码篇九】常用方法——Cookie的操作


      Java Python Ruby
    获取所有的Cookie driver.manage().getCookies() driver.get_cookies() driver.manage.all_cookies
    获取指定cookies的信息 driver.manage().getCookieNamed(name) driver.get_cookie(name) driver.manage.cookie_named(name)
    添加cookie driver.manage().addCookie(cookie_dict) driver.add_cookie(cookie_dict) driver.manage.add_cookie(cookie)
    删除指定cookie信息 driver.manage().deleteCookieNamed(name) driver.delete_cookie(name,optionsString) driver.manage.delete_cookie(name)
    删除所有cookie信息 driver.manage().deleteAllCookies() driver.delete_all_cookies() driver.manage.delete_all_cookies

    **代码时间 **

    Java

    package JavaTest;
    
    import java.io.IOException;
    import java.util.NoSuchElementException;
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.Cookie;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class Test {
        public static void main(String[] arg) throws InterruptedException, IOException
        {
            WebDriver driver = new FirefoxDriver();
    
             // 设置隐示等待时长:10秒;
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            driver.get("http://www.baidu.com");    
            
            try {
                driver.manage().deleteCookieNamed("BAIDUID"); //删除指定cookie信息
                driver.manage().addCookie(new Cookie("BAIDUID","123")); //添加cookie
                System.out.println(driver.manage().getCookieNamed("BAIDUID")); //获取指定cookies的信息
                System.out.println(driver.manage().getCookies()); //获取所有的Cookie
            }
            catch(NoSuchElementException e)
            {
                System.out.println(e.getMessage());
            }
            finally
            {
                driver.close();
            }    
        }
    }

    Python

    from selenium import webdriver
    
    driver = webdriver.Firefox()
    
    # 隐式等待10S,打开网址(可直接通过frame的id和name定位)
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com/")
    
    try:
       cookie = driver.get_cookie(name = 'BAIDUID') # 获取指定cookies的信息
       driver.delete_cookie(name = 'BAIDUID') # 删除指定cookie信息
       driver.delete_all_cookies() # 删除所有cookie信息
       cookies = driver.get_cookies()  # 获取所有的Cookie
       print(cookie)
       print(cookies)
    except Exception as e:
        print(e.args[0])
    finally:
        driver.close()

    Ruby

    class Baidu
      require 'rubygems'
      require 'selenium-webdriver'
    
      # 打开firefox并输入网址
      driver = Selenium::WebDriver.for :firefox
    
      # 设置隐式等待时间10S
      driver.manage.timeouts.implicit_wait = 10
      driver.navigate.to "http://www.baidu.com"
    
      begin
        driver.manage.delete_cookie('BAIDUID') # 删除指定cookie信息
        driver.manage.add_cookie(:name => 'BAIDUID' , :value => '123') # 添加cookie
        cookie = driver.manage.cookie_named('BAIDUID') # 获取指定cookies的信息
        puts cookie
        cookies = driver.manage.all_cookies # 获取所有的Cookie
        puts cookies
      rescue => e
        puts e.message # 显示报错信息
      ensure
        driver.close
      end
    end

  • 相关阅读:
    <记录> axios 模拟表单提交数据
    PHP 设计模式(一)
    CSS3中translate、transform和translation的区别和联系
    微信小程序 支付功能 服务器端(TP5.1)实现
    微信小程序 用户登录 服务器端(TP5.1)实现
    <记录> curl 封装函数
    <记录>TP5 关联模型使用(嵌套关联、动态排序以及隐藏字段)
    PHP/TP5 接口设计中异常处理
    TP5 自定义验证器
    高并发和大流量解决方案--数据库缓存
  • 原文地址:https://www.cnblogs.com/CSgarcia/p/9548160.html
Copyright © 2020-2023  润新知