selenium webdriver (python) 第一版PDF

Posted on 2013-08-30 22:59 虫师 阅读(221) 评论(0) 编辑 收藏

前言

如果你是一位有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)的更多相关文章

  1. 【转】Selenium WebDriver + Python 环境

    转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...

  2. selenium webdriver (python) 第二版

    前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...

  3. selenium webdriver (python) 第三版

    感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...

  4. Selenium WebDriver + Python 环境配置

    1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...

  5. selenium webdriver (python)2

    selenium webdriver (python) 第二版 前言  对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...

  6. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  7. selenium webdriver (python) 第一版PDF

    前言 如果你是一位有python语言基础的同学,又想通过python+ selenium去实施自动化,那么你非常幸运的找到了这份文档,我也非常荣幸能为你的自动化学习之路带来一丝帮助. 其实,我在sel ...

  8. selenium webdriver python 开始

    学习资料: Selenium with Python: http://selenium-python.readthedocs.org/en/latest/index.html 乙醇的python se ...

  9. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档:http://selenium.googlecode.com/git/docs/api/py/index.html目录一.selenium+python 环境搭建........ ...

随机推荐

  1. 算法题C#

    几个大公司(IBM.MicroSoft and so on)面试经典数据结构与算法题C#解答 1.链表反转 我想到了两种比较简单的方法 第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表 ...

  2. Asp.net Mvc WebSocket

    转载一种仿照Asp.net Mvc思维构建WebSocket服务器的方法 问题场景 Asp.net Mvc提供了DependencyResolver.Routing.Filter. Modelbind ...

  3. 【LeetCode】Set Matrix Zeroes 解题报告

    今天看到CSDN博客的勋章换了图表,同一时候也添加显示了博客等级,看起来都听清新的,感觉不错! [题目] Given a m x n matrix, if an element is 0, set i ...

  4. [ Bubble Sort ]& block

    [ Bubble Sort ] 冒泡排序!“预处理.block.预编译”!<环境:Terminal的gcc编译器> 简述:冒泡排序就是把小的元素往前调或者把大的元素往后调.比较是相邻的两个 ...

  5. 深入理解C指针之一:初识指针

    原文:深入理解C指针之一:初识指针 简单来说,指针包含的就是内存地址.理解指针关键在于理解C的内存管理模式.C里面有三种内存: ①.静态全局内存(生命周期从程序开始到程序结束,全局变量作用域是全局,静 ...

  6. OpenVPN多实例优化的思考过程

    1.sss 当构建组件之间的关系已经错综复杂到接近于一张全然图的时候,就要换一个思路了,或者你须要重构整个系统,或者你将又一次实现一个. 2.TAP网卡和TUN网卡 2.1.TAP的优势 1.方便组网 ...

  7. 当有多于64合乎逻辑的cpu时刻,Windows 下一个Oracle db 实例启动(startup)什么时候会hang(待定)

    Bug 9772171 - Database startup hangs on Windows when machine has more than 64 cores [ID 9772171.8] 该 ...

  8. cocos2d-x 3.0 rapidJson 解析操作应该注意的细节

    Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstanc ...

  9. JS链表

    链表 我们可以看到在javascript概念中的队列与栈都是一种特殊的线性表的结构,也是一种比较简单的基于数组的顺序存储结构.由于javascript的解释器针对数组都做了直接的优化,不会存在在很多编 ...

  10. Node.js连接MySQL数据库及构造JSON的正确姿势

    做一下整理,以前也很随意的引入包链接数据库,后来发现常常连接出问题,异常退出,后来使用在网上一个方法解决问题,网址由于书签丢失,抱歉不能引用了.再有就是简单的模块化下,使得目录合理点,再有就是说明一下 ...