如何从零开始学习自动化测试?终于找到靠谱的教程了

news/2024/5/19 15:44:19/文章来源:https://blog.csdn.net/sakjdhakj/article/details/131601300

目录

前言

测试基础

Python基础

selenium

appium

requests

unittest

项目实战:

总结:


前言

最近有几个小伙伴在后台给安静私信说,如何学习自动化,不知道如何入手?在网上看的资料都是乱七八糟的,每天这学习一点,那里学习一点,到最后什么都没有学会。我也简单的总结了一点内容,分享给大家

测试基础

要想学习自动化方面的内容,肯定需要了解到一些测试基础,如果测试基础都不是了解,如何进行书写自动化测试用例,以及设计自己的自动化框架内容

1、熟悉测试内容。

2、熟悉各个场景的测试点,以及测试方法

3、熟悉各个测试类型。

4、了解哪些用例可以实现自动化,哪些用例不可以实现自动化。(成本方面)

Python基础

想要学习自动化,首先需要选择一本代码语言,对于我们测试来说,语言基本上都是从Java和Python来选择了,安静以前学习了java的简单基础,了解到了Python后,就放弃了Java,为什么呢?因为个人觉得Python比较简单,更适合于测试来用,方便我们辅助来完成测试内容(注:没有说那个语言好,那个语言不好,勿喷!)

1、数据类型:字符串,列表,字典,元祖,布尔值

2、运算符:算法运算符,比较运算符,逻辑运算符

3、条件语句:判断语句

4、循环语句:for,while

5、文件操作:with,csv,xlwt

6、函数应用:函数内容,传参,返回值

7、类和对象:类的实例化,类的继承

8、模块:模块的分类,如何导入模块

9、异常处理:try....except

         

selenium

对于web自动化来说,安静这里首选的就是selenium框架,为什么呢?因为安静只会这一种。对于目前新出现的Cypress,通过JS语言来实现web自动化测试的,目前安静还没有学习过。对于我们来说,肯定是哪一种方便就使用哪一种

1、环境准备:安装浏览器驱动,以及安装selenium库。

2、定位元素:id,name,class,xpath,css

3、等待方法:强制等待,显式等待,隐式等待

4、浏览器操作方法:最大化,刷新,后退,前进,输入,退出等

5、应用操作:表单切换,弹出框操作,下拉框操作,勾选框操作。

6、鼠标操作:点击,双击,拖动,长按

7、键盘操作:组合键,单键

8、文件操作:文件上传,文件下载

9、JS语法操作:js点击,修改页面元素信息

10、多线程:操作多个浏览器执行用例

appium

对于app自动化来说,目前最最最流行的也就是appium了。

1、环境准备:安装JDK,android_sdk,appium客户端或者命令行

2、app简单操作:打开,关闭,截屏,返回,退出,滑动

3、adb命令:多用来辅助进行测试

4、元素定位:id,xpath,class,name,text,css等

5、Monkey:多用来进行压力测试。

6、原生页面和H5页面:判断H5页面和原生页面,操作H5页面

7、操作手机按键:相当于模拟手机按键

8、等待时间:和selenium一样的三种

9、多线程:多线程启动多个手机

         

requests

requests多用来进行接口之间的交互,也用于我们的接口自动化操作。

1、环境准备:安装python,requests

2、请求方式:get,post

3、参数关联:上一个接口的返回用到下一个接口的请求中

4、session:session关联登陆

5、状态码:重定向

6、多种数据类型:data,json,xml

7、文件操作:上传文件,下载文件

8、超时处理:请求超时异常处理

9、加密接口:请求加密接口

   

unittest

以上内容呢,主要是自动化中对应的方法,那么这个时候到了框架的选择了,目前市场上随随便便都能说出来几个框架,框架的选择也是新手同学们的一个困扰。既然选择了python语言,安静就用了通过unittest单元测试框架和pytest框架,目前来说pytest框架更加简单方便,更适合我们做测试,(安静这里pytest只是会一点,先不做太多介绍,后期进行补充)

