zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    ansible register 之用法
    vim 多行注释和取消注释
    开启 ssh 的 root 登录
    HAproxy 添加多个配置文件
    1002. A+B for Polynomials (25)
    Java中浮点数能连续精确表示整数的范围
    1001. A+B Format (20)
    1003. 我要通过!(20)
    1009. 说反话 (20)
    1006. 换个格式输出整数 (15)
  • 原文地址:https://www.cnblogs.com/CSgarcia/p/9548160.html
Copyright © 2011-2022 走看看