关于《selenium2自动测试实战--基于Python语言》
关于本书的类型:
首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”。
对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位。高手读了会深有体会,豁然开朗。新手读了不止所云,甚至会说,都在扯犊子,看了半天也不知道如何下手。
对于操作手册的书,一般会提供大量的实例,告诉你详细的步骤。对于高手来说,这不就是翻译了一下官方文档嘛,好意思拿来骗钱。但对于新手来说,反而认为是好处,跟着上面的步骤操作就掌握了某种技术能力。
显然,本书属于后者,书中提供了大量代码实例,并没有太多思想层面的指点与探讨。当然,对于web UI层的自动化代码,随着时间推移书中的例子或不能运行成功。所以,对于已经在自动化方面有经验的同学也不要抱太大希望,能从本书中看到太多高深技术。但对于新手来说,也不要想得过于简单,如果你编程基础比较弱的话,读起来也会有点难度。
关于出书目的:
Selenium自动化测试技术已经出来很多年了,知道2013年的时候,市面的关于该技术的书(中文版)都只是在讲Selenium工具本身,这导致很多人(包括我)看完这些书后,并没有什么卵用。只会拿Selenium IDE录制一些简单的脚本。单真正把Selenium用好,编程语言和单元测试框架是很重要的知识。
从我准备整理这本电子文档的时候,就把这两块知识作为非常重要的技术介绍。另外,国内大多Selenium书籍都是基于Java语言的,其实,Ruby和Python更适合测试人员学习。
出一本基于Python语言的,也算是填补一下空白。
还会出版Java版的吗?
不会,虽然在今年八月份的时候我也整理出了Java版的电子书。
但现在市面上已经出版的基于Java的Selenium已经有了单元测试框架的讲解,所以,我感觉没有必要再将Java版的出版了。
关于出版的过程:
其实,本书能够出版中间也经历了曲折,早在2013年我就在整理关于Python+Selenium的文档,刚开始整理点内容免费共享,后来再加点内容卖5元,再后来加了些内容卖8元;再后来加了很多内容卖29元。再后来,就被共享到网上了,虽然,大多向我购买的同学还是很尊重我的劳动成果的。
在此期间一直更新与丰富里面的内容。收获了赞扬与朋友,网友的问题也促使我在这方面的经验越来越丰富。
直到2014年年底,有一网友(和别人合著过书的朋友)找到我,说想让我出书。其实,经过这么久的积累,也希望它能成书。于是,又整理了一版出来交给他。他的合同发来时,人傻了,原来是自费出书,购买书号和印刷费我出,赚得钱和他对半分,而且,我的书还要挂他的名字,表示与我合著。我就呵呵了。
后来,到2015年的8月,出版社编辑安娜找到我,问我出不出书,关于git的,....不知道她为什么会知道我精通git。那我说git不会,手上有一本Selenium的相关书让她看能不能出。于是,就开始进入流程。
我填写出书的主题---->我重新整理内容--->其间合同来往----> 编辑一审--->第一次排版出来---> 我又改了不少内容-->编辑二审 -->二次排版-->复审-->终审-->发稿-->申请定价-->印刷-->上市。
主要是由于我中间改稿,导致11月份出版的书,延迟到1月份。
关于书封背面的评价:
狄枫,MarkRabbit 、多可笑 ,我们都是一个技术群里的朋友。
狄枫嘛,比较习惯在群里面侃大山,引一群膜拜。是我们中间技术和资历比较老的。
MarkRabbit 群主,在我初学自动化时,给了很多帮助。
多可笑,技术不错,熟悉BDD行为驱动技术,起初我们经常一起讨论技术。
后来,想是不是应该找点牛B的人写书评。联系到了陈曦明(hyddd),如果你想学习Selenium一定能搜索到他的《Selenium私房菜系列》 ,他也很高兴的帮我写了书评。
关于前言
前言是让乙醇写的,早在2013年,我们也是因为selenium自动化技术在网上认识,后来,一起吃过一次饭,虽然平时很少交流,却有很高的默契。一起合作的自动化测试培训已经两年多了,配合一起很默契。他技术能力很强,而且也很广泛。在此,对他表示感谢。
关于定价
全书整理下来大概350页左右,由于印刷的成本比较高。所以,编辑建议定价69元,但我们都感觉有点贵了。我们大多时间在买书时并不看页数,更关注定价,于是,经过商量把最后两章拿掉,做成了电子版。别外一原因是最后两章与前面章节的内容关联不多。但做为测试人员有必要了解与学习。定价59元的书,在京东和天猫打折销售 44元。好吧!感觉这个价格你们可以接受。
最后两章下载地址:www.broadview.com.cn/27853
关于最后的项目
抱歉,现在(2016年11月)才把书最后的例子放到了GitHub上面:https://github.com/defnngj/mytestpro
虽然例子的内容与书中有所不同,但代码结构是一样的。当然,我有时间也会使例子更丰富一些。
关于本人
生活依旧,工作依旧,学习依旧,趁着对技术还热情,继续学习与总结。这本书总结和维护了这么久,能够出版。也算给了它个名份。
关于《selenium2自动测试实战--基于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> ...
随机推荐
- 浅谈C#中常见的委托<Func,Action,Predicate>(转)
一提到委托,浮现在我们脑海中的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的. 关于委托的定义和使用,已经有诸多的人讲解过,并且讲解细致入微,尤其是张子阳的那一篇.我就不 ...
- 性能分析工具-PerfView
Roslyn的PM(程序经理) Bill Chiles,Roslyn使用纯托管代码开发,但性能超过之前使用C++编写的原生实现,这有什么秘诀呢?他最近写了一篇文章叫做<Essential Per ...
- 生活中的OO智慧——大话面向对象五大原则
世间万物,以俗眼观纷纷各异,以道眼观种种是常.面向对象思想不仅是编程的智慧,同样也是人生的智慧.通过生活去领悟面向对象的智慧,以面向对象的智慧来指导生活. (部分图片取自How I explained ...
- Python yield与实现
Python yield与实现 yield的功能类似于return,但是不同之处在于它返回的是生成器. 生成器 生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭 ...
- 安装 mysql-5.7.5-m15-winx64
win7 64位下如何安装配置mysql-5.7.5-m15-winx64 距离上次安装MySQL已经过去好久了.步骤这些,有可能会忘记.简单记录一下吧.(参考了一些网络上的博客.) 1.mysql- ...
- Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM
<Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...
- Golang与C#之switch区别
Golang与C#之switch区别 Go是Google开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言. C#是微软公司发布的一种面向对象的.运行于.NET Framework之上的高级程序 ...
- Echarts使用
Echarts使用 |版权声明:此文为本人原创,望尊重原创 前言: 和朋友聊天的过程中,朋友提到了Echarts.我当时不知道那个是用来做什么的.回到家我就百度了,开始自己看文档学习.本文是自 ...
- java.io中的System.in、 System.out和System.err
System.in, System.out, System.err这3个流同样是常见的数据来源和数据流目的地.使用最多的可能是在控制台程序里利用System.out将输出打印到控制台上. JVM启动的 ...
- 前端MVC框架Backbone 1.1.0源码分析系列
Backbone.js 是一个在JavaScript环境下的 模型-视图-控制器 (MVC) 框架.任何接触较大规模项目的开发人员一定会苦恼于各种琐碎的事件回调逻辑.以及金字塔般的代码.而且,在传统的 ...