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 文档:
http://selenium.googlecode.com/git/docs/api/py/index.html
目录
一、selenium+python环境搭建 4
1.1 selenium介绍 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.1 id和name定位 11
3.2 tag name和class name定位 11
3.3 CSS定位 11
3.4 XPath定位 12
3.5 link定位 14
3.6 Partial 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
说明:
这个文档的所有内容在本博客中都能找到,只是本文档的结构更合理,顺序更清晰,适合新手一步一步的较系统的学习。
「UI 测试自动化selenium」汇总
下载地址:
http://download.csdn.net/detail/fnngj/6041329
selenium webdriver (python)的更多相关文章
- 【转】Selenium WebDriver + Python 环境
转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...
- selenium webdriver (python) 第二版
前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...
- selenium webdriver (python) 第三版
感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...
- Selenium WebDriver + Python 环境配置
1. 下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...
- selenium webdriver (python)2
selenium webdriver (python) 第二版 前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...
- Selenium WebDriver + python 自动化测试框架
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...
- selenium webdriver (python) 第一版PDF
前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在sel ...
- selenium webdriver python 开始
学习资料: Selenium with Python: http://selenium-python.readthedocs.org/en/latest/index.html 乙醇的python se ...
- selenium webdriver (python)的基本用法一
阅在线 AIP 文档:http://selenium.googlecode.com/git/docs/api/py/index.html目录一.selenium+python 环境搭建........ ...
随机推荐
- 使用ArcGIS API for Silverlight + Visifire绘制地图统计图
原文:使用ArcGIS API for Silverlight + Visifire绘制地图统计图 最近把很久之前做的统计图又拿出来重新做了一遍,感觉很多时候不复习,不记录就真的忘了,时间是最好的稀释 ...
- Unity3D音频播放器 动态装载组件
大多数在线Unity有关如何只教程Unity在播放音乐.之后如何通过拖动它们无法继续添加音频文件 但有时在游戏中的对象要玩几个声音.这时候我们就需要使用代码控制,拖动推教程AudioClip颂值的方法 ...
- 编译 & 预处理
编译(compilation , compile) 1.利用编译程序从源语言编写的源程序产生目标程序的过程. 2.用编译程序产生目标程序的动作. 编译就是把高级语言变成计算机可以识别的2进制语言,计算 ...
- 圣魔大战3(Castle Fantisia)艾伦希亚战记改动器/秘籍——究极改动大法
艾伦西亚战记== 艾伦希亚战记,是一个游戏 武器:UltraEdit(金山游侠自带的文件改动器也能够,仅仅是这个专业) 目标: 存档文件(建议先备份) 知识:save00.dat-save19.da ...
- 客户端程序通过TCP通信传送"小文件"到服务器
客户端程序通过TCP通信传送"小文件"到服务器 [c#源码分享]客户端程序通过TCP通信传送"小文件"到服务器 源码 (不包含通信框架源码,通信框架源码请另行 ...
- css2与css3的区别
css2与css3的区别 CSS3引进了一些新的元素新的特性,我收集以下,自己做了一个小结: animation(基础动画)eg: div{animation: myfirst 5s linear ...
- NSNotification、delegate和KVO的区别
1.效率:delegate比nsnotification高.2. delegate方法比notification更加直接,最典型的特征是,delegate方法往往需要关注返回值, 也就是delegat ...
- 最流行的Node.js应用开发框架简介
最流行的Node.js应用开发框架简介 快速开发而又容易扩展,高性能且鲁棒性强.Node.js的出现让所有网络应用开发者的这些梦想成为现实.但是,有如其他新的开发语言技术一样,从头开始使用Node.j ...
- 在asp.net webservice中如何使用session
原文:在asp.net webservice中如何使用session 原文:刘武|在asp.net webservice中如何使用session 在使用asp.net编写webservice时,默认情 ...
- C#调用Outlook来发送邮件
原文:C#调用Outlook来发送邮件 写了一个简单的Windows Form程序,实现利用Outlook来发送电子邮件的功能.下面逐步讲解如何实现,再加上具体的代码. 打开VS2010, 新建一个W ...