关于《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> ...
随机推荐
- drop、truncate和delete的区别 [转载]
drop.truncate和delete的区别 本文转载自: https://www.cnblogs.com/zhizhao/p/7825469.html (1)DELETE语句执行删除的过程 ...
- php if语句
一.前言 if语句 是几乎所有编程语言都有的函数. 当然我们最好的php这么最好的语言也有啦~ 二.搞起! 直接上代码不多哔哔.talk is cheap show me the code 2.1 i ...
- 《C# 语言学习笔记》——目录
C# 简介 变量和表达式 流程控制 3.1 布尔逻辑 3.2 goto语句 3.3 分支 3.4 循环 变量的更多内容 4.1 类型转换 4.2 复杂的变量类型 4.3 字符串的处理 函数 5.1 定 ...
- Java中注释的使用
Java 中注释有三种类型:单行注释.多行注释.文档注释 我们可以通过 javadoc 命令从文档注释(/**aa*/)中提取内容,生成程序的 API 帮助文档. 打开首页,查看下生成的 API 文档 ...
- vue.js-vue入门教程教你如何html中使用vue(30分钟快速入门)
前后端分离.微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者.下面重点介绍一下vue的用法: vue起步:1.引包 2.启动new Vue({el:目的地,template:模板内容 ...
- ThinkPHP 5.0 配置
ThinkPHP 5.0 配置 目录 <!-- 系统默认的配置文件目录就是应用目录(APP_PATH), 也就是默认的application下面,并分为应用配置 (整个应用有效)和模块配置(仅针 ...
- 逆向MFC程序
目录 @ 1 MFC执行流程 1.1 环境支持 1.2 分析 1.3 实践探索 1.3.1 创建一个MFC程序 1.3.2 下关键断点并调试 1.4 转向MFC库源文件中观测 2 逆向 2.1 特征码 ...
- Java后台处理框架之struts2学习总结
Java后台处理框架之struts2学习总结 最近我在网上了解到,在实际的开发项目中struts2的使用率在不断降低,取而代之的是springMVC.可能有很多的朋友看到这里就会说,那还不如不学str ...
- CentOS7安装高版本gcc
CentOS7安装高版本gcc 下载 从hust镜像站下载gcc源码包. http://mirror.hust.edu.cn/gnu/gcc/ 我选择的是gcc-8.3.0.tar.gz. cd mk ...
- Java集合系列(三):HashSet、LinkedHashSet、TreeSet的使用方法及区别
本篇博客主要讲解Set接口的三个实现类HashSet.LinkedHashSet.TreeSet的使用方法以及三者之间的区别. 注意:本文中代码使用的JDK版本为1.8.0_191 1. HashSe ...