全网最全Python自动化测试(超详细)
2026/9/17 5:11:58 网站建设 项目流程

一、的应用场景

能够被运用在简单脚本编程方面, 像是去编写2048小 游戏, 又或者是编写12306的自动抢票软件。

用于系统编程,如开发系统应用;

用于开发网络爬虫;

网络爬虫的用途在于做数据采集, 也就是把互联网里的数据给采集过来, 网络爬虫的难点并不在爬虫自身, 因为网站方面为避免被爬取会采取各式各样的反爬虫举措, 而要是想继续从网站爬取数据就得解决这些反爬虫举措, 所以网络爬虫的难点在于反爬的攻克以及处理。

用于Web开发,如个人博客、在线教育网站以及论坛等;

适用于自动化运维工作 , 像是借助编写脚本达成针对服务器集群开展自动化管理。

用于网络编程,如编程等;

用在相关程序开发方面的数据挖掘, 还有机器学习等大数据以及人工智能所属领域方向里面, 就类似人工智能这个领域当中。

可用来开展自动化测试, 像是UI自动化测试(包含+等情况), 接口测试(涵盖等方面),性能测试(涉及等内容), 安全性测试(例如Scapy等), 兼容性测试(举例+等情况)等等。

二、自动化测试的那些事

1. 什么是自动化测试?

首先理清自动化测试的概念,

1、从广的意义来讲, 自动化涵盖了所有借助工具(程序)这种方式, 目的是去替代或者辅助人工进行测试的行为, 这些行为均可被视为是自动化, 包含性能测试工, 具, 或者自身所编写的一段程序, 该程序旨在用于产生从1到100的测试数据。

所以, 实际上, 从广义的角度来讲, 性能测试, 接口测试等, 只要是用到测试工具的测试, 都称之为“自动化测试”。

2、狭义方面来讲, 借助工具以记录或者编写脚本的形式, 去模拟手工测试的流程, 经由回放或者运行脚本, 来开展执行测试用例的操作, 进而取代人工开展对系统功能的验证。

诚然, 于行业里常常会说起的“自动化测试”, 以及在企业之中所要求的“自动化测试”, 其中多数情况呢, 它基本上都是那种依托于产品或者项目的UI层面来开展的自动化测试。对于性能测试这一方面而言, 还有接口测试, 一般情况下是并不把它们归属到自动化测试的这个范畴当中去的。

2. 为什么要做自动化测试?

开发与之相比, 测试的门槛处于较低水平, 薪资通常较为低下, 其所需的知识面虽说具备一定的广度, 然而却欠缺深度, 这属于测试的普遍情形。

正因为手功测试人门槛不高, 致使大量毕业生, 甚至众多非专业人员涌入这个行业。进而增加了该行业的激烈竞争。对于工作数年仍处于手工测试岗位的人员而言, 都会产生强烈的危机感。因工作技术含量缺乏, 薪资涨幅遭遇瓶颈。另一方面, 受到新进入者的威胁, 比如, 相同的工作内容, 若公司花费5K就能招来人胜任, 那就不会花8K去招聘。

原是不该在讨论技术的话题里出现这个问题的, 然而它确实是多数测试人员都得面对的一个问题。所以, 就测试人员自身的发展来讲, 实际上我极其需要借助自动化技术来增添自身的竞争力。

最切实的自动化测试优势在于, 工作容易找: 有位测试工程师(并非本人)察觉到一个有意思的现象, 她申请过的差不多所有测试岗位, 招聘时都要求具备自动化测试经验。然而, 当她开始工作时, 却发现那些公司都企图开展自动化测试, 可结果大多不尽如人意。不过, 虽说她参与的皆是些糟糕的项目, 不过她总能将这些糟糕之事粉饰成美妙的事来应对下一回面试。

3、那么, 既然自动化测试存在着诸多优势, 为何会有数量众多的项目遭遇失败? 所以, 这是为什么。

我个人有个推论:

公司自动化测试人员能力不够

项目的难度是极大的, 其功能呈现出不稳定的状态, 需求的变化速度非常快, 在这样的情况下就盲目地启动了自动化, 这致使自动化脚本的开发出现了频繁的改变, 根本跟不上需求变化所带来的速度, 最终是以失败作为结局的。

项目复杂程度过高, 致使大部分功能难以达成自动化, 只有一小部分功能得以实现自动化, 然而这对项目而言没太大意义。

公司人员流动大,导致自动化脚本维护的难度加大,最终夭折。

