基于Python3接口自动化测试初探

news2025/2/12 11:00:34

自动化测试是什么?

自动化测试简单来说就是借助工具的方式来辅助手动测试的行为就可以看做是自动化测试。

自动化测试工具有哪些?

现在常用的自动化测试工具包括:

QTP:主要用于回归测试和测试同一软件的新版本
Robot Framework:这是一个基于python编写的功能自动化测试框架,也是很多企业都在用的一款框架,它具有很好的可扩展性
Selenium:这是一款开源的框架,由于它支持多平台,多浏览器,多语言(Java,Python,Ruby,PHP,JS等),使得它在众多测试工具中突破,也是目前被使用最多的一款框架。
Loadrunner:这是用来做性能测试的工具,包括压力测试,负载测试,并发测试
Jmeter:也是一款性能测试的工具,轻巧,免费是很多人使用它的原因

自动化测试包括哪些?


最初《Scrum敏捷软件开发》的金字塔中,最下层是单元测试,单元测试是自动化测试策略稳固的根基,因此也是金字塔结构的最底层;中间层是服务/接口测试,是为了过渡用户界面和程序单元而设计的,认为所有应用程序都由各种服务/接口组成,服务/接口是指实现某一具体功能的程序集合,服务/接口通过输入进行响应而体现。

通过对服务/接口进行测试,而不是对用户界面进行测试,可以极大缩短时间和成本。在Lisa Grispin的Agile Testing《敏捷开发》中,对原来的金字塔补充了手工测试的“帽子结构”,在这种结构中,认为无论自动化测试的效果有多好,总是需要一些人工测试的成分,如探索性测试或用户满意度测试等,所以以云状结构添加了人工测试在金字塔的顶端。

为什么要做自动化测试


在目前中国测试行业中,手工测试的占重比例达到了70%,相对开发来说,测试的门槛低,薪资也相对比开发的低不少,所以做自动化测试,一方面是为了提升自己技术层面的深度,另一方面是为了解决目前国内缺乏更高效的测试技术难题,最后就是为了提高自己在市场中的竞争力,想拿到高薪,不与时俱进是不可能的。

什么类型的项目适合做自动化测试?


如上图所示,一般来说,只需要满足以下几个条件就可以开发开展自动化测试:

产品需求稳定,变动不频繁

自动化测试如果在需求经常变动中执行,会大大增加自动化的维护成本和时间,那样自动化测试就失去了本身的价值了。

项目周期长

自动化测试的需求稳定性要求,自动化框架的设计,脚本开发与调试均需要时间,如果项目周期较短,就没有足够时间去支撑这个过程了,那么自动化测试也就不需要了。

被测试系统开发较为规范,可测性较强

主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架

Selenium的学习使用

通过上面对自动化测试的理解,如果你选择的是selenium作为开展自动化测试的工具,那么在学习selenium之前,如果你没有任何语言编程的基础,建议你能学习以下编程语言:python,ruby,Java,三选一吧,推荐python3作为入门学习的语言,因为python的入门相对其他的语言会容易理解很多。
当你学完python3基础之后,就可以开始搭建selenium测试环境了;
接着就需要去熟悉webdriver API的语法,主要是对定位,操作页面的各种元素的熟悉,慢慢就可以入手自动化测试了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

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

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

相关文章

大数据ETL工具Kettle

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言最近公司在搞大数据数字化,有MES,CIM,WorkFlow等等N多的系统,不同的数据源DB,需要将这些不同的数据源DB里的数据进行整治统一…

【算法】模拟,高精度

高精度加法 P1601 AB Problem(高精) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路就是模拟,值得注意的就是要用字符串类型输入。存进自己的int数组时要倒着存,因为如果是正着存的话,进位会有点trouble。 时间…

Spread.NET v16.0.20222.0 ASP.NET cRACK

关于 Spread.NET 提供类似 Excel 的电子表格体验。 Spread.NET 可帮助您创建电子表格、网格、仪表板和表单。它包括一个强大的计算引擎,具有450 函数以及导入和导出Excel电子表格的能力。利用广泛的 .NET 电子表格 API 和强大的计算引擎来创建分析、预算、仪表板、…

【C++ 基础篇:24】:【重要模板】C++ 输入输出运算符重载【以 Date 日期类为例】

系列文章说明 本系列 C 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C的三大…

Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理

目录 一、异常错误二、原因三、解决方法 一、异常错误 PS C:\Users\10568> mysql -u root -p Enter password: **** ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES)Access denied表示拒绝访问,using password:NO/…

计算机视觉 | 语义分割与Segmentation

