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

news2025/2/23 20:23:50

本文是「如何从 0 开始学 Python 自动化测试开发」专题系列文章第一篇,适合零基础入门的同学。

作者方程老师,是前某跨国通信公司高级测试经理,目前为某互联网名企资深测试技术专家,也是霍格沃兹测试学院特邀讲师。有十余年大型电信系统测试、管理经验,自主研发自动化测试工具的经验,其主笔 CSDN 博客专栏《用 Python 做自动化测试》是测试类访问量最大的专栏。

image1080×551 112 KB

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?如何掌握 Python 自动化测试的繁杂知识体系?

image1080×720 85.3 KB

在这里,首先我想强调的是,学习任何一门新的东西,信心和毅力一样重要。 只要掌握了正确的方法并加以刻意练习,就连初中的小孩都可以熟练掌握 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 知识图谱。这些技术点都是将来测试开发工作中经常用到的语言技能。

image1080×1268 139 KB

Python 进阶学习材料

学完了 Python 基础后,需要更进一步系统学习 Python 技术体系,可以参看下面 2 本书。

《Python 核心编程》

  • 书籍介绍:此书是中国 Python 社区翻译的,质量没的说,知识点很全面,但关于 Web 开发部分,比较老了,大家可以忽略。

《Python 标准库》

  • 介绍:其实在我们的实际工作当中,要用到很多 API 都来源于 Python 标准库。把这本书浏览一遍,了解下标准库提供了哪些模块,有哪些功能,做到心中有数,对于以后加快编码速度是很有帮助的。

其他常见问题

Q:Python 2 还是 Python 3?

**A:**虽然书中以 Python 2 为例,但现在基本上都用 python 3.8或python 3.9了。其实 Python2 和 Python 3 语法上差别不是很大,遇到一些小差异,大家 Google 一下,或者去相关论坛上查找,或请教老司机,是可以解答的。

Q:IDE 的选择?
**A:**Python 免费 IDE 很多,Linux、Windows、Mac 下的 IDE 都不少,笔者用过很多 IDE,但没有一款可以和 Pycharm 相提并论。Pycharm 有社区版和专业版,社区版是免费的,功能可以满足大多数人的需要了。专业版请根据个人情况购买。

尾语

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

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

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

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

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

相关文章

项目管理软件怎么选?只需要关注4点

项目管理有许多不同的风格,但无论如何管理项目,根据企业的当前需求和未来发展轨迹选择合适的项目管理软件都很重要。 虽然大多数优秀的项目管理软件都提供相似的功能,但没有两个平台是完全相同的。以下是企业在选择项目管理软件时应该考虑的…

【虹科新闻】虹科与SOSLAB正式建立合作伙伴关系

近日,虹科与SOSLAB正式建立合作伙伴关系,虹科将共同与SOSLAB开展亚太地区市场开发,聚焦于工业领域客户开拓,深入本地技术支持、测试与售后服务落地,为客户提供高效、可靠的激光雷达解决方案。 “虹科很高兴与SOSLAB合作…

锁等待超时

问题背景 今天测试同事发现项目里面大部分接口报错,把日志捞出来看了下出现大量的锁等待超时的错误。 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transactionat sun.reflect.N…

MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square论文阅读

1. 摘要 随着自动驾驶与移动建图的快速发展,实际项目中对现成的激光SLAM建图方案的需求也越来越强烈,并且要求解决方案适用于各种不同规格的激光雷达与各种复杂场景。因此,我们提出了MULLS,一种高效,低漂移&#xff0…

状态观测控制器设计与仿真验证

【无限嚣张(菜菜)】:hello您好,我是菜菜,很高兴您能来访我的博客,我是一名爱好编程学习研究的菜菜,每天分享自己的学习,想法,博客来源与自己的学习项目以及编程中遇到问题…

深度学习炼丹-数据处理和增强

前言一,Normalization 概述 1.1,Normalization 定义1.2,什么情况需要 Normalization1.3,Data Normalization 方法1.4,示例代码 二,normalize images 2.1,图像 normalization 定义2.2&#xff0c…

[XCTF]halo(2019护网杯)(难度2)

目录 前言 一、题目重述 二、解题思路 1.Base64解密 2.难以想到的异或运算 三、flag 总结 前言 注意!攻防世界题目有误!!给出题目与原题不一样但是答案却和护网杯原题答案一样!! 一、题目重述 aWdxNDs0NDFSOz…

NVM Express Base Specification 2.0c - 2 Theory of Operation

