前言
如果你是一位有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 环境搭建........ ...
随机推荐
-
C++处理Json串——jsoncpp库
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录.Jsoncpp是个跨 ...
-
[已解决] 点击 【Show in system explorer】Eclipse卡死,未响应
新版的Eclipse自带了 [Show in system explorer] 功能很方便,有一天突然不好用了,点它Eclipse就卡死, 可能由以下原因导致的: (可能性最大)windows本身有问 ...
-
TMsgThread, TCommThread -- 在delphi线程中实现消息循环
http://delphi.cjcsoft.net//viewthread.php?tid=635 在delphi线程中实现消息循环 在delphi线程中实现消息循环 Delphi的TThread类使 ...
-
关于 "; +new Date "; 的个人见解
今天晚上,在一个Javascript的Q群里,有人问下面这种代码是什么意思: var time = +new Date; 这段代码中,比较奇怪的是有一个加号,下面说说我个人的理解:这是对后面的对象做一 ...
-
Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...
-
C语言,const
const意味着“只读” ubunto下的实验 1). 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的.如果你曾花很多时间清理 ...
-
matlab R2016a 中添加新的工具箱的方法
matlab添加新的工具箱分三步: 1. 下载新的工具箱,并解压. 2. 将解压后的工具箱文件夹移到安装的matlab中的toolbox文件夹中 3. 添加新文件夹及其子文件夹到路径中. 接下来以添加 ...
-
微信小程序之支付密码输入demo
在小程序中实现支付密码的输入,要解决几个问题: 1.小程序要想唤起键盘,必须要借助input控件.通过input控件和其属性focus来唤起和隐藏输入键盘. 2.要让input控件不可见.让光标和输入 ...
-
Oracle分析函数及常用函数: over(),rank()over()作用及用法--分区(分组)求和&; 不连续/连续排名
(1) 函数: over()的作用及用法: -- 分区(分组)求和. sum() over( partition by column1 order by column2 )主要用来对某个字 ...
-
初识Vulkan【转】
Vulkan是Khronos组织制定的“下一代”开放的图形显示API.是与DirectX12能够匹敌的GPU API标准. Vulkan是基于AMD的Mantle API演化而来,眼下Vulkan 1 ...