前 言 「MMSegmentation」 是一个基于 PyTorch 的语义分割开源工具箱。它是 OpenMMLab 项目的一部分。 MMSegmentation v1.x 在 0.x 版本的基础上有了显著的提升,提供了更加灵活和功能丰富的体验。 主要特性 统一的基准平台 我们将各种各样的语义分割算法集成到了…

Linux权限维持

SSH后门&VIM后门 ssh后门: 创建一个软链接: ln -sf /usr/sbin/sshd /tmp/su 拓展:软链接相当于一个快捷键,硬链接相当于一个指针指向文件地址,也类似于复制 开启后门: /tmp/su -oport12345 开启后…

chatgpt赋能python:Python另存为:如何保存你的程序代码

Python另存为:如何保存你的程序代码 简介 Python是一种高级编程语言,最初由Guido van Rossum于1991年创建。自创建以来,Python已被广泛应用于Web开发、数据分析、人工智能等领域。作为一名有10年Python编程经验的工程师,我发现在…

万物的算法日记|第一天

笔者自述: 一直有一个声音也一直能听到身边的大佬经常说,要把算法学习搞好,一定要重视平时的算法学习,虽然每天也在学算法,但是感觉自己一直在假装努力表面功夫骗了自己,没有规划好自己的算法学习和总结&am…

内部服务器端口映射实验:打通内外网络,实现公网访问内部服务

内部服务器端口映射实验:打通内外网络,实现公网访问内部服务 【实验目的】 部署服务器地址转换。熟悉服务器地址转换的应用方法。验证配置。 【实验拓扑】 实验拓扑如图所示。 实验拓扑 设备参数如表所示。 设备参数表 设备 接口 IP地址 子网掩…

BOM,什么是BOM?

4.BOM 4.1 什么是BOM? BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。 ​ BOM 由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。 …

react---todoList案例

todoList案例效果图 1.组件拆分 2.操作state数据 state 放在哪个组件: 如果某个组件组件使用: 放在其自身的state中。如果某些组件使用:放在他们共同的父组件state中(官方称此操作为状态提升) 状态(state)在…

Cocos creator实现飞机大战空中大战《战击长空》小游戏资源及代码

Cocos creator实现飞机大战空中大战《战击长空》小游戏资源及代码 最近在学习Cocos Creator,作为新手,刚刚开始学习Cocos Creator,刚刚入门,这里记录一下飞机大战小游戏实现。 https://wxaurl.cn/VEgRy2eTMyi 一 安装CocosDashBo…

Netty实战(十四)

WebSocket协议(二) 一、初始化 ChannelPipeline二、引导三、加密 一、初始化 ChannelPipeline 我们之前说过为了将 ChannelHandler 安装到 ChannelPipeline 中,需要扩展了ChannelInitializer,并实现 initChannel()方法。 下面我…

Nacos架构与原理 - 注册中心的设计原理

文章目录 Pre服务的分级模型 (服务-集群-实例三层模型)数据⼀致性负载均衡服务端侧负载均衡客户端侧负载均衡 健康检查性能与容量易用性集群扩展性用户扩展性 Pre 目前的网络架构是每个主机都有⼀个独立的 IP 地址,那么服务发现基本上都是通…

行为型设计模式07-命令模式

🧑‍💻作者:猫十二懿 ❤️‍🔥账号:CSDN 、掘金 、个人博客 、Github 🎉公众号:猫十二懿 命令模式 1、命令模式介绍 命令模式(Command),将一个请求封装为一…

【Linux后端服务器开发】常用开发工具

目录 一、apt / yum 二、gcc / g 三、make / makefile 四、vi / vim 五、gdb 一、apt / yum apt 和 yum 都是在Linux环境下的软件包管理器,负责软件的查找、安装、更新与卸载。 apt 是Ubuntu系统的包管理器,yum是Centos系统的包管理器&#xff0c…

SQL回顾总结,超级全

SELECT:语句用于从数据库中选取数据 从 "Websites" 表中选取 "name" 和 "country" 列 SELECT name,country FROM Websites 从 "Websites" 表中选取所有列 SELECT * FROM Websites; SELECT DISTINCT:用于返…

Android系统视角下对APK的分析(2)- APK安装过程的定性分析

声明 以Android手机用户角度来看,安装各式各样的APP,基本就是从应用市场上 “搜索->下载->安装” 三连。而对Android系统来说,这就是个大工程了,因为对Android系统来说APK是“外来户”,如何安装它、有限制地支持…

linux实验三 vi编辑器及用户管理

1、vi编辑器的详细使用 (1)在用户主目录下建一个名为vi的目录。 (2)进入vi目录。 (3)将文件/etc/man_db.conf复制到当前目录下,并用命令sudo修改man_db.conf的属性为所有用户可以读写。 &am…