关于《Selenium3自动化测试实战--基于python语言》

2016年1月,机缘巧合下我出版了《Selenium2自动化测试实战--基于python语言》这本书,当时写书的原因是,大部分讲Selenium的书并不讲编程语言和单元测试框,如果想在项目中使用Selenium,几乎离不开编程语言和单元测试框架,难道你只用Selenium IDE去录制/回放脚本么?
没想到受到许多测试人员的欢迎,我会时常去看网上的书评。大多是感谢的留言,书的销量也印证了这一点,当然,也有批评和建议。在此,表示感谢。
随着,我对Selenium自动化技术的理解,越来越发现《Selenium2自动化测试实战--基于python语言》书中有许多不足之处。
2017年的时候,我就有萌生了要重写一版的想法,当时能想到的改动的地方不多。只是一定未开始动笔。知道2018年下半年,我才开始重新写这本书。
接下来,我将简单的向你介绍以下新书的章节,以及我的改动。
第一章: 不讲什么是软件测试,以及测试的分类这些过于基础的东西了。快速的帮助你对自动化测试,以及Selenium、appium有一个认识。
第二章: 搭建环境。
第三章: python基础,修改了部分列子,以及我认识上的错误,比如,我把list/列表 称为 数组 ,这其实源于我学C/Java语言,就把他们的叫法照搬了过来。显然,是不太合适的。随着对python的语言的使用,也有了更多的认识。如果你还不会python,学完这一章你就入门了。
第四章: Webdriver API,这是你学习WebDriver非常重要的一章,部分例子做了更新。
第五章: 自动化测试模型,自动化模型的介绍,以及用简单的例子介绍模型的用法,还有各种数据文件的读取。数据驱动并不一定就是读数据文件。
第六章: unittest单元测试框架,这一章有做精简,随着对框架的理解,我可以用更精简的例子讲解框架的使用。
第七章: unittest扩展,主要是HTMLTestRunner、数据驱动测试库,自动化发邮件,我会告诉你,如何使用数据驱动测试库配合unittest做自动化测试更完美。 测试报告自动发邮件,上一版居然要那么麻烦,新书中的方法超简单。
第八章: page object概念,已及我自己的开源项目poium的使用。
第九章: pytest单元测试框架,新曾章节,pytest更适合用来做UI自动化测试,它有强大的 conftest.py 文件,以及各种丰富的扩展插件。越来越多的测试已经开始使用pytest了。
第十章: Selenium Grid:本章做了精简,我发现我可以更简单的讲清楚Grid的使用。
第十一章: Jenkins持续集成,上一版因为控制书的成本,做为电子版下载的,做自动化怎么会不用持续集成,我将内容做了大大的补充,完整的教你如何配置自动化项目。
第十二 ~ 十四章: appium自动化测试,新增章节,appium与selenium有着很强的继承关系。App自动化测试已经变得很普遍,所以,我加入appium的安装到实践。appium已经不算什么新技术了,不过,我很有信心能通过三章你学会appium的使用。
~~~~~~~~~~~~~~~
相比上一本,我也删除了一些章节。
selenium IDE: Selenium IDE 在本书中只做了简单的介绍,新的Selenium IDE已经支持了Chrome浏览器,但功能比较弱。
Python多线程:当初讲这个是为了实现自动化测试的并行,但pytest有插件支持,所以,不需要你了。88
BDD行为驱动,前几年好流行,现在用的人没那么多了。BDD并不适用于任何项目。
git/github, git已经被广泛适用到项目开发中,我个人是github重度用户,但这和自动化测试并无太直接联系。
~~~~~~~~~~~~~~~
总结:本书更聚焦Web/APP自动化测试,努力将一些概念和技术更精简,通俗易懂的让你学会,并应用到项目中。
如果要干货的请放弃购买,何为干货呢?请阅读github上面的开源项目,全是干货!我写了这么多年的测试技术新手教程,之所以能被大多测试接受,正是因为通俗易懂的讲解,加足够清晰的操作步骤,才能使他们快速上手,这个技术能用到什么程度,很多时候需要你在项目中不断去实践。每个测试人员的能力不一样,测试的业务不一样,太细节的业务问题并无通用性。
书中源码地址:https://github.com/defnngj/book-code
关于《Selenium3自动化测试实战--基于python语言》的更多相关文章
- 关于<meta NAME="keywords" CONTENT="">
昨天终于以实习身份入职一家小创业公司,今天让我多看看别人的网页怎么写的,发现了一个以前都没关注过的东西. <meta name="keywords" content=&quo ...
- 转 :meta name的含义:<META http-equiv=Content-Type content="text/html; charset=gb2312">
meta是什么?meta其实是html语言head区的一个辅助性标签.在几乎所有的网页里,我们都可以看到类似下面这段html代码:<META http-equiv=Content-Type co ...
- HTML <meta> 标签 遇到<meta http-equiv="refresh" content="0; url=">详解
页面定期刷新,如果加url的,则会重新定向到指定的网页,content后面跟的是时间(单位秒),把这句话加到指定网页的<head></head>里一般也用在实时性很强的应用中, ...
- 转 【<meta name="description" content=">】作用讲解
今天在看别人写的网站代码,发现类似<meta name="Keywords" content="" >.<meta name="De ...
- <head>中<meta name="viewport" content="width=device-width,initical-scale=1"的作用>
<meta name="viewport" content="width=device-width,initical-scale=1"的作用> co ...
- 关于<meta http-equiv="X-UA-Compatible" content="IE=edge" />问题
我在做网页过程中都是在火狐浏览器下进行的,可是有一次我在IE浏览器下打开时却发现我设置的style.css中的大部分样式都失效率了,这个问题足足困扰了我两天,终于在百度的帮助下找到了答案,原来在网页的 ...
- 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
兼容模式 优先使用最新版本的IE 和 Chrome 内核 1 <meta http-equiv="X-UA-Compatible" content="IE=edge ...
- 论meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...
- meta name="viewport" content="width=device-width,initial-scale=1.0" 解释
<meta name="viewport" content="width=device-width,initial-scale=1.0"> c ...
- <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与 content="IE=7"在无论页面是否包含<!DOCTYPE> ...
随机推荐
- 个人永久性免费-Excel催化剂功能第99波-手机号码归属地批量查询
高潮过往趋于平静,送上简单的手机号码归属地查询,因接口有数量限制,仅能满足少量数据需求,如有大规模数据却又想免费获得,这就成为无解了,数据有价,且用且珍惜. 业务使用场景 除了日常自带的手机各种管家为 ...
- PTA 打印沙漏
https://pintia.cn/problem-sets/17/problems/260 #include <bits/stdc++.h> using namespace std; i ...
- windows下挂载linux的nfs网络硬盘
挂载命令,速度快 mount \\10.8.200.167\goworkspace z: -o nolock,rsize=1024,wsize=1024,timeo=15 安装步骤 yum insta ...
- windows 下搭建安装 sass
众所周知,sass 解析需要有 ruby 的支撑,所以, 第一步:点我下载 ruby: 第二步:安装 ruby: 在安装 ruby 过程中需要注意的一点:把 ruby 执行文件添加到 path,勾选这 ...
- Vue模板语法与常用指令
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数,结合相应系统,在应用状态改变时 ...
- 完整使用JDBC访问数据库
Connection con = null; PreparedStatement statement = null; ResultSet res = null; List<Student> ...
- 自动装配、JavaConfig、XML 三种方案之间,怎么导入和混合配置?
在 Spring 中,这些配置方案都不是互斥的.完全可以将 JavaConfig 的组件扫描和自动装配/或 XML 配置混合在一起. Q:如何在 JavaConfig 中引用 XML 配置? Q:怎么 ...
- 努力做一个优秀的programmer [ C# 影院售票系统]
Cinema.cs类 [Serializable] // 电影院类 public class Cinema { public Cinema() { //二进制 SoldTickets = new Li ...
- js里的window对象
alert(<msg>) 向用户显示对话框窗口并等候其被关闭 blur() 让窗口失去键盘焦 ...
- 从后端到前端之Vue(五)小试路由
一开始我还以为vue的路由只能用在工程化的项目里面呢,然后研究了一下才发现,在脚本化里面也是可以用的.其实呢不管在哪里用,把原理研究明白就对了. 一. 官网demo 这里不得不吐槽一下官网,写的不清不 ...