selenium webdriver(python)
(第一版)
声明:
本文档以免费形式传播,禁止用于任何商业用途,如果要用于商业请联系作者,欢迎一切免费形式的传播,请著名博客园--虫师的信息。
前言
如果你是一位有python语言基础的同学,又想通过python+selenium去实施自动化,那么你非常幸运的到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助。
其实,我在selenium自动化方面也是初学者,虽然在刚开始从事测试工作的就尝试学习selenium自动化工具,购买了面《零成本实现web自动化测试---基于seleinum与Bromine》学了一段时间不得门,当时水平有限,甚至一直都不理解什么自动化测试框架,后来就放弃了自动化的学习。
今年换工作后,所测试的项目用python开发,为了更好的测试项目,开始学习python 语言,花一个月多月的时候将python基础学习了一下。正好所测试的项目也比较适合进行自动化,于是尝试通过python+selenium对项目进行自动化工作。
学习的过程还是比较艰难的,对于selenium webdriver的ruby和java的实例比较多,python甚少,查询API文档有方法,但没有实例,不知道如何实现。在学习过程中要感谢乙醇同学,他在ruby+selenium方面有很深的功力;另一位要感谢的是rabbit,他在python+selenium的学习中给我了很多帮助。
下面要简单说说本文档的内容:
为了学习selenium webdriver本身的用法,全文没有引入python的unittest测试框架;所有的脚本也都是单个的用例的学习,引入框架后将会提供更强大的功能,比如用例的运行时间,用例的批量执行等。本文档是第一版,我此后也会继续学习unittest测试框架的技术,并将在第二版中加入。
本文档不是API,所以还有很多方法没有整理,如果在学习的过程中有任何疑问,请查阅在线AIP文档:
lecode/git/docs/api/py/index.html
2013.8.30
目录
一、selenium+python环境搭建 (4)
1.1selenium介绍 (4)
1.2准备工作 (4)
1.3安装步骤 (5)
1.4安装chrome driver (6)
1.5安装IE driver (7)
二、开始第一个脚本 (7)
2.1为什么选python (7)
2.2第一个脚本 (7)
2.3脚本解析 (8)
三、元素的定位 (9)
3.1id和name定位 (11)
3.2tag name和class name定位 (11)
3.3CSS定位 (11)
3.4XPath定位 (12)
3.5link定位 (14)
3.6Partial link text定位 (14)
四、添加等待时间 (14)
4.1、添加休眠 (15)
4.2、智能等待 (15)
五、打印信息 (16)
5.1、打印tile (16)
5.2、打印URL (17)
六、浏览器的操作 (18)
6.1、浏览器最大化 (18)
6.2、设置浏览器宽、高 (19)
七、操作浏览器的前进、后退 (19)
八、操作测试对象 (21)
九、键盘事件 (22)
9.1、键盘按键用法 (23)
9.1、键盘组合键用法 (24)
十、鼠标事件 (25)
10.1、鼠标右键 (26)
10.2、鼠标双击 (27)
10.3、鼠标拖放 (28)
十一、定位一组元素 (28)
11.1、第一种定位方法 (30)
11.2、第二种定位方法 (30)
11.3、去掉最后一个勾选 (31)
十二、多层框架/窗口定位 (32)
12.1、多层框架定位 (33)
12.1、多层窗口定位 (35)
十三、层级定位 (35)
十四、上传文件操作 (39)
14.1、操作文件上传例子 (39)
14.2、139邮箱上传 (40)
十五、下拉框处理 (41)
15.1、操作下拉框例子 (42)
15.2、百度搜索设置下拉框操作 (43)
十六、调用js (44)
15.1、通过js隐藏元素 (45)
15.2、通过js使输入框标红 (47)
十六、控制浏览器滚动条 (48)
16.1、场景一 (48)
16.1、场景二 (48)
十七、webdriver原理解析 (49)
一、selenium+python环境搭建
python默认安装路径1.1selenium介绍
selenium是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium,相因为它相比QTP有诸多有点:
*免费,也不用再为破解QTP而大伤脑筋
*小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G的程序。
*这也是最重要的一点,不管你以前更熟悉C、java、ruby、python、或都是C#,你都可以通过selenium完成自动化测试,而QTP只支持VBS
*支持多平台:windows、linux、MAC,支持多浏览器:ie、ff、safari、opera、chrome
*支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。
1.2准备工作
搭建平台windows
准备工具如下:
-------------------------------------------------------------
下载python
/getit/
下载setuptools【python的基础包工具】
/pypi/setuptools
下载pip【python的安装包管理工具】
/pypi/pip
-------------------------------------------------------------
因为版本都在更新,pyhton选择,setuptools选择你平台对应的版本,pip不要担心在windows下一样可用。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。