Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作

时间:2022-09-23 21:05:18

超时设置

测试用例场景


  webdriver中可以设置很多的超时时间

  • implicit_wait。识别对象时的超时时间。过了这个时间如果对象还没找到的话就会抛出异常

Python脚本


ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")

cookie操作
测试用例场景


  webdriver可以读取并添加cookie。有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie的测试是无法通过白盒和集成测试完成的。

  另外更加常见的一个场景是自动登陆。有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie中添加正确的值就可以实现自动登陆了。什么图片验证码、登陆的用例就都是浮云了。

Python脚本


测试用Python脚本:

# coding=gbk
'''
Created on 2013年12月19日

@author: Administrator
'''
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
import os
if 'HTTP_PROXY'in os.environ: del os.environ['HTTP_PROXY']

dr = webdriver.Firefox()

url = 'http://www.baidu.com'
dr.get(url)

print dr.get_cookies()
sleep(30)
dr.delete_all_cookies()
dr.add_cookie({'name': 'BAIDUID', 'value': 'B9FEA55ED1076B189EC01BAC09F15300001:FG=1'})
dr.add_cookie({'name': 'BDUSS', 'value': 'B9FEA55ED1076B189EC01BAC09F15300001:FG=1'})

dr.get(url)

sleep(3)
dr.quit()

cookie内容我修改过,如果你想看你的cookie,可以使用工具,下载地址:

http://www.9553.com/soft/16711.htm