1、unittest整体内容:前置,用例,后置

2、unittest使用方法:测试集,测试用例,测试套件

3、断言:通过断言来判断用例是否成功和通过

4、执行方法:单个执行,执行顺序,全部执行

5、跳过用例:通过装饰器的方法进行跳过用例

6、报告结果:unittest自带的没有html报告输出,需要插件HTMLTestRunner的帮助

7、数据驱动:ddt

项目实战:

总结:

感谢每一个认真阅读我文章的人!!!

 我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家评论区留言333免费领取,千万不要错过哦。

  

 

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

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

相关文章

VSCode编译github上面的C++项目

1、下载cmake 在这里下载对应的版本 https://cmake.org/download/ 测试下载的是这个 下载完成后安装,安装都比较简单 2、安装CMake工具扩展 3、安装C扩展 4、下载github项目 例如:下载这个项目 https://gitcode.net/mirrors/zrax/pycdc?utm_source…

使用凌鲨进行数据标注

在AI研发团队中,数据的数量和质量通常比算法本身更重要。为了获得大量高质量的数据,标注软件是必不可少的。目前许多开源标注软件在权限、任务管理和审核方面都存在较大问题。 在凌鲨(linksaas)0.3.8版本中增加了数据标注功能,支持 音频分类…

123.【SpringBoot 源码刨析B】

SpringBoot-核心功能 (三)、SpringBoot核心功能1.配置文件1.1、properties1.2、yaml(1).yaml 简介(2).yaml 基本语法(3).数据类型(4).示列 1.3、配置提示 2.WEB 开发1.SpringMVC自动配置概览2.简单功能分析(1).静态资源访问(1.1).静态资源目录&#xff0…

用真人模型制作3D虚拟人物,岂不是更真实?

3D虚拟人物是指利用计算机技术和图形学技术创建的一种能够模拟真实人体形态、行为和语言的虚拟实体。与传统的平面图像或视频不同,3D虚拟人物具有立体感和真实感,能够在虚拟环境中实现人机交互和情感交流,给用户带来全新的沉浸式体验。 随着…

国内环境安装Atlas OS步骤与网络问题解决

国内环境安装Atlas OS步骤与网络问题解决 Atlas 是一个开源、透明的项目,它修改了 Windows,并消除了影响游戏性能的所有负面缺点。我们是减少系统延迟、网络延迟、输入延迟和保持系统私密性的绝佳选择,同时仍然关注性能。我不久前在安装时遇…

【在线文件管理】响应式文件管理AngularJS

目录 1.功能展示截图 2.实现代码 2.1HTML页面代码 2.2后台代码 2.2.1项目结构 2.2.2项目代码 其他问题 1.功能展示截图 项目中需要用到文件管理来自由控制文件的上传、下载、删除等,就想到做一个简单的在线文件管理功能。 支持在线编辑: 2.实现代…

14 MFC多进程

文章目录 创建进程win32子进程内容创建进程传递参数关闭进程通过配置文件读取全部代码 打开进程便利进程 创建进程 分别创建MFC应用程序和Win32应用程序 MFC应用程序界面设置 win32子进程内容 #include <Windows.h> int WINAPI wWinMain(HINSTANCE hInstance, HINSTAN…

Java中的字符串类

提示&#xff1a;字符串类是编程中最常用的一种数据类型&#xff0c;比较重要❗ 文章目录 前言一、字符串类创建对象方式静态创建动态创建 二、String字符串内容不可改变三、字符串常用方法length方法charAt方法substring方法indexOf与lastIndexOfindexOf方法lastIndexOf方法 替…

Rust 动态数组Vec基本概念及其用法

目录 一、基本概念 Vec是什么&#xff1f; Vec的特点 (1)动态大小&#xff1a; (2)可变性&#xff1a; (3)泛型&#xff1a; 二、基础用法 1. 创建 (1) Vec::new()方法 (2) Vec::from()方法 (3) vec! 宏 2. 基础用法 三、Vec的简单实现及其宏模拟 四、leetcode 实…

