当前位置:主页 > 计算机电子书 > 程序设计 > Selenium下载
Selenium自动化测试:基于Python语言

Selenium自动化测试:基于Python语言 PDF 超清版

  • 更新:2019-05-23
  • 大小:6.93 MB
  • 类别:Selenium
  • 作者:冈迪察.U
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Selenium自动化测试:基于Python语言

Selenium自动化测试:基于Python语言

内容总结

从最初开始接触selenium到现在已经有将近20天时间了,学习的契机是正好赶上公司架构调整,模块化调整,着重强调模块化思维,这样在我的工作空档期老大对我提出了一些期望,希望在工作中做一些突破。其实这也正是我所希望的,同时也一直没有找到强大的理由能支撑我学习下去的动力,所以在这方面能有突破还真的得感谢老大对我的信任。

基础:

开始接触python是在2年前,因为之前对java有了解,对C##也知道点(大学的那点基础),所以感觉这2种语言很重,在测试工作中无疑增加了很多额外的工作量。工作中受同事的影响开始接受了python,从自学到后来报班学习python,这样一点点的就有点认识了,总结下来就是语言这东西想学明白点必须在实践中去用才可以,遇到问题多查一些资料,把问题吃透,多做总结。
至于为啥选择selenium:

一是,现在公司的研发思想是重前端,webapp的感觉,大致是前端完成大部分业务交互逻辑,后端只负责数据存储;
二是,公司现在主要做的业务全部是web端,这样就导致在测试的过程中要实现各大浏览器的兼容问题(从IE8到IE11,chrome,firfox ,360,百度,qq,傲游,猎豹,搜狗。。。)工作量可想而知;
三是,selenium可以模拟用户在浏览器操作的各种行为(毕竟是比较成熟的框架了,能想到的行为都可以实现),同时可以检查页面元素显示情况是否符合预期(但是不能检查样式问题,曲线救国只能截图)。
四是,最重要的selenium Grid2 能实现并发多终端测试(多个浏览器)。综合以上几点selenium是现在比较适合我公司情况的框架,毫不犹豫,选之,用之,干之。

unittest配合selenium:

用例维护问题必须在设计之初有所考虑,对于每个模块的测试脚本以不同的分类进行分装,测试思路更加清晰敏捷。
用例构建通过python自带的自动化框架unittest进行组装,之前对它有些了解所以没有想别的就秒选了。它能完成对用例的自定义拼装,毕竟是自家的东西用起来也很简单。

内容介绍

Selenium是一个主要用于Web应用程序自动化测试的工具集合,在行业内已经得到广泛的应用。本书介绍了如何用Python语言调用Selenium WebDriver接口进行自动化测试。主要内容为:基于Python 的 Selenium WebDriver 入门知识、Selenium Python脚本、使用unittest 编写单元测试、生成HTML格式的测试报告、元素定位、Selenium Python API 介绍、元素等待机制、跨浏览器测试、移动端测试、编写一个iOS测试脚本、编写一个Android测试脚本、Page Object与数据驱动测试、Selenium WebDriver的特性、第三方工具与框架集成等核心技术。

《Selenium自动化测试 基于Python语言》适合任何软件测试人员阅读,也适合作为大专院校师生的学习用书和培训学校的教材。

