全网最细,Selenium自动化测试项目实战技巧,从0到1精通自动化测试...

news2024/12/25 23:38:24

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Selenium4自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/

确定web自动化的内容

自动化测试的最佳实践之一是明确知道要自动化的内容。在开始实施自动化浏览器测试之前,重要的是要知道首先要自动化什么内容。自动化背后的主要原因是避免重复和搬砖的任务。因此,坚持明确自动化测试内容是非常有意义的。

例如,自动化涉及视觉场景(包括字体,颜色和布局结构)的测试并不是一个好主意。自动测试可以检查静态内容,例如标题、文案和状态等。当然,前提是我们知道它们很少更改,可以轻松地使它们自动化。

自动化测试用例选择

在前一点要点的基础上,有一些特定的测试用例与自动化非常匹配。那么,下一步应该是什么?可以选择频繁发生且可以预测的测试用例。

例如:单击一个选项卡时,一个应用程序开始启动。这是带有条件的通用测试。换句话说,当我们知道某个事件肯定会发生时,结果是可以预测的。因此,为避免重复执行,可以自动化这些测试用例。

在开始自动化测试之前,需要考虑到在自动化测试上投入的时间、精力和资源后,看看自动化测试可以带来什么好处。以下是确定哪些手动测试应该或不应该自动化应该考虑的问题。俗话说,仅仅因为您可以使某些东西自动化并不一定意味着应该这样做。
简单>优先级>稳定性>重复性。

选择Selenium测试工具
切换到自动化浏览器测试时,每个公司都有不同的考虑因素。即使市场上有各种各样的Selenium测试自动化工具,选择工具也不是很容易的方法。必须根据公司的需求选择正确的Selenium测试自动化工具。

例如,检查该工具是否支持公司所使用的现有平台。要问的其他一些问题包括以下内容:需要该工具来执行移动应用程序测试吗?使用什么框架设计?工具是否支持记录和回放测试?可以手动创建自动化测试吗?

选择Selenium测试工具的因素

记录和重放:此类别中的工具为自动脚本提供了记录选项。屏幕上的每个交互(例如点击,滚动或键入)都将被记录并转换为自动化步骤。可以重播已录制的脚本以执行操作并验证。

基于坐标的识别:此类工具在x/y坐标的帮助下与被测应用程序交互,以自动化和验证应用程序。

本机对象识别:使用本机对象识别的工具可检测给定元素树上的UI或控件元素。该树由XPATH,XML或CSS构建,以标识元素,验证和自动化脚本。

文字识别:文本识别:文本识别或(OCR)光学字符识别工具可根据其文本识别元素。这些工具使用可见文本来推动自动化并验证应用程序。

图像识别:这些工具会获取产品中UI元素的屏幕截图,以将其添加到自动化脚本中。这些屏幕截图将帮助AUT自动执行。

去除Selenium自动化不确定性

如前文中提到的,作为测试人员,Selenium自动化测试存在一些常见的障碍。有时,即使没有BUG,测试用例也会失败。另一方面,如果存在BUG,则测试可能会通过。这是阻碍Selenium自动化测试成功的重要原因。

当存在任何不一致或误报时,这会增加我们分析结果和排查问题所花费的时间。因此,在涉及回归包时,重点是要消除不稳定的测试用例,宁可放弃掉,也要保证测试用例的高质量。

一个成功的测试团队包括手动测试人员和自动化测试人员。现在,不少公司最大错误是认为一个人实体可以完成两项任务。但是自动化测试本身就是一项全职工作,手动测试亦是如此。期望手动测试人员执行Selenium测试自动化是不合理的。

但是,如果企业不愿雇用新员工进行自动化测试,而将任务留给有经验的手动测试人员,则首先让他们减轻或者解除手动测试和相关职责。他们应该将主要精力集中在自动化测试,而不是其他事情上。

否则,企业需要照片自动化工程师来完成这项工作。假设公司规模较大。在这种情况下,甚至可以招聘一名自动化测试架构师。然后可以监督和指导的自动化工程师工作。

复查Selenium自动化测试的有效性

团队无法在实施自动化之前进行良好的计划。这可能会对整个软件测试造成负面影响。有时候,自动化测试无法检查某些验证,其背后的主要原因是这些验证方式可能已过时。

因此,还有一点至关重要,测试团队必须检查所有自动化测试用例的有效性。换句话说就是要始终需要确保测试用例是最新的。最好让固定的人员负责自动化测试的有效性和合理性。

选择适合的自动化工具

假设团队资源偏向某种的编程语言,例如Java或者Python。因此,要在Java或者Python语言环境中测试的应用程序很有意义。在这种情况下,如果选择了不支持用该语言的脚本工具,那实际上就没有意义。

我们知道学习一种新语言需要大量的努力并且非常耗时。但是,如果选择与团队资源兼容的工具,则可以完全避免学习上的麻烦。

主流的Selenium自动化测试框架

配套框架:Python+selenium4+pytest+POM+allure+Jenkins;

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生命中最重要的是我们走过的路,而不是目的地。让我们相信自己的选择,勇敢追求梦想和远方。即使在跌宕起伏的人生道路上,只要始终坚持一颗乐观向上的心,就能创造无限的可能!

失败并不可怕,畏首畏尾才是最让人无法释怀的事情。只有放下恐惧,鼓起勇气踏出第一步,我们才能开启成功的征程。坚定自己的信念、追求自己的梦想,走向辉煌的人生巅峰!

生活中没有什么事情是轻而易举的,但只要我们持之以恒、不放弃,就一定能克服困难,取得成功。记住,每一次失败都是通往成功的重要经验。让我们携手前进,追寻自己梦想的彼岸!

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

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

相关文章

重学Ajax