自动化测试存在着这样一个优势了, 那就是, 它能够把产品的知识给固化到脚本里, 借此减弱测试人员流动给项目带来的影响, 然而, 这个优势是有前提条件的, 条件便是, 这些脚本易于维护, 而要实现易于维护, 就需要一些必要的文档, 这便成为另一个议题了。

4、什么项目适合做自动化测试?

倘若你已然确定要开展自动化测试学习了, 那怎样学习便是接下来会遭遇的问题, 这个问题要从被测试产品方面着手去剖析, 要是你所研习的技术无法获得应用(验证), 那将会致使你的学习进程举步维艰。

首先要去考量一下产品是不是适合用来做自动化测试, 有关这方的法比较普遍的那种共识是要从三个方面出发去进行权衡。

1、软件需求变动不频繁

决定自动化测试维护成本的是测试脚本的稳定性, 若软件需求变动极为频繁, 测试人员就得依据变动需求更新测试用例以及相关测试脚本, 脚本维护本就是代码开发过程, 要进行修改、调试, 必要时还得修改自动化测试框架, 要是所花成本不低于利用其节省的测试成本, 那自动化测试就是失败的。

项目里存在着一些模块, 它们相对而言较为稳定, 然而也有一些模块, 其需求变动性极大。如此一来, 我们能够针对那些相对稳定的模块开展自动化测试, 对于变动较大的模块, 则依旧采用手工测试。

2、项目周期较长

因为自动化测试需求要确定, 自动化测试框架来设计, 测试写脚本还需调试, 这些都得花相当长时间才干完, 这样的进程本就是测试软件开发进程, 得花很久才可完成, 要是项目周期短, 没充足时间去支撑这一进程, 那自动化测试就沦为笑谈了。

3、自动化测试脚本可重复使用

自动化测试脚本的重复使用, 要从三个方面考量, 一方面对于所测试的项目, 其所在的不同项目之间, 是否存在着很大的差异性, 像 C/S 系统和 B/S 系统之间的那种差异;另一方面, 所挑选的测试工具, 对于这种差异, 是否能够适应;最后, 测试人员有没有能力, 去开发出适应这种差异的自动化测试框架。

OK!讲明了上面那些事,我们现在可以学习自动化测试了

三、主流自动化测试框架

桌面程序的工具有:QTP、

web应用的工具有:QTP、、Robot 、watir、

手机App自动化测试:后续再分享

因为B/S架构存在着诸多方面的优势之处, 在早几年之前的时候, 大量的C/S架构的应用转变成为了B/S结构, 进而也推动了web开发以及测试技术的发展进程, 然而这也致使了QTP框架走向落寞, 使得框架以及Robot框架大量兴起。

假如,被测试有产品是C/S架构的,那么推荐QTP

如果,被测产品是B/S 结构,那么推荐

怎会不是QTP或者别的工具呢? 只因, 对B/S应用给予了良好支持, 更为关键的一点, 其能够力挺多语言的开发, 真切的试用这般情况下, 你所需 的可不单单只是一个工具罢了, 你还得去研习一门语言。

我为什么要选择?

目前市面主流自动化测试框架:

RFS: Robot +

+框架

那你说我们学什么???

在自然选择的主流框架情境下, 要是你已然决定予以使用, 而后你就又遭遇了一个全新的问题, 那便是去挑选一门语言。在所提供的选项里, 有支持java, 还有ruby, 另外涉及php, 以及C#。

从语言易学性来讲,首选ruby ,

从语言应用广度来讲,首选,java、C#、php、

从与语言相关的、涉及测试技术成熟度以及相关资料的层面来讲, 有java, 还有ruby。

又或者, 你能够考量一下整个技术团队里主流所使用的是何种语言, 接着去挑选与之相对应的那种语言。

对于我们而言, 在此处存在自然选择, 当前市面上最为热门, 可以将其视为使用广泛的范围中, 技术成熟程度较大所呈现出的讲解。

三、自动化测试学习路线

第一步:先学 ------- 不过关,别谈自动化。

第二步:框架

第三步:框架

第四步:项目

第五步:Robot 框架

要是仅仅学习Robot, 借由它去搞自动化, 可别觉得不用再学别的了, 由于Robot眼里的关键字没准不够用, 没法契合你们的需求, 所以我们得自定义关键字, 到这时候就非得自己借助+去编写喽。

在栏目一中已经讲明白的应用王国, 其用途十分广泛, 我们进行自动化测试具体究竟要学习哪些内容呢 【附图】 如下:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询