从 0 开始学 Python 自动化测试开发,小白这一篇就够了!
Posted 软件测试小dao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从 0 开始学 Python 自动化测试开发,小白这一篇就够了!相关的知识,希望对你有一定的参考价值。
关注我,每天分享软件测试技术干货、面试经验,想要领取测试资料、进入软件测试学习交流群的可以直接加群644956177~~
Python :「TIOBE’s 2018 年度编程语言」
Python 作为大数据工程和 AI 的主流开发语言,近年来一直保持强劲的上升趋势。即使目前 AI 领域还没有大量的成功商业案例(盈利的)出现,Python 语言就已经空前火爆了。
2019 新年伊始,Python 果然不负众望,以**「AI 时代全栈语言」**身份,轻松拿下全球知名的编程语言流行度排行榜网站 **「TIOBE’s 2018 年度编程语言」**荣誉。相信等成功的 AI 应用和商业模式建立起来之后,市场对 Python 开发和测试技术人才的需求会有更加爆发性的增长。
「人生苦短,我用 Python」,Python 语法简洁而清晰,并具有丰富和强大的类库,可以轻易实现很多功能。对于初学编程者来说,Python 是最好的入门语言,没有之一。
用 Python 开发小工具,编写速度快且非常轻量级,实际工作当中,非常适合团队在测试资源不充足的情况下,快速开发测试工具。而且通常实现一个功能,Python 的代码量是别的语言如 Java 的 1/3-1/5。目前,越来越多大厂新工具的开发,技术栈都选择了 Python。因此,通过掌握 Python 自动化测试技术进入软件测试和质量保障领域,已经是测试行业新人的入行路径最佳选择。
在这里,我想首先强调的是,学习任何一门新的东西,信心和毅力一样重要。 只要掌握了正确的方法并加以刻意练习,就连初中的小孩都可以熟练掌握 Python。笔者身边有两位非 IT 行业的朋友,他们的孩子在初中就参加培训班,已经学会用 Python 写简单游戏和机器人程序了。难道你的逻辑思维和动手能力还比不过初中生吗?
有时候,所有的学习方法都不如鼓起勇气,狠狠的逼自己一把。笔者自己就是完全通过自学掌握 Python 的。其实笔者从初中到大学就不怎么听老师讲课,基本全靠自学。背后缘由说来话长,初二时与班主任老师关系不好,为了凸显自己 NB,无师自通,上课就故意睡觉不听课,但考试成绩又必须要好,否则就丢人了 。所以,每次寒暑假,我都会提前半学期把班主任的课程自学一遍。在少年自尊心驱使下,不自觉的锻炼了自学能力,后来效果越来越好,到了高中和大学的时候,几乎所有课程我都会提前自学。这也算是逆风生长,在压力下收获了出乎意料的成长。
Python 自动化测试学习路径和建议
作为过来人,笔者也简单分享下「学好 Python 自动化测试开发的路径和建议」:
首先,学好 Python 语言基础,这个是你以后深入自动化测试开发基础的基础。
很多初学者肯定会惧怕数据结构、算法等知识。我的建议是,初学者开始阶段完全可以先跳过对数据结构和算法的深究,而将精力放在先学会怎么用 Python 编程,历练几个较大的项目,熟练掌握编程技能之后,再回过头去深入学习数据结构和算法。
其实对很多测试开发岗位来说,你不会算法都没事,一般的自动化测试工具对性能要求是比较低的,能把业务逻辑实现了才是关键。
其次,熟悉 Python 常见内库。这样你在实现一些业务逻辑或者功能的时候,能很快想到用哪个内嵌的模块,或者第三方模块。Python 开发速度快很重要的一个原因就是有非常丰富的自有库和第三方库。
然后,熟悉接口测试中的 Requests,APP 自动化测试 Appium, Web自动化的 Selenium,数据库的连接和操作库 pymysql,还可以简单的了解下 Windows 下 GUI 的自动化测试库 pywinauto。
接着,学习 UnitTest, pytest, page object 的设计模式,掌握大型的自动化测试工具的设计思路。当然,最后要实现持续集成,快速测试、迭代,你还需要学习 Jenkins。
最后,Just Do It! 实践是检验真理的唯一标准,代码是检验你学习效果的最好途径,把你实际工作中重复的、或者手工很麻烦的事情,尝试用 Python 来实现它!
另外,最好能找到一个既懂 Python 又懂测试开发的导师或朋友,请教学习规划和建议,最重要是在遇到卡壳的地方请他指点,这样会事半功倍,少走很多弯路。
现在市面上有不少 Python 相关的基础培训课程,质量不错价格也不贵,一般都在 1000-2000 左右,甚至几百块钱。其实掌握了 Python,跳个槽,这些课程消费相比工资涨幅是微不足道的。
最重要的成本其实是学习时间成本,投资自己的大脑是性价比最好的投资。
Python 入门资料推荐
在 Python 自动化测试之旅中,最重要的一点是「学习好 Python 语言基础」,所谓磨刀不误砍柴功。
在入门过程中,选择一本好的入门书是非常关键的事情,这直接关系到你是从入门到精通还是从入门到放弃。
笔者推荐 2 本不错的入门学习材料:
《简明 Python 教程》
介绍:《A Byte of Python》这本书是一本免费开源的学习资料,有中文译本叫做《简明 Python 教程》,感谢作者 Swaroop C. H. 及两位译者沈洁元,漠伦的工作和分享精神。书中语言真的很简明,没有多余的的废话,全是非常实用的内容。全身心投入学习的话,大多数人 1-2 周时间可以学完。
《父与子的编程之旅》
介绍:据说这本书是非常适合 0 基础的人学习(家长与孩子共同学习编程的入门书),作者是一对父子,希望能帮助普通人在轻松愉快的氛围中学会编程。豆瓣的评价 8.5分。笔者自己没有看过,大家可以试试看,看过的同学可以留言反馈。
入门的书建议大家不要选择太多,这 2 本就足够了。
在学习的过程中,大家可以参考对照下面的 Python 知识图谱。这些技术点都是将来测试开发工作中经常用到的语言技能。
Python 进阶学习材料
学完了 Python 基础后,需要更进一步系统学习 Python 技术体系,可以参看下面 2 本书。
《Python 核心编程》
书籍介绍:此书是中国 Python 社区翻译的,质量没的说,知识点很全面,但关于 Web 开发部分,比较老了,大家可以忽略。
《Python标准库》
介绍:其实在我们的实际工作当中,要用到很多 API 都来源于 Python 标准库。把这本书浏览一遍,了解下标准库提供了哪些模块,有哪些功能,做到心中有数,对于以后加快编码速度是很有帮助的。
其他常见问题
Q:Python 2 还是 Python 3?
A:如果是去年这个时候,我可能还会建议初学者学习 Python 2,但现在,我会毫不犹豫的建议大家学习Python 3,官方已经声明 Python 2 在 2019 将不再支持。很多人可能会担心,现在看的书都是以Python 2 为例子的,在 Python 3 里面有语法错误。
其实 Python2 和 Python 3 语法上差别不是很大,遇到一些小差异,大家 Google 一下,或者去相关论坛上查找,或请教老司机,是可以解答的。
Q:IDE 的选择?
A:Python 免费 IDE 很多,Linux、Windows、Mac 下的 IDE 都不少,笔者用过很多 IDE,但没有一款可以和 Pycharm 相提并论。Pycharm 有社区版和专业版,社区版是免费的,功能可以满足大多数人的需要了。专业版请根据个人情况购买。
环境搭建
前言与安装包准备
关于环境搭建,其实笔者一直在犹豫是否要写,因为环境搭建本身是既简单而又可能很复杂的事情。简单是指如果一切顺利,一个命令(Linux 下)或者一路点 “Next/下一步” 就能搞定;复杂是指一旦遇到点问题,可能解决起来就比较麻烦,因为涉及到操作系统环境变量的一些设置,还有每个人的系统环境配置的差异,这些个性化差异网上未必有现成的答案可供搜索参考,初学者如果不知道原理的话,很难排除。
考虑到这个专栏受众是从 0 到 1 学习编程和自动化测试,为照顾到小白同学,那我们还是尽量不跳过任何一点,让大家能从零基础学会。
在当下这个节点,我们建议大家从 Python3 版本学习。但现在 Linux 和 Mac 电脑系统上自带的都是 Python2,如果配置不对的话,会导致 2 个版本冲突。下面的文章中我会手把手教大家如何在 Windos、Linux、Mac 电脑下安装 Python3。
首先,登录到官网下载页面:https://www.python.org/downloads/
这里有 Windows 和 macOS 下的安装包,但没有 Linux 的,Linux 的 Python 安装从官方这里只能通过源代码编译、安装,涉及到一系列的依赖包的安装,对小白并不友好。我们将会介绍更简单的方法来实现 Linux 下 Python3 的安装配置。
下面以安装 Python 3.6.x 版本来作为示例(最近 Python3 的更新很快,有很多第三方包没有在最新版 python3.7.x 测试过,所以可能会有很多兼容性问题,建议大家安装 python 3.6.x 来学习)。
1. Windows 下的安装配置
Windows 的安装比较简单,一路点 “next/下一步” 即可,稍微需要注意下步骤 1 和 2 的环境变量配置。
1.1 把 Python3.6 加入到环境变量里面。
安装的时候注意要勾选上红框的选项,否则在命令行里输入 python 的时候,无法进入 Python 解析器。
1.2 环境变量 path 的设置
有些人可能之前已经安装过 Python2,这样 Python2 和 Python3 都会在环境变量里面。这样的话,就需要把 Python3 的路径移动到前面,才能用上 Python3。
1.3 确认 python 安装成功
在 windows 命令行下输入 python,如果其他的是 python 3.6.x,那就说明安装成功了,如下图。
2. Linux 下的 python3 的安装
此演示步骤为阿里云 CentOS 系统,其他的 Linux、Unix 系统大同小异。
2.1 查找 python3 安装包
通过 yum 命令可以很方便的找到 python 3.6 的安装包。
千万注意,此时不要卸载 python2,因为 yum 命令就是 Python 写的,会导致 yum 命令无法使用。
2.2 安装 Python3.6
通过 yum 安装 python3.6, -y 的意思是确认安装,否则你下载完成后,需要你输入 y 才能继续下一步。
bash#yum install python36.x86_64 -y
安装完成后,此时你输入 python,依然是 Python2。
2.3 设置默认 python 版本为 python3
我们切换到 /usr/bin 下可以看到,默认的 python 连接到的是 python2,所以我们只要按下面命令行代码,用 ->改一下 软连接 即可。
2.4 安装 Python pip3
比较遗憾的是 Linux 下的 python3.6 包,没有自带 pip3 工具,所以我们需要手工安装 pip3,安装过程也很简单。按照下面的命令行一步步输入按回车即可。
[root@iZj6c5lqy6aztlhfie7xw2Z bin]# ls -al /usr/bin/pip*
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2.7
-rwxr-xr-x 1 root root 370 Jan 29 15:56 /usr/bin/pip3.6
[root@iZj6c5lqy6aztlhfie7xw2Z bin]# mv pip pip.bak
[root@iZj6c5lqy6aztlhfie7xw2Z bin]# ln -s pip3.6 pip
[root@iZj6c5lqy6aztlhfie7xw2Z bin]# ls -al /usr/bin/pip*
lrwxrwxrwx 1 root root 6 Feb 14 23:52 /usr/bin/pip -> pip3.6
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip2.7
-rwxr-xr-x 1 root root 370 Jan 29 15:56 /usr/bin/pip3.6
-rwxr-xr-x 1 root root 216 Feb 7 01:36 /usr/bin/pip.bak
[root@iZj6c5lqy6aztlhfie7xw2Z bin]#
- Mac 下的 python3 的安装
Mac 是个 *nix 系统,安装方法和 Linux 上差不多。只是把 yum 命令换成 brew 命令即可。当然 Mac 下的安装 python3 有三种方式,大家都可以尝试:
3.1 升级安装
打开 Mac 自带的终端 Shell 工具,直接命令行输入:
brew upgrade python
3.2 python2 和 python3 共存
brew install python
3.3 安装指定版本
前面的方法都是默认安装了 brewhome 仓库里面最新的版本,如果我们要安装某指定版本,可以通过官网下载 macOS 安装包来实现。然后一路安装下去即可。
安装完成后,此时你敲入 python 依然显示的是 python2
➜ ~ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1
Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type “help”,
“copyright”, “credits” or “license” for more information.
但你输入 python3,可以启动 python3 解析器
➜ ~ python3 Python 3.6.5 (default, Mar 30 2018, 06:41:53) [GCC 4.2.1
Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin Type “help”,
“copyright”, “credits” or “license” for more information.
所以如果你要设置默认的 python 为 python3 的话,做个软连接把 python 指到 python3 即可。修改软连接,首先需要切换到 root 用户,获得管理员权限。
➜ ~ su - Password: mymacbook~ root# mv /usr/bin/python
/usr/bin/python.bak mymacbook~ root# which python3
/usr/local/bin/python3 mymacbook~ root# ln -s /usr/local/bin/python3
/usr/bin/python mymacbook~ root# python Python 3.6.5 (default, Mar 30
2018, 06:41:53) [GCC 4.2.1 Compatible Apple LLVM 9.0.0
(clang-900.0.39.2)] on darwin Type “help”, “copyright”, “credits” or
“license” for more information.
到此为止,我们把 Windows、Linux、Mac 下 Python 编程环境都搭起来了。
最后
在这里还是要推荐下我自己建的Python自动化学习群:644956177 ,群里都是学Python自动化测试的,如果你正在学习Python ,小编欢迎你加入,大家都是测试开发党,不定期分享干货(只有Python软件测试相关的),包括我自己整理的一份2021最新的Python自动化资料。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
以上是关于从 0 开始学 Python 自动化测试开发,小白这一篇就够了!的主要内容,如果未能解决你的问题,请参考以下文章
小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
小白学 Python 爬虫(27):自动化测试框架 Selenium 从入门到放弃(上)