下面将模拟执行一个控制浏览器最大化的操作 测试用例场景 当我们在测试中使用一些基于图像和坐标的辅助测试工具时,我们就会需要使浏览器在每次测试时保存最大化,以便在同一分辨率下进行图像比对和坐标点选. 举例来说,如果在webdriver测试中使用了sikuli来对flash插件进行操作的话,把浏览器最大化无疑是一个比较简单的保证分辨率统一的解决方案. Python脚本 from selenium import webdriver import time dr = webdriver.Firefox(…
下面将使用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…
由于本人的学习定位是基于Selenium+WebDriver+Python+FireFox+Eclipse+Pydev, 所以我的笔记也只和这方面相关. 我打算先学习基于Python脚本WebDriver的常用操作. 在学习本篇章之前,要先学习Selenium-IDE 和 Selenium-RC的一些基础知识,以及做好Python脚本的WebDriver的客户端配置. 下面开始记录我的WebDriver常用操作学习过程. 测试用例场景 使用WebDriver打开FireFox浏览器 Python…
下面将使用WebDriver来模拟键盘的输入操作,以及复习上节的层对象操作 测试用例场景 定位到具体的对象后,我们就可以对这个对象进行具体的操作,比如先前已经看到过的点击操作(click).一般来说,webdriver中比较常用的操作对象的方法有下面几个 click 点击对象 send_keys 在对象上模拟按键输入 clear 清除对象的内容,如果可以的话 Python脚本 测试用HTML代码: <html> <head> <meta http-equiv="co…
下面将使用webdriver来控制浏览器窗口的大小 测试用例场景 设置浏览器窗口的大小有下面两个比较常见的用途: 在统一的浏览器大小下运行用例,可以比较容易的跟一些基于图像比对的工具进行结合,提升测试的灵活性及普遍适用性.比如可以跟sikuli结合,使用sikuli操作flash: 在不同的浏览器大小下访问测试站点,对测试页面截图并保存,然后观察或使用图像比对工具对被测页面的前端样式进行评测.比如可以将浏览器设置成移动端大小(320x480),然后访问移动站点,对其样式进行评估: Python脚…
下面将模拟一个WebDriver关闭浏览器的操作 测试用例场景 在一个自动化测试脚本运行完毕后,我们很可能会采取关闭浏览器的操作,而关闭浏览器的常用操作有如下两种: close quit close 方法关闭当前的浏览器窗口 quit   方法不仅关闭窗口,还会彻底的退出webdriver,释放与driver server之间的连接. Python脚本 from selenium import webdriver import time dr = webdriver.Firefox() prin…
这一部分的内容,将是在WebDriver中,定位元素方法的演示,是将Selenium中Selenese元素定位命令的WebDriver中使用方法的结合 Selenium中元素定位方法复习可以参考: <零成本实现Web自动化测试--基于Selenium> 第四章 Selenium 命令 测试用例场景 测试对象的定位和操作是webdriver的核心内容,其中操作又是建立在定位的基础之上,因此对象定位就越发显得重要了. 定位对象的目的一般有下面几种 操作对象 获得对象的属性,如获得测试对象的clas…
下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在测试时使用tab键将焦点转移到下一个元素,这时候也需要send_keys.在某些更复杂的情况下,还会出现使用send_keys来模拟上下键来操作下拉列表的情况. Python脚本 测试HTML代码: <html> <head> <meta http-equiv="con…
下面将使用WebDriver来模拟操作一个层级定位元素的操作 测试用例场景 在实际的项目测试中,经常会有这样的需求:页面上有很多个属性基本相同的元素,现在需要具体定位到其中的一个.由于属性基本相当,所以在定位的时候会有些麻烦,这时候就需要用到层级定位.先定位父元素,然后再通过父元素定位子孙元素. Python脚本 下面的代码演示了如何通过层级定位来定位下拉菜单中的某一项.由于两个下拉菜单中每个选项的link text都相同,href也一样,所以在这里就需要使用层级定位了. 具体思路是:先点击显示…
下面将使用WebDriver来模拟操作定位一组对象的操作 测试用例场景 从上一节的例子中可以看出,webdriver可以很方便的使用find_element方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用find_elements方法. 定位一组对象一般用于以下场景: 批量操作对象,比如将页面上所有的checkbox都勾上 先获取一组对象,再在这组对象中过滤出需要具体定位的一些对象.比如定位出页面上所有的checkbox,然后选择最后一个 Python脚本 示例用HT…