下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟sikuli结合,使用sikuli操作flash: 在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测页面的前端样式进行评测.比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样式进行评估: Python脚…
由于本人的学习定位是基于Selenium+WebDriver+Python+FireFox+Eclipse+Pydev, 所以我的笔记也只和这方面相关. 我打算先学习基于Python脚本WebDriver的常用操作. 在学习本篇章之前,要先学习Selenium-IDE 和 Selenium-RC的一些基础知识,以及做好Python脚本的WebDriver的客户端配置. 下面开始记录我的WebDriver常用操作学习过程. 测试用例场景 使用WebDriver打开FireFox浏览器 Python…
下面将模拟一个WebDriver关闭浏览器的操作 测试用例场景 在一个自动化测试脚本运行完毕后,我们很可能会采取关闭浏览器的操作,而关闭浏览器的常用操作有如下两种: close quit close 方法关闭当前的浏览器窗口 quit   方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接. Python脚本 from selenium import webdriver import time dr = webdriver.Firefox() prin…
测试用例场景 模拟选择下拉菜单中数据的操作 Python脚本 测试用HTML代码: <html> <body> <form> <select name="cars"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value=&quo…
测试用例场景 处理frame需要用到2个方法,分别是switch_to_frame(name_or_id_or_frame_element)和switch_to_default_content() 如何理解这个switch_to_frame(name_or_id_or_frame_element)方法呢?可以简单记忆一下,如果这个frame有name和id属性那么就用这两个属性就好,如果没有的话可以先用find_element_by_xxx方法找到这个frame元素,然后把这个元素传进去,这也是…
这一部分的内容,将是在WebDriver中,定位元素方法的演示,是将Selenium中Selenese元素定位命令的WebDriver中使用方法的结合 Selenium中元素定位方法复习可以参考: <零成本实现Web自动化测试--基于Selenium> 第四章 Selenium 命令 测试用例场景 测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了. 定位对象的目的一般有下面几种 操作对象 获得对象的属性,如获得测试对象的clas…
下面将使用WebDriver来模拟键盘的输入操作,以及复习上节的层对象操作 测试用例场景 定位到具体的对象后,我们就可以对这个对象进行具体的操作,比如先前已经看到过的点击操作(click).一般来说,webdriver中比较常用的操作对象的方法有下面几个 click 点击对象 send_keys 在对象上模拟按键输入 clear 清除对象的内容,如果可以的话 Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="co…
下面将使用WebDriver来控制浏览器的前进和后退操作 测试用例场景 此操作和get.url()方法功能相同 Python脚本 # coding=gbk ''' Created on 2013年12月7日 @author: Administrator ''' from selenium import webdriver import time import os if 'HTTP_PROXY' in os.environ: del os.environ['HTTP_PROXY'] dr = w…
下面将模拟执行一个控制浏览器最大化的操作 测试用例场景 当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选. 举例来说,如果在webdriver测试中使用了sikuli来对flash插件进行操作的话,把浏览器最大化无疑是一个比较简单的保证分辨率统一的解决方案. Python脚本 from selenium import webdriver import time dr = webdriver.Firefox(…
下面将使用webdriver来模拟测试中观察测试对象的状态的操作 测试用例场景 在web自动化测试中,我们需要获取测试对象的四种状态 是否显示.使用element.is_displayed()方法: 是否存在.使用find_element_by_xxx方法,捕获其抛出的异常, 如果存在异常的话则可以确定该元素不存在: 是否被选中.一般是判断表单元素,比如radio或checkbox是否被选中.使用element.is_selected()方法: 是否enable,也就是是否是灰化状态.使用ele…