新書推薦:
《
写出心灵深处的故事:踏上疗愈之旅(修订版)(创意写作书系)
》
售價:HK$
66.1
《
控制权视角下的家族企业管理与传承
》
售價:HK$
87.4
《
冯友兰和青年谈心系列
》
售價:HK$
167.3
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:HK$
77.3
《
认知行为疗法:心理咨询的顶层设计
》
售價:HK$
99.7
《
FANUC工业机器人装调与维修
》
售價:HK$
99.7
《
吕著中国通史
》
售價:HK$
62.7
《
爱琴海的光芒 : 千年古希腊文明
》
售價:HK$
199.4
|
編輯推薦: |
1. 主要讲解webdriver开源的web自动化测试工具的原理api接口实例、unnittest、五大框架实战(行为驱动 分布式测试框架 数据驱动测试框架 关键词驱动测试框架 混合模式测试框架)、常见自动化测试的问题处理。2. 75个实例、5大框架,能够实战讲解自动化测试的实施
|
內容簡介: |
本书以分享SeleniumWebDriver实战经验为要,致力于为Tester讲解开源的Web自动化测试工具的原理、api接口实例、unittest、五大框架实战(行为驱动、分布式测试框架、数据驱动测试框架、关键词驱动测试框架、混合模式测试框架)以及自动化测试中常见的问题处理。 本书既可让初学者从入门到精通,循序渐进; 也可帮中高级Tester夯实技能,从形象到抽象,提供测试思想中更多的可能性。
|
目錄:
|
目录
第一篇基础篇
第1章Selenium简介
1.1Selenium的前世今生
1.2Selenium工具套件介绍
1.3Selenium支持的浏览器和平台
1.3.1Selenium IDE、Selenium 1和Selenium RC支持的浏览器和平台
1.3.2Selenium 2(WebDriver)支持的浏览器
1.4Selenium RC和 WebDriver的实现原理
1.4.1Selenium RC的实现原理
1.4.2WebDriver的实现原理
1.4.3Selenium 1.0和WebDriver的特点
1.5Selenium 3的新特性
第2章自动化测试那点事儿
2.1自动化测试目标
2.2管理层的支持
2.3投入产出比
2.4敏捷开发中的自动化测试应用
2.5自动化测试人员分工
2.6自动化测试工具的选择和推广使用
2.6.1自动化测试工具的选择
2.6.2Selenium WebDriver和QTP工具的特点比较
2.7在项目中实施自动化的最佳实践
2.8学习Selenium工具的能力要求
第3章自动化测试辅助工具
3.1安装Firefox浏览器
3.2安装Firebug插件
3.3Firebug插件的使用
3.3.1启动Firebug插件
3.3.2Firebug插件的常用功能
3.4安装FirePath插件
3.5FirePath插件的使用
3.5.1FirePath插件中使用XPath定位方式
3.5.2FirePath插件中使用CSS定位方式
3.6IE浏览器自带的辅助开发工具
第4章Selenium IDE
4.1Selenium IDE的定义
4.2安装Selenium IDE
4.2.1从Selenium官网安装
4.2.2使用离线XPI安装文件安装
4.3Selenium IDE插件界面和功能介绍
4.3.1主界面
4.3.2常用工具栏
4.3.3脚本编辑区域
4.4常用菜单项
4.4.1文件菜单
4.4.2编辑菜单
4.4.3Actions菜单
4.4.4Option菜单
4.5录制和回放脚本实例
4.6Selenium IDE脚本介绍Selenese
4.7Selenium IDE的基本命令使用实例
4.7.1waitForText、verifyText和assertText命令
4.7.2storeTitle命令和echo命令
4.7.3openWindow命令和selectWindow命令
4.8从Selenium IDE导出脚本
4.8.1导出脚本文件
4.8.2将Selenium IDE插件中的某行命令导出为Python脚本
第5章搭建Python环境和PyCharm集成开发环境
5.1安装Python并配置Python环境
5.1.1下载并安装Python解释器
5.1.2配置Python环境
5.1.3安装pip
5.2安装Python集成开发环境PyCharm
5.3新建一个Python工程
第6章Selenium3(WebDriver)的安装
6.1在Python中安装WebDriver
6.2第一个WebDriver脚本
6.3各浏览器驱动的使用方法
第7章单元测试框架的使用介绍
7.1单元测试的定义
7.2unittest单元测试框架
7.2.1unittest的定义
7.2.2unittest框架的4个重要概念
7.2.3单元测试加载方法
7.2.4测试用例
7.2.5测试集合
7.2.6按照特定顺序执行测试用例
7.2.7忽略某个测试方法
7.2.8命令行模式执行测试用例
7.2.9批量执行测试模块
7.2.10常用的断言方法
7.2.11使用HTMLTestRunner生成HTML测试报告
7.3在unittest中运行第一个WebDriver测试用例
第8章页面元素定位方法
8.1定位页面元素方法汇总
8.2使用ID定位
8.3使用name定位
8.4使用链接的全部文字定位
8.5使用部分链接文字定位
8.6使用HTML标签名定位
8.7使用Class名称定位
8.8使用XPath定位
8.8.1XPath的定义
8.8.2XPath节点
8.8.3XPath定位语法
8.8.4XPath运算符
8.9CSS定位
8.9.1CSS的概念
8.9.2CSS定位语法
8.9.3XPath定位与CSS定位的比较
8.10表格的定位
8.10.1遍历表格所有的单元格
8.10.2定位表格中的某个元素
8.10.3定位表格中的子元素
第二篇实战应用篇
第9章WebDriver的多浏览器测试
9.1使用IE浏览器进行测试
9.2使用Firefox浏览器进行测试
9.3使用Chrome浏览器进行测试
第10章WebDriver API详解
10.1访问某个网址
10.2网页的前进和后退
10.3刷新当前网页
10.4浏览器窗口最大化
10.5获取并设置当前窗口的位置
10.6获取并设置当前窗口的大小
10.7获取页面的Title属性值
10.8获取页面HTML源代码
10.9获取当前页面的URL地址
10.10获取与切换浏览器窗口句柄
10.11获取页面元素的基本信息
10.12获取页面元素的文本内容
10.13判断页面元素是否可见
10.14判断页面元素是否可操作
10.15获取页面元素的属性
10.16获取页面元素的CSS属性值
10.17清空输入框中的内容
10.18在输入框中输入指定内容
10.19单击按钮
10.20双击某个元素
10.21操作单选下拉列表
10.21.1遍历所有选项并打印选项显示的文本和选项值
10.21.2选择下拉列表元素的三种方法
10.22断言单选列表选项值
10.23操作多选的选择列表
10.24操作可以输入的下拉列表(输入的同时模拟按键)
10.25操作单选框
10.26操作复选框
10.27断言页面源码中的关键字
10.28对当前浏览器窗口截屏
10.29拖拽页面元素
10.30模拟键盘单个按键操作
10.31模拟组合按键操作
10.31.1通过WebDriver内建的模块模拟组合键
10.31.2通过第三方模块模拟组合按键
10.31.3通过设置剪贴板实现复制和粘贴
10.32模拟鼠标右键
10.33模拟鼠标左键按下与释放
10.34保持鼠标悬停在某个元素上
10.35判断页面元素是否存在
10.36隐式等待
10.37显式等待
10.38显式等待中期望的场景
10.39使用Title属性识别和操作新弹出的浏览器窗口
10.40通过页面的关键内容识别和操作新浏览器窗口
10.41操作Frame中的页面元素
10.42使用Frame中的HTML源码内容操作Frame
10.43操作IFrame中的页面元素
10.44操作JavaScript的Alert弹窗
10.45操作JavaScript的confirm弹窗
10.46操作JavaScript的prompt弹窗
10.47操作浏览器的Cookie
10.48指定页面加载时间
第11章WebDriver高级应用
11.1使用JavaScript操作页面元素
11.2操作Web页面的滚动条
11.3在Ajax方式产生的浮动框中,单击选择包含某个关键字的选项
11.4结束Windows中浏览器的进程
11.5更改一个页面对象的属性值
11.6无人工干预地自动下载某个文件
11.7无人工干预地自动上传附件
11.7.1使用WebDriver的send_keys方法上传文件
11.7.2模拟键盘操作,实现上传文件
11.7.3使用第三方工具AutoIt上传文件
11.8右键另存为下载文件
11.9操作日期控件
11.10启动带有用户配置信息的Firefox浏览器窗口
11.11UI对象库
11.12操作富文本框
11.13精确比较页面截图图片
11.14高亮显示正在操作的页面元素
11.15浏览器中新开标签页(Tab)
11.16测试过程中发生异常或断言失败时进行屏幕截图
11.17使用日志模块记录测试过程中的信息
11.18封装操作表格的公用类
11.19测试HTML5语言实现的视频播放器
11.20在HTML5的画布元素上进行绘画操作
11.21操作HTML5存储对象
11.22使用Chrome浏览器自动将文件下载到指定路径
11.23修改Chrome设置伪装成手机M站
11.24屏蔽Chrome的ignorecertificateerrors提示及禁用扩展插件并实现
窗口最大化
11.25禁用Chrome浏览器的PDF和Flash插件
11.26禁用IE的保护模式
11.27启动Firefox的同时打开Firebug
11.28禁用Chrome浏览器中的Image加载
11.29禁用Firefox浏览器中的CSS、Flash及Image加载
第三篇自动化测试框架搭建篇
第12章数据驱动测试
12.1数据驱动概述
12.2数据驱动单元测试的环境准备
12.3使用unittest和ddt进行数据驱动
12.4使用数据文件进行数据驱动
12.5使用Excel进行数据驱动测试
12.6使用XML进行数据驱动测试
12.7使用MySQL数据库进行数据驱动测试
第13章行为驱动测试
13.1行为驱动开发和lettuce简介
13.2行为驱动测试的环境准备
13.3第一个英文语言行为驱动测试
13.4通过类模式实现英文行为驱动
13.5lettuce框架的步骤数据表格
13.6使用WebDriver进行英文语言的行为数据驱动测试
13.7使用WebDriver进行中文语言的行为数据驱动测试
13.8批量执行行为驱动用例集
13.9解决中文描述的场景输出到控制台乱码
第14章Selenium Grid的使用
14.1Selenium Grid简介
14.2分布式自动化测试环境准备
14.3Selenium Grid的使用方法
14.3.1远程调用Firefox浏览器进行自动化测试
14.3.2远程调用IE浏览器进行自动化测试
14.3.3远程调用Chrome浏览器进行自动化测试
14.3.4同时支持多个浏览器进行自动化测试
14.4结合unittest完成分布式自动化测试
14.5实现并发的分布式自动化测试
第15章自动化测试框架的搭建及测试实战
15.1自动化测试框架
15.2数据驱动框架及实战
15.3关键字驱动框架及实战
15.4关键字&&数据混合驱动框架及实战
第四篇常见问题和解决方法
第16章自动化测试常见问题和解决方法
16.1如何让WebDriver支持IE 11
16.2解决Unexpected error launching Internet Explorer. Browserzoom
level was set to 75%(或其他百分比)的错误
16.3解决某些IE浏览器中输入数字和英文特别慢的问题
16.4解决Firefox浏览器的cant access dead object异常
16.5常见异常和解决方法
|
內容試閱:
|
前言
随着互联网的高速发展,中国的互联网达到了一个空前的繁荣水平,数亿量级用户的产品登上了中国的互联网发展舞台,阿里巴巴、腾讯、百度等多个互联网巨头也开始在世界的互联网舞台崭露头角,互联网行业的从业人员也达到了上百万人的规模,中国的互联网产品已经深入到网民生活的各个方面。
随着互联网行业在中国的迅猛发展,对于中国的软件开发和测试行业也提出了更高的技术要求与质量要求,软件测试从业者的技术水平也被提升到空前的高要求阶段。以往我们看到测试人员的招聘重点都是仅限于对测试用例设计和业务的理解,现今所看到的更多测试职位对测试人员提出了更高的技术能力要求。例如,精通一门编程语言,熟悉MySQL或者Oracle数据库,精通自动化测试和性能测试,能独立开发测试工具等。为了能更好地适应互联网社会的发展潮流,软件测试从业者必须在技术能力上不断地提升自己,才能真正站在职业发展的巅峰。
自动化测试技术对测试人员来说,是一个必要的高级技能要求,越来越多的测试从业者并不甘于手工测试,都非常希望通过自动化的方式来减少枯燥无味且不断重复的手工测试劳动。尽管,主流的Web自动化测试开源工具Selenium WebDriver,已经成为众多软件测试从业者学习的热点,但是市面上针对Selenium自动化测试方面的书籍很少,基于实践方式来讲解Selenium应用技术的书籍更是凤毛麟角。我有幸受吴老邀请,将我工作中实践内容与吴老教学内容融合,一起编写了这本基于Python语言实践操作的Selenium 3教学书籍,来解决软件测试人员学习自动化测试的需求。
Selenium是一个开源的测试工具,代表了未来测试工具的趋势; 而Python则是全世界都在用的一门简洁、高效、易用、优雅的编程语言,初学者只需要花少量的时间就能上手,并完成一定量的开发任务。但本书着重点在讲解Selenium的使用技巧上,对学习Python语言有需要的朋友,请自行购买相关资料或者利用丰富的网络资源。
本书采用图文并茂的方式分步骤讲解Selenium的各种实用技巧,并且提供被测试对象的实现代码或者被测试对象的访问网址,方便读者在本地搭建自己的测试环境或者访问互联网上的被测试网址,从而能顺利地进行自动化测试技术的实践。经过我们数月的不懈努力,此书终于跟大家见面了,希望能够让读者通过本书深入掌握Selenium 3的使用技巧,帮助大家在自动化测试方向上能大展身手。我们相信,通过我们不断的努力,一定可以改变中国测试行业技术含量低的现状。
作为一个土生土长的测试人员,不懂技术,工作中经常会被各种大咖人物丢来一个不屑的眼神,甚至有的人连不屑的眼神都懒得丢,直接无视,此时我的内心是很崩溃的大哭。2015年,在一个机缘巧合下认识了吴老,他丰富的测试经验和过硬的技术都让我折服,我就像是一粒罅隙中的种子遇到了阳光,拼命地将自己置身于这片透着温暖的金色的阳光浴中。因为好不容易遇见这么一位低调奢华有内涵的大神,岂能放过偷笑,于是我很乐意就死皮赖脸地揪着吴老,套他的各种本领。当时的每一天除了吃饭、工作及少量的睡觉时间,其余时间不是吃斋看书,就是念佛敲代码,那日子甚是枯燥,甚是无味,期盼着咸鱼能有翻身的一天。我待Code如初恋,Code虐我千百遍苦笑,半年时间过去了,被虐得千疮百孔的我也算是摸清Code的脾气了,闲来无事也能写上几百行了,算是有点欣慰吧。
有了一定的Code功底后,开始正式进入自动化学习。自动化测试的学习是一个不断实践,不断总结,不断积累的过程。很多人会有一个错误的认识,认为自动化测试不就是一个工具的使用,一个调用别人写好的API的过程么,需要那么深厚的Code功底有何用?殊不知你此时仅是一个ToolBoy或者ToolGirl,要想随心所欲的完成各种自动化测试,无论是Web自动化、移动端自动化,还是性能自动化,都必须在拥有一定的Code功底后,方能理解这些工具底层实现的原理,并且能在当工具本身不能满足测试需求时,还能随心所欲地扩充或更改。理解了这些工具的实现思想,也就为您搭建属于自己的测试框架打下了坚实的基础。经过半年的蹂躏与被蹂躏,加之工作中的不断实践,也能搭建那么几个自己还算满意的测试框架,做得还甚是开心偷笑,而且还能被吴老盯上,叫来编写这本书,也着实有点小开心得意。
这是我第一次写一本专著技术类的书籍,深深地感觉到把知识点用通俗易通的语言描述清楚是一件多么不容易的事,为此我投入了大量的时间与精力来组织本书的语言,如果还是存在不那么浅显易懂的语句,请先尝试从代码层面进行理解,但如果在实践本书中代码时发生了错误,请不要怀疑是我们代码的问题坏笑,请先检查您的环境是否有问题,浏览器版本与驱动版本是否匹配,所使用的Python包版本之间是否存在版本兼容的问题,Python代码是否存在缩进问题等。如果仍然解决不了您的问题,欢迎把错误丢到笔者的脸上,我们定会马不停蹄地帮您解决。
冰冻三尺,非一日之寒,希望大家能在自动化测试学习的道路上做到博观而约取,厚积而薄发。最后,祝大家工作顺利,万事如意。
本书内容介绍如下:
第一篇基础篇第1~8章
第1章介绍Selenium的发展历史及组成Selenium的工具套件,列举了Selenium 1和Selenium 2支持的浏览器和平台,讲解Selenium RC和WebDriver的实现原理,同时也介绍了Selenium 1、Selenium 2和Selenium 3的各自特点及区别。
第2章介绍在日常测试工作中常见的自动化测试目标,讲解如何获得公司管理层对于开展自动化测试的支持、如何衡量自动化测试工作的投入产出比及在敏捷开发中的应用、以及自动化测试工作的分工及测试工具的选择与推广,分享在实际项目中最佳的实践经验,说明了学习Selenium工具的能力要求。
第3章介绍使用Selenium工具时所需要的相关辅助插件FireBug和FirePath的安装及使用方法。
第4章介绍Selenium IDE的安装、界面选项的含义、IDE的使用方法、录制脚本及导出脚本等。
第5章介绍Python开发环境和Pycharm集成开发环境的安装、配置及使用。
第6章介绍WebDriver的安装和配置方法。
第7章主要介绍单元测试的基本知识,如何在自动化测试中使用以及生成测试报告。
第8章主要讲解自动化测试过程中使用的页面元素定位方法,包括ID定位、Name定位、链接文字定位、Class定位、XPath定位及CSS定位,推荐使用XPath作为页面元素定位的主要方法。
第二篇实战应用篇第9~11章
第9章讲解如何使用WebDriver工具分别驱动IE浏览器、Chrome浏览器以及Firefox浏览器,进行自动化测试。
第10章通过实例全面讲解WebDriver基础API。
第11章通过实例全面讲解WebDriver高级API,并提供一些解决实际问题的方法。
第三篇自动化测试框架搭建篇第12~15章
第12章讲解数据驱动的概念,并基于Excel、XML、MySQL及单元测试框架结合ddt进行数据驱动测试。
第13章讲解lettuce行为驱动框架在自动化测试中的使用,分别基于英文和中文进行实例讲解。
第14章通过实例全面讲解如何基于Selenium Grid进行分布式自动化测试。
第15章深入讲解如何从零开始搭建一个数据驱动测试框架、关键字驱动测试框架以及数据驱动与关键字驱动混合的测试框架,并提供完整的框架代码。此章节为本书最综合、最重要的章节,建议读者在阅读完前面所有章节后再阅读此章节。
第四篇常见问题和解决方法第16章
第16章讲解WebDriver使用过程中常见的疑难问题及解决办法,方便读者在使用WebDriver的过程中遇到问题时进行查阅。
特别致谢
感谢我们的好朋友陈良军、李江和王浩花费大量的时间与精力帮我们校对书稿,发现了不少书写的错误、晦涩难懂的语句以及代码的错误,在此笔者们真诚地感谢他们对本书做出的贡献,帮助我们完成这件非常有意义的事情。
吴晓华王晨昕
2017年6月
|
|