概述 Ajax(Asynchronous JavaScript And XML)即异步 JavaScript 和 XML,是一组用于在网页上进行异步数据交换的Web开发技术,可以在不刷新整个页面的情况下向服务器发起请求并获取数据,然后将数据插入到网页中的某个位置…

【Docker】Swarm学习

文章目录 什么是Docker Swarm定义与Docker Compose对比 基本结构图关键概念工作模式NodeService任务与调度服务副本与全局服务 Swarm的调度策略Swarm的特性批量创建服务强大的集群的容错性服务节点的可扩展性调度机制 集群部署基础架构准备工作创建Swarm并添加节点在Swarm中部署…

测试进阶篇

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录 按照对象划分界面测试可靠性测试容错性测试文档测试兼容性测试易用性测试安装卸载测试安全测试性能测试内存泄漏测试 按是否查…

老板让你Excel统计数据无从下手?没事,ChatGPT来帮你!

系列文章目录 老板让你写个PPT没有头绪?没事,ChatGPT来帮你!传送门 文章目录 系列文章目录前言一、不会公式?帮你生成二、不会处理数据?帮你处理写在最后 前言 自从人工智能横空而出,它在人们的生活中产生…

如何在华为OD机试中获得满分?Java实现【 第一个错误的版本】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

【P36】JMeter 交替控制器(Interleave Controller)

文章目录 一、交替控制器(Interleave Controller)参数说明二、测试计划设计 一、交替控制器(Interleave Controller)参数说明 可以将内部的组件在线程迭代时交替执行;交替控制器内部一般会有多个取样器 选择线程组右…

6.6.4 PCS创建Oracle 资源及资源组

在RHCS体系中,Oracle的启动是按以下顺序进行的: VIP。监听器。逻辑卷(ISCSI共享出来的)。文件系统(在逻辑卷上创建)。数据库实例。 上边这些资源,在PCS里创建好以后,将其组合成一个…

接口自动化一键集成,Jenkins持续集成Allure报告!

目录 前言: 一、接口测试框架选型 二、接口自动化框架封装的设计 2.1 创建测试用例 2.2 执行测试用例 2.3 生成测试报告 三、 实现Jenkins持续集成 3.1 安装Jenkins 3.2 配置Jenkins 3.3 创建Jenkins任务 四、总结 前言: 接口测试作为软件测试中的…

chatgpt赋能python:Python程序中断

Python 程序中断 Python 是一种高级编程语言,被广泛应用于数据科学和机器学习等领域。但是,有时候我们需要中断 Python 程序的执行,以便处理意外事件或者出现错误时进行调试。在这篇文章中,我们将探讨 Python 程序中断的各种方法…

Rocky9-Linux上安装KVM虚拟机

一、案例环境 使用一台物理机器,安装Rocky9-Linux的64位系统,test01是在宿主机kvm中安装的虚拟机 主机 操作系统 IP地址 主要软件 kvm Centos 7 192.168.100.46 KVM test01 Centos 7 192.168.100.32 虚拟机

梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能。 一、两者的主要区别 先开门见山的说说两者之间的区别。 1)CSS动画: 基于CSS的动画一般由浏览器“主线程”之外的独立线程处理,在其…

SpringBoot2-核心技术(一)

SpringBoot2-核心技术(一) 了解SpringBoot配置文件的使用 文章目录 SpringBoot2-核心技术(一)了解SpringBoot配置文件的使用一、文件类型1. properties2. yaml 二、yaml的基本使用1. 基本语法2. 数据类型2.1 字面量 2.2 对象2.3 …

Ubuntu系统磁盘分区与挂载

0x00、一些查看信息的命令 sudo fdisk -l 该命令可以列出当前设备上的所有分区表信息。 df -hl 该命令可以查看文件系统磁盘空间的使用情况。 0x01、对磁盘分区 使用命令 sudo fdisk 设备文件名(/dev/sda) 此处设备路径可以通过上面的fdisk -l命令查看…

测试老鸟总结,性能测试三大核心指标详解,并发/TPS/响应时间...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 抛出问题&#xf…

恒容容器放气的瞬时流量的计算

有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…

服务(第三十一篇)mysql-mmm高可用

MMM是一套支持双主故障切换和双主日常管理的脚本程序。 用来监控和管理 MySQL Master-Master (双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加…

Makefile基础教程(自动生成依赖关系)

文章目录 前言一、makefile不包含.h依赖的后果二、gcc -M 和 gcc -MM命令三、sed命令四、makefile中命令的执行机制四、生成依赖文件并单独放入文件夹中总结前言 在前面的文章中我们都只使用到了.c文件作为依赖但是在实际的工程中肯定是不可能只有.c文件的还存在.h文件,那么在…

CSAPP Lab5- MallocLab

实验目标 本实验需要用c语言实现一个动态的存储分配器,也就是你自己版本的malloc,free,realloc函数。 实验步骤 tar xvf malloclab-handout.tar解压文件 我们需要修改的唯一文件是mm.c,包含如下几个需要实现的函数 int mm_ini…

ChatGPT通用人工智能:初心与未来

至少从 20 世纪 50 年代起,人们就开始大肆宣传可能很快就会创造出一种能够与人类智能的全部范围和水平相匹配的机器。现在,我们已经成功地创造出了能够解决特定问题的机器,其准确度达到甚至超过了人类,但我们仍然无法获得通用智能…

基于STM32F103的HAL库手动配置FreeRTOS

基于STM32F103的HAL库手动配置FreeRTOS 源码下载 FreeRTOS源码下载包括示例工程与内核工程。 示例工程:获取与开发环境相关的架构文件 内核工程:移植FreeRTOS的内核文件 示例工程Gitee地址 内核工程GirHub地址 STM32工程创建 使用STM32CubeMX创建新工…