The interface has the following key attributes: 在命令提交或完成路径中不需要非缓存/ MMIO寄存器读取;在命令提交路径中最多需要一个MMIO寄存器写或一个64B消息;支持多达65,535个I/O队列,每个I/O队列支持多达65,535个未完成的命令;优先级与每个I/O队列相关联&a…

【MySQL】基于InnoDB的数据库索引

文章目录前言1、索引引入2、索引语法2.1、创建索引2.2、查看索引2.3、删除索引2.4、案例引入3、索引结构3.1、概述3.2、引擎支持3.3、BTree3.4、Hash4、索引类别4.1、分类4.2、过程分析5、性能分析5.1、执行频率5.2、慢查询日志5.3、explain6、最左前缀原则7、索引失效7.1、范围…

2023年学一门IT技术的最佳选择就是软件测试!

互联网行业的不断发展,也增加了IT行业的就业机会,作为最适合零基础小白入行、门槛低的软件测试岗位来说,也受到越来越多转行者的关注,但是耳边依然充斥着各种关于这个行业不好的言论,诸如“行业饱和了,学完…

华为OD机试真题 Python 实现【最长连续方波信号】

目录 题目 思路 考点 Code 题目 输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可, 方波信号高位用1标识,低位用0标识,如图: 说明: 1) 一个完整的信号一定以0开始然后以0结尾,即010是一个完整信号,但10…

【自动化】【autojs】02 autox环境搭建和踩坑

▒ 目录 ▒🛫 导读需求开发环境1️⃣ 环境搭建AutoXadbVSCode插件scrcpy2️⃣ ADB方式实战控制微信启动正确设置autox选项启动服务执行代码停止代码执行3️⃣ 踩坑函数id需要传递全名称app.launch未生效ui.layout报错📖 参考资料🛫 导读 需求…

基于区块链技术的信息服务新架构探讨

【摘 要】为探索区块链技术对信息通信基础架构的影响及实现,在梳理信息技术架构和信息服务架构演进的基础上,分析了区块链新型数字化分布式账本体系赋予数字世界生产关系升级的功能,并基于“云-管-端-边”信息服务架构研究了区块链技术实现信息物理空间中“设备民主”的具体…

EL表达式与JSTL标签库(JSP标准标签库)

EL表达式 EL 全名为Expression Language,是表达式语言。 EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据的时候,要比jsp的表达式脚本要简洁很多。 不需要加任何jar包。不依赖任何其它库。提供了在脚本元素…

《软件开发本质论》笔记——了解价值,然后从可能去做的所有事情中选择那些最重要的去做

目录 一、传统的软件项目分阶段进行 二、根据”挑战性的目标“制订计划,危害性很大 三、推荐随时发现缺陷随时修复 四、 价值是什么 一、传统的软件项目分阶段进行 潜在风险:试图去计划并实现所有的功能特性,这使我们处于不利的境地。我们…

转行互联网,零基础应届生应该选择什么样的岗位作为切入点?

对于想要转行互联网的零基础小白,如果你耐心看完了这个答案,恭喜你已经找到了转行互联网的方法!我不说空的理论,也不讲心灵鸡汤,作为文艺青年,我只说经验,我是工作十三年的互联网老兵&#xff0…

整合第三方登录之微信扫码登录

📂文章目录🎓前言🏷️引入相关依赖🧱操作步骤📔生成微信登录二维码📔获取微信用户信息并实现微信注册登录💗总结🎓前言 前置条件:具备微信开发者资质。 通过微信开放平…

Contest2874 - 【在线编程平台】2022年计算机类数据结构作业14.20221215-1220

目录 问题 A: 大顶堆还是小顶堆? 问题 B: sort by age 问题 C: 统计字母个数 问题 D: 字母排序 问题 E: 算法10-6~10-8:快速排序 问题 A: 大顶堆还是小顶堆? 内存限制:128 MB时间限制:1.000 S标准输入输出 题目类…

数学建模国赛 2020B-穿越沙漠 第二关至第六关思路分享

穿越沙漠第二关至第六关思路 开始讲题之前唠嗑一下: 很感谢所有读者和粉丝对上一篇的第一关解题博文的喜欢,也收到很多人的称赞,我很高兴大家能喜欢我写的东西。 其实这道题的模型在建立之处就是对着六关通用的目标去写的,因为本…

现货黄金时间表怎么安排?

现货黄金交易时间表,最好每一个投资者打印一份出来,放在你的电脑旁边。为什么呢?以前我对现货黄金交易时间表也没有特别关心,为什么在二十四小时的全天候交易要花时间到这里面来呢? 黄金市场是一个全球性的市场&#x…