目录

  • 第 1章 基于Python的Selenium
  • WebDriver入门 1
  • 1.1 环境准备 2
  • 1.1.1 安装Python 3
  • 1.1.2 安装Selenium包 3
  • 1.1.3 浏览Selenium WebDriver
  • Python文档 3
  • 1.1.4 选择一个IDE 4
  • 1.1.5 PyCharm设置 8
  • 1.2 Selenium Python脚本 11
  • 1.3 支持跨浏览器 16
  • 1.3.1 设置IE浏览器 16
  • 1.3.2 设置Google Chrome
  • 浏览器 19
  • 1.4 章节回顾 21
  • 第 2章 使用unittest编写单元测试 22
  • 2.1 unittest单元测试框架 23
  • 2.1.1 TestCase类 25
  • 2.1.2 类级别的setUp()方法和
  • tearDown()方法 30
  • 2.1.3 断言 32
  • 2.1.4 测试套件 33
  • 2.2 生成HTML格式的测试报告 36
  • 2.3 章节回顾 38
  • 第3章 元素定位 39
  • 3.1 借助浏览器开发模式定位 42
  • 3.1.1 用火狐浏览器Firebug插件检查页面元素 42
  • 3.1.2 用谷歌Chrome浏览器
  • 检查页面元素 43
  • 3.1.3 用IE浏览器检查页面
  • 元素 44
  • 3.2 元素定位 45
  • 3.2.1 ID定位 46
  • 3.2.2 name定位 47
  • 3.2.3 class定位 47
  • 3.2.4 tag定位 48
  • 3.2.5 XPath定位 50
  • 3.2.6 CSS选择器定位 51
  • 3.2.7 Link定位 53
  • 3.2.8 Partial link定位 54
  • 3.3 方法实践 54
  • 3.4 章节回顾 58
  • 第4章 Selenium Python API介绍 59
  • 4.1 HTML表单元素 60
  • 4.2 WebDriver原理 61
  • 4.2.1 WebDriver功能 61
  • 4.2.2 WebDriver方法 61
  • 4.3 WebElement接口 63
  • 4.3.1 WebElement功能 63
  • 4.3.2 WebElement方法 63
  • 4.4 操作表单、文本框、复选框、单选
  • 按钮 64
  • 4.4.1 检查元素是否启用或
  • 显示 65
  • 4.4.2 获取元素对应的值 66
  • 4.4.3 is_selected()方法 67
  • 4.4.4 clear()与send_keys()
  • 方法 67
  • 4.5 操作下拉菜单 71
  • 4.5.1 Select原理 72
  • 4.5.2 Select功能 72
  • 4.5.3 Select方法 72
  • 4.6 操作警告和弹出框 75
  • 4.6.1 Alert 原理 75
  • 4.6.2 Alert功能 75
  • 4.6.3 Alert方法 75
  • 4.6.4 浏览器自动化处理 78
  • 4.7 章节回顾 80
  • 第5章 元素等待机制 81
  • 5.1 隐式等待 82
  • 5.2 显式等待 84
  • 5.3 expected_conditions类 85
  • 5.3.1 判断某个元素是否
  • 存在 87
  • 5.3.2 判断是否存在Alerts 88
  • 5.4 预期条件判断的实践 89
  • 5.5 章节回顾 90
  • 第6章 跨浏览器测试 91
  • 6.1 Selenium Standalone Server 93
  • 6.1.1 下载Selenium Standalone
  • Server 93
  • 6.1.2 启动Selenium Standalone
  • Server 94
  • 6.2 在Selenium Standalone Server上
  • 执行测试 95
  • 6.2.1 配置IE支持 98
  • 6.2.2 配置Chrome支持 98
  • 6.3 Selenium Grid 98
  • 6.3.1 启动hub 99
  • 6.3.2 添加节点 100
  • 6.4 Mac OS X的Safari节点 103
  • 6.5 在Grid上执行测试 104
  • 6.6 在云端执行测试 107
  • 6.7 章节回顾 110
  • 第7章 移动端测试 111
  • 7.1 认识Appium 112
  • 7.1.1 Appium支持的应用
  • 类型 113
  • 7.1.2 Appium环境准备 113
  • 7.2 安装Appium 116
  • 7.3 iOS测试 119
  • 7.4 Android测试 122
  • 7.5 使用Sauce Labs 126
  • 7.6 章节回顾 128
  • 第8章 Page Object与数据驱动
  • 测试 129
  • 8.1 数据驱动测试 130
  • 8.2 使用ddt执行数据驱动测试 131
  • 8.2.1 安装ddt 131
  • 8.2.2 设计一个简单的数据
  • 驱动测试 131
  • 8.3 使用外部数据的数据驱动
  • 测试 133
  • 8.3.1 通过CSV获取数据 133
  • 8.3.2 通过Excel获取数据 136
  • 8.4 Page Object设计模式 138
  • 8.4.1 测试准备 140
  • 8.4.2 BasePage对象 140
  • 8.4.3 实现Page Object 141
  • 8.4.4 构建Page Object模式
  • 测试实例 145
  • 8.5 章节回顾 146
  • 第9章 Selenium WebDriver的特性 147
  • 9.1 键盘与鼠标事件 148
  • 9.1.1 键盘事件 150
  • 9.1.2 鼠标事件 151
  • 9.2 调用JavaScript 154
  • 9.3 屏幕截图 157
  • 9.4 屏幕录制 158
  • 9.5 弹出窗的处理 161
  • 9.6 操作cookies 163
  • 9.7 章节回顾 165
  • 第 10章 第三方工具与框架集成 167
  • 10.1 行为驱动开发(BDD) 168
  • 10.1.1 Behave安装 169
  • 10.1.2 feature 169
  • 10.2 持续集成Jenkins 174
  • 10.2.1 Jenkins环境准备 174
  • 10.2.2 搭建Jenkins 175
  • 10.3 章节回顾 182

资源下载

资源下载地址1:https://pan.baidu.com/s/1iK_pErSR8BLXJSYuoHJO_Q

相关资源

网友留言

网友NO.21438
宓孤松

 刚接触自动化测试不到半年的时间,用的是Selenium+Java来做的。对于刚接触Selenium的新人来说,应该最先掌握的是常用的几种定位方法ById、ByName、ByClassName、ByCssSelector、ByXpath、ByLinkText(这几种是我最常用的)。 因为自动化的难度取决于UI框架,我们公司用的是MiniUI,个人感觉比较坑,有好多元素的Id是动态的,大部分都是XXX-1、XXX-2,数字会动,这样就给自动化增加了难度,大部分时候就要放弃ById这种用法了。在我们公司的UI设计中,好多的Name也是一样的或者有时候元素里面都没有这个。用的最多的是ByCssSelector和ByXpath这两种方法,这两种方法更容易直接定位到元素。大家在定位元素的时候,可以打开开发者工具,先点一下元素,看看开发者工具下面元素的变化,有的元素是有悬停效果的,这个可以帮助我们更清楚这个元素的操作变化,悬停可以用到Selenium中的一个方法actions.moveToElement()。 但是在MiniUI中,我觉得最难的还是定位和操作Iframe里面的元素,首先Iframe它是一个遮罩一样的东西,它把我们想操作的元素挡住了,我们没法直接对它发起操作,这个时候就要先切换Iframe,可以用driver.switchTo.frame()来切换到iframe,切换完成后,要做另一个操作,在次切换到需要操作的元素的一级DIV层,可以直接用driver.findElementById(),切换过后,这样便可对元素进行定位操作了。 对于Iframe中的输入框操作还算容易,目前我尝试用click的方式去操作Iframe里面的下拉框,没成功,只能用键盘模拟的方式去操作,就是用Tab/Down/Enter这几个键去操作下拉框。对于Iframe里的日历控件实在是没突破,囧~~~,如果有大神知道好办法,望指点一二。