序一
明代学者林希元有云:“自古圣贤之言学也,咸以躬行实践为先,识见言论次之”,强调实践是第一位的,而著书立说次之。唯有经过实践总结而成的书,方能为读者提供更强大的指导。本书的作者是一位长期奋战在编码一线的“老码农”,他把他多年的实践经验转化为了这样一本书,这不是一本空洞无物的Python语法教程,也不是一本纸上谈兵的软件测试教程,它更像是Python在软件测试领域的实战兵法。
在读完本书之后,我被本书的文字深深打动了,惊叹于作者在技术精湛之外,竟然有如此出色的文笔。不同于技术类图书的八股文风,读这本书,感觉像是有一个坐在你身边的码农,向你讲述他对Python的理解,对软件测试乃至软件工程的理解。本书使用了许多古今中外现实生活中的例子,生动有趣地陈述枯燥的知识点。本书的另外一个特点就是如庖丁解牛,刀法精准,在正确的位置下刀。比如,对于如何安装Python这样的操作,作者几乎只字未提,因为本书默认读者是具备这样的能力的。所以,阅读本书,就像在看一部精彩的动作片,从开场的第一分钟开始就从头打到尾,以至于观众全程都不愿意离场。
“人生苦短,请用Python”。现如今,Python已经广泛地应用于Web开发、人工智能、数据分析、网络爬虫、游戏开发、云计算、自动化测试与运维等众多领域。熟练地掌握Python,意味着极大地提升工程中的生产效率。也正是因为Python大流行,现在市面上的Python书籍可以说是汗牛充栋,但是,这些书籍中的绝大多数仍然采用了平铺直叙式的语法讲解方式。本书的结构则非常新颖,它采用迭代螺旋的方式,把Python的理论原理和实践技巧一个台阶一个台阶地往上提升。比如本书在第2章讲完Python的基础语法结构后,第3~5章分别是PyTest入门、Selenium入门和实战12306之入门;第6章进行Python进阶,之后,第7~9章又对PyTest、Selenium和12306进行进阶学习;第10章再对Python的高级特性进行讲解;第11章在此基础上总结测试框架;第12章则第3次对12306案例进行迭代提升。这种迭代推进、螺旋上升的方式,非常符合人类的思维习惯,毕竟我们掌握任何一门新技术,都不是一蹴而就的。回想起来,我在学习Linux内核及其他技术时,也同样是反反复复地跟同一个知识点“死磕”。但是在不同的阶段,随着自身技术深度和广度的增加,对同一事物的理解也会完全不一样。技术高手几乎都会对同一关键的技术点进行反复研究,正是这种不懈的“执拗”,才拉开了高手和一般程序员间的差距。
非常高兴看到多年好友徐西宁老师的这本书出版,相信本书必然会为促进Python,尤其是Python在软件测试领域的工程实践应用、提升一线开发人员的实战水平起到巨大的作用。
——宋宝华,知名Linux技术专家