超时设置
测试用例场景
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