如何在Linux下搭建接口自动化测试平台

我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧&#xff01; 需要在Linux上提前准备的环境&#xff08;下面是本人搭建时的环境&#xff09;&#xff1a; 1&#xff0c;Python 3.6.8 2&#xff0c;MySQL 5.7 一&#xff1a;下载HttpRunner…

【C语言基础】函数(2)

在函数&#xff08;1&#xff09;中我们已经讲过了函数的定义&#xff0c;形参与实参&#xff0c;函数的调用&#xff0c;局部变量与栈内存 接下来还有几个要强调的函数相关知识。 一、静态函数 静态函数是在函数声明前加上关键字 static 的函数。静态函数在C语言中具有以…

VisualSVN Server安装步骤

一.下载 官网&#xff1a;VisualSVN - Subversion-based version control for Windows 二.安装 双击安装 先创建好文件夹路径&#xff0c;建议放在同一个根目录下 三.安装成功&#xff0c;运行打开界面如图 四.创建项目 右键Repositories 选择Customize pemissions&#xff0…

SQL高级教程第三章

SQL CREATE DATABASE 语句 CREATE DATABASE 语句 CREATE DATABASE 用于创建数据库。 SQL CREATE DATABASE 语法 CREATE DATABASE database_name SQL CREATE DATABASE 实例 现在我们希望创建一个名为 "my_db" 的数据库。 我们使用下面的 CREATE DATABASE 语句&…

轻量应用服务器5m支持多少人访问?

​  轻量应用服务器5m支持多少人访问?对于网站而言&#xff0c;服务器的带宽肯定是越大越好&#xff0c;但对于用户的钱包则相反&#xff0c;服务器的价格高低与带宽大小、类型也有很大的关系&#xff0c;我们只有选择到合适的带宽才能将轻量应用服务器显得更有性价比&#…

DAY41:贪心算法(十)监控二叉树

文章目录 968.监控二叉树思路遍历顺序空节点处理情况列举 最开始的写法debug测试&#xff1a;travelsal的输出多了1 修改版二叉树注意点时间复杂度总结 968.监控二叉树 给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及…

appuploder全过程使用教程(Windows版本)

appuploder全过程使用教程&#xff08;Windows版本&#xff09; 转载&#xff1a;使用appuploader工具流程&#xff08;Windows版本&#xff09; 一.登录apple官网&#xff0c;注册账号 1.注册苹果账号 Sign In - Apple 2.登录开发者中心 &#xff0c;出现协议弹框&#xf…

RPG++——游戏编辑器的开发

完整资料进入【数字空间】查看——baidu搜索"writebug" 随着当下电子设备的普及以及人们对娱乐需求的上升&#xff0c;电子游戏逐渐走进千家万户。RPG&#xff08;角色扮演&#xff09;游戏作为最经典的游戏种类之一&#xff0c;因其游戏形式多样&#xff0c;自由度…

el-tab-pane 和el-tooltip及el-tree 组合使用

<el-tabs v-model"groupId" tab-click"handleClick"><el-tab-pane label"全部" name"0"></el-tab-pane><el-tab-pane v-for"items in editableTabs" :key"items.group_id" :name"item…

面试题分析:统计网站访问次数

难度&#xff1a;较低 平台的访问量非常高&#xff0c;需要实时统计网站的访问次数&#xff0c;请设计一个计数器解决&#xff1a;初级工程师&#xff0c;可能回答使用synchronized锁或重入锁&#xff0c;进一步探讨&#xff0c;synchronized锁太重&#xff0c;有没其他方式&a…

vue3模型代码

效果&#xff1a; 代码 <template><div class"json_box"><json-viewer :value"jsonData" :boxed"false" :expand-depth"5" :expanded"true" ></json-viewer></div> </template><sc…