如何从 0 开始学 Python 自动化测试开发

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

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 自动化测试开发的路径和建议」

  1. 首先,学好 Python 语言基础,这个是你以后深入自动化测试开发基础的基础。

    很多初学者肯定会惧怕数据结构、算法等知识。我的建议是,初学者开始阶段完全可以先跳过对数据结构和算法的深究,而将精力放在先学会怎么用 Python 编程,历练几个较大的项目,熟练掌握编程技能之后,再回过头去深入学习数据结构和算法。

    其实对很多测试开发岗位来说,你不会算法都没事,一般的自动化测试工具对性能要求是比较低的,能把业务逻辑实现了才是关键。
  2. 其次,熟悉 Python 常见内库。这样你在实现一些业务逻辑或者功能的时候,能很快想到用哪个内嵌的模块,或者第三方模块。Python 开发速度快很重要的一个原因就是有非常丰富的自有库和第三方库。
  3. 然后,熟悉接口测试中的 Requests,APP 自动化测试 Appium, Web自动化的 Selenium,数据库的连接和操作库 pymysql,还可以简单的了解下 Windows 下 GUI 的自动化测试库 pywinauto。
  4. 接着,学习 UnitTest, pytest, page object 的设计模式,掌握大型的自动化测试工具的设计思路。当然,最后要实现持续集成,快速测试、迭代,你还需要学习 Jenkins。
  5. 最后,Just Do It! 实践是检验真理的唯一标准,代码是检验你学习效果的最好途径,把你实际工作中重复的、或者手工很麻烦的事情,尝试用 Python 来实现它!
  6. 另外,最好能找到一个既懂 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 有社区版和专业版,社区版是免费的,功能可以满足大多数人的需要了。专业版请根据个人情况购买。

尾语

「如何从 0 开始学 Python 自动化测试开发」系列专题后面的内容里,笔者将会逐步分享很多实用的模块和方法,以及技术学习和工程实践中常见的难点问题。

希望能帮助大家在测试开发道路上走的更快更稳更远。我们的口号是,学会 Python,升职加薪

也期待各位同学分享文章到朋友圈推荐给更多小伙伴,有任何问题也欢迎留言交流!

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.18通过字符设备驱动分步注册过程实现LED驱动的编写,编写应用程序测试

应用程序&#xff1a; #include<stdlib.h> #include<stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<unistd.h> #include<string.h> #include<sys/ioctl.h> #include"myled.h&quo…

阿里云香港轻量应用服务器是什么线路?cn2?

阿里云香港轻量应用服务器是什么线路&#xff1f;不是cn2。 阿里云香港轻量服务器是cn2吗&#xff1f;香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器&#xff0c;通过mtr traceroute测试了一下&#xff0c;最后一跳是202.97开头的ip&#xff0c;1…

递归算法与分治思想

递归算法 直接或间接的调用自身的算法称为递归函数,采用栈结构,先调用的最后返回。 主要形式就是先纵后横,一个分支走到底,再退回一个到兄弟节点,依次回退。 列出递归的三种形式:切蛋糕、递推公式、等价转换。 递归要素: 明确递归得到结果是什么提取重复的逻辑,缩小…

数据库第五次实验

目录 1 创建数据表 2 创建多个用户 ​​​​​​​3 用户的授权 ​​​​​​​4 用户权限的回收 ​​​​​​​5 角色的创建与授权 ​​​​​​​6 回收角色的权利 ​​​​​​​7 审计的设置 1 创建数据表 SQL语句&#xff1a; use experimentfive; create table…

2024年开工,煮熟的鸭子飞了咋办

去年是我居家创业的第一个年头&#xff0c;业绩总体来说不及预期&#xff08;上班的收入&#xff09;&#xff0c;仅仅满足日常开支&#xff0c;没有任何的盈余。 去年有点项目没完成收尾&#xff0c;所以初四我就选择开工了&#xff0c;就图一个大吉大利。年前积压的客户需求…

【uCore 操作系统】1. 应用程序与基本执行环境

文章目录 【 1. 代码框架简述 】1.1 OS 是怎么跑起来的&#xff1f;1.1.1 qemu 的作用1.1.2 rustsbi.bin 的作用 1.2 qemu 是怎么跑起来的&#xff1f;1.3 OS 文件夹1.3.1 kernel.ld1.3.2 entry.S1.3.3 main.c1.3.4 sbi.c 1.4 bootloader 文件夹 【 2. makefile 和 qemu 】2.1 …

【SpringBoot】项目启动增加自定义Banner

SpringBoot项目启动增加自定义Banner 前言 最近有个老哥推荐我给博客启动的时候加上自定义Banner&#xff0c;开始我还不太明白他说的是那部分&#xff0c;后面给我发了这样一个&#xff0c;瞬间就懂了~ // _ooOoo_ …

C++入门篇——命名空间

在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存 在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xff0c; 以避免命名冲突或名字污染&#xff0c;namespace关键…

数字经济政策 | ZF工作报告-60个文本词频

根据各省政府工作报告&#xff0c;参考金灿阳(2022)和陶长琪(2022)&#xff0c;借助Python软件&#xff0c;统计数字经济相关的关键词词频&#xff0c;分别记为数字经济政策词频A、数字经济政策词频B A文献参考 B文献参考 年度趋势 一、数据介绍 数据名称&#xff1a; 政府工…

Spring Boot java -jar --spring.profiles.active=dev 失效问题

之前动态部署修改配置文件的情况不多&#xff0c;所以也没注意过&#xff0c;这个问题今天困扰了好久&#xff0c;经过多方查询后得到了解决办法 直接上代码 <profiles><profile><!-- 本地开发环境 --><id>dev</id><properties><profi…

债券专题二:可转债估值-二叉树模型

1. 模型背景 由于可转债自身的属性较多&#xff0c;因此对其定价的难度也会加大&#xff0c;在诸多影响因素中&#xff0c;未来的股价占比最高。由于股价的不可预测性&#xff0c;导致了可转债的定价在实际交易中作用非常有限。随着可转债发行数量和规模的增大&#xff0c;越…

2.18 C++ day6

思维导图 以下是一个简单的比喻&#xff0c;将多态概念与生活中的实际情况相联系&#xff1a; 比喻&#xff1a;动物园的讲解员和动物表演 想象一下你去了一家动物园&#xff0c;看到了许多不同种类的动物&#xff0c;如狮子、大象、猴子等。现在&#xff0c;动物园里有一位讲…

C++初阶(十三) 模板

一、非类型模板参数 模板参数分类类型形参与非类型形参。类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。非类型形参&#xff0c;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将该参数当成常量…

基于微信小程序的健身房私教预约系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

嵌入式调试工具之GDB

在单片机开发中&#xff0c;我们可以通过集成式的IDE 来进行调试&#xff0c;比如 MDK、IAR 等。 GDB 工具是 GNU 项目调试器&#xff0c;基于命令行使用。和其他的调试器一样&#xff0c;可使用 GDB工具单步运行程序、单步执行、跳入/跳出函数、设置断点、查看变量等等&#…

2023我患上了AI焦虑

2023我患上了AI焦虑 来自&#xff1a;宝玉 原文链接&#xff1a;https://baoyu.io/blog/ai/i-am-suffering-from-ai-anxiety-in-2023 2023 年对我来说是神奇的一年&#xff0c;我意外的从一个程序员变成了一个 AI 资讯届的“网红”&#xff0c;到年底的时候我在 X 平台的阅读量…

IT行业高含金量证书全解析:开启职业生涯新篇章

在快速发展的IT行业&#xff0c;持续学习和专业认证是提升个人竞争力的重要途径。全球范围内存在着众多的IT认证&#xff0c;它们不仅能够验证你的技术能力&#xff0c;还能在求职和职业晋升中起到关键作用。 本篇博客将深入探讨IT行业中部分高含金量的证书&#xff0c;包括中…

最长子串和回文子串相关的算法题解

这里写目录标题 一、3. 无重复字符的最长子串二、5. 最长回文子串三、647. 回文子串四、516. 最长回文子序列 一、3. 无重复字符的最长子串 中等 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释:…

MyBatis核心配置文件详解

MyBatis核心配置文件详解 一、Environments标签1.Environment标签详解&#xff08;1&#xff09;如何创建对应环境的 SqlSessionFactory对象 2.transactionManager标签详解3.dataSource标签详解&#xff08;1&#xff09;UNPOOLED&#xff08;2&#xff09;POOLED&#xff08;3…

线性回归-使用ClickHouse机器学习函数

本文字数&#xff1a;5923&#xff1b;估计阅读时间&#xff1a;15 分钟 作者&#xff1a;Ensemble 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 这原本是转发的ensemble analytics的文章。 【https://ensembleanalytics.io/blog/l…