当前位置: 首页 > news >正文

Web自动化测试——常见问题篇

文章目录

    • 一、什么是自动化测试
    • 二、为啥进行自动化测试(优点)
    • 三、Webdriver 的工作原理
    • 四、显示等待和隐式等待的区别
    • 五、什么样的项目适合做自动化
    • 六、自动化测试的流程
    • 七、如何分析生成的自动化测试报告

一、什么是自动化测试

所谓的自动化测试就是使用自动化工具来编写和执行测试用例,执行自动化测试套件,验证程序功能,就不需要人工的参与。

自动化测试工具可以访问测试数据,控制测试的执行并将实际结果与预期结果进行比较,从而能够生成被测系统详细的测试报告

二、为啥进行自动化测试(优点)

自动化测试能够替代一部分的手工测试,自动化测试能够提高测试效率

随着功能的增加,版本越来越多,版本回归的压力也越来越大,所以仅仅通过人工测试来回归所有的版本肯定是不现实的。自动化脚本可以进行复用,所以我们可以借助自动化来进行回归

自动化测试还完成对手工测试来说比较有难度的测试(比如精准计时),以及一些比较繁琐的测试。机器的执行是更可靠的,减少人为错误

三、Webdriver 的工作原理

自动化脚本代码运行后,每个 selenium 命令,比如点击、输入等等都会创建一个 HTTP 请求并发送给服务器端,这里的服务器端指的就是Webdriver浏览器驱动。

服务器端接收请求,把请求进行解析,就是根据协议规则定义这些 selenium 命令对应的浏览器具体操作,浏览器执行这些操作

执行好后,浏览器将执行状态返回给驱动,驱动在将状态信息返回到自动化脚本,最后就可以看出来结果对不对,是否符合预期

就相当于乘客乘坐出租车,乘客的指令就是脚本,司机就是 Webdriver,听从乘客的指令。来驱动出租车到达目的地,出租车就是浏览器

四、显示等待和隐式等待的区别

显示等待

显示等待是将方法封装在 WebDriverWait 类中的,在使用显示等待指定元素时,如果能够定位到元素就直接返回该元素,不再继续等待。如果不能够定位到该元素,那么就会轮询的定位目标元素,如果超过了指定的显示等待时间还没有等到目标元素,就会抛出异常(TimeoutException

隐式等待

隐式等待,就是在创建driver时,直接通过 driver 进行调用,设置全局元素等待超时时间,这个时间将在WebDriver 对象实例整个生命周期都起作用。

当要查找某元素时,如果元素可以定位,则继续执行。但目标元素没有马上出现时,浏览器会在你自己设定的时间内以轮询的方式不断地判断元素是否被定位到。若直到超出设置的时长还没有定位到元素,则抛出异常(NoSuchElementException

五、什么样的项目适合做自动化

1)功能需求稳定,界面稳定,不会频繁发生变动

2)版本迭代次数比较多,需要经常进行回归

3)项目周期比较长

六、自动化测试的流程

1)首先要做的就是分析出项目整体架构,分析项目中哪些模块是需要做自动化的

2)然后确定测试框架,进行测试规划

3)接下来就可以开始进行设计测试用例,测试用例要足够的明确和清晰,覆盖面广而精

4)再然后进行测试脚本的编写,合理运用断言开验证将结果,合理运用参数化提高测试效率

5)写完脚本后,就执行脚本,如果执行完后出现了异常或者结果不符合预期就需要仔细的分析原因

七、如何分析生成的自动化测试报告

主要看总共执行了多少用例,通过了多少,失败了多少,是否出现了错误

对于错误的用来,很大可能是脚本问题,查看报告中的日志详细信息,看具体哪个位置出错了,针对性去进行调试、修改

对于失败的用例,也是先看报告中的日志,看具体哪个位置出错了,先怀疑自己的脚本是否有误,如果脚本没有问题,那就可以认为是一个 BUG 了,提出 BUG

相关文章:

Web自动化测试——常见问题篇

文章目录一、什么是自动化测试二、为啥进行自动化测试(优点)三、Webdriver 的工作原理四、显示等待和隐式等待的区别五、什么样的项目适合做自动化六、自动化测试的流程七、如何分析生成的自动化测试报告一、什么是自动化测试 所谓的自动化测试就是使用…...

快速实现Modbus TCP转BACnet IP协议的方案

一、需求背景 BACnet是用于智能楼宇自控系统的主流通信协议,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节),也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。楼宇中的受控设备都通过BACnet协议连接到…...

Unity CircleLayoutGroup 如何实现一个圆形自动布局组件

文章目录简介实现原理Editor 编辑器简介 Unity中提供了三种类型的自动布局组件,分别是Grid Layou Group、Horizontal Layout Group、Vertical Layout Group,本文自定义了一个圆形的自动布局组件Circle Layout Group,如图所示: Ra…...

springcloud+nacos+gateway案例

一、先搭建好springcloudnacos项目地址:https://javazhong.blog.csdn.net/article/details/128899999二、spring cloud gateway简述Spring Cloud Gateway 是Spring Cloud家族中的一款API网关。Gateway 建立在 Spring Webflux上,目标是提供一个简洁、高效的API网关&a…...

实习这么久,你知道Maven是如何从代码仓库中找到需要的依赖吗?

目录 碎碎念 Maven是如何找到代码仓库里需要的依赖的? 如何根据坐标在本地仓库中寻找所需要的依赖? 如何根据坐标在远程仓库中寻找所需要的依赖? Maven 如何使用 HTTP 或 HTTPS 协议从远程仓库中获取依赖项,请详细解释其原理…...

低代码/零代码的快速开发框架

目前国内主流的低代码开发平台有:宜搭、简道云、明道云、云程、氚云、伙伴云、道一云、JEPaaS、华炎魔方、搭搭云、JeecgBoot 、RuoYi等。这些平台各有优劣势,定位也不同,用户可以根据自己需求选择。 一、阿里云宜搭 宜搭是阿里巴巴集团在20…...

C# 中常见的设计模式

设计模式是一套被广泛应用于软件设计的最佳实践,它们可以帮助开发者解决特定的问题,提高代码的可重用性、可读性和可维护性。本文将介绍 C# 中常见的几种设计模式,并提供相应的示例代码。 工厂模式 工厂模式是一种创建型设计模式&#xff0c…...

promethues/servicemonitor

目录 1.promethues 能保证源源不断地采集/metrics 信息吗?每次都是最新的吗 2.部署servicemonitor 的作用是什么? 3.pod 部署采集数据直接上报promthues ,不通过servicemonitor 可以吗? 4.你说的"此外,如果部署…...

postman使用简介

1、介绍 postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求 2、下载及安装 官方文档:https://www.getpostman.com/docs/v6/ chrome插件:chrome浏览器应用商店直接搜索添加即可(需墙&…...

@DS注解在事务中实现数据源的切换@DS在事务中失效【已解决】

在Springboot的application.yml中的配置: spring:datasource:url: jdbc:mysql://localhost:3306/test2?serverTimezoneUTC&useUnicodetrue&characterEncodingutf8driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: rootdynamic:primar…...

Java I/O之文件系统

一、全文概览 在学习文件系统之前,需要了解下Java在I/O上的发展史:在Java7之前,打开和读取文件需要编写特别笨拙的代码,涉及到很多的InputStream、OutputStream等组合起来使用,每次在使用时或许都需要查一下文档才能记…...

Mysql元数据获取方法(information_schema绕过方法)

前提:如果waf或其它过滤了information_schema关键字,那我们该如何获取元数据呢?能够代替information_schema的有:sys.schema_auto_increment_columnssys.schema_table_statistics_with_bufferx$schema_table_statistics_with_buff…...

Eclipse快捷键

* 1.补全代码的声明:alt /* 2.快速修复: ctrl 1 * 3.批量导包:ctrl shift o* 4.使用单行注释:ctrl /* 5.使用多行注释: ctrl shift / * 6.取消多行注释:ctrl shift \* 7.复制指定行的代码:ctrl a…...

java ssm自习室选座预约系统开发springmvc

人工管理显然已无法应对时代的变化,而自习室选座预约系统开发能很好地解决这一问题,既能提高人力物力,又能提高预约选座的知名度,取代人工管理是必然趋势。 本自习室选座预约系统开发以SSM作为框架,JSP技术&#xff0c…...

分享我从功能测试转型到测试开发的真实故事

由于这段时间我面试了很多家公司,也经历了之前公司的不愉快。所以我想写一篇文章来分享一下自己的面试体会。希望能对我在之后的工作或者面试中有一些帮助,也希望能帮助到正在找工作的你。 找工作 我们总是草率地进入一个自己不了解的公司工作&#xf…...

TypeScript快速入门———(二)TypeScript常用类型

文章目录概述1 类型注解2 常用基础类型概述3.原始类型4 数组类型5 类型别名6.函数类型7 对象类型8 接口9 元组10 类型推论11 类型断言12 字面量类型13 枚举14 any 类型15 typeof概述 TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了…...

Mac M1 使用Centos8➕VMware Fusion进行静态网络配置

大部分的流程网络上面都有当我们已经下载好mac m1版的Centos8链接: https://pan.baidu.com/s/1UTl4Lo-_c17s-PDj3dA6kA 提取码: 7xh2 和VMware Fusionhttps://www.vmware.com/cn/products/fusion.html之后就可以进行安装了在导入过后 记得将硬盘和内存都设置好了 记得在关机状态…...

RadGraph: Extracting Clinical Entities and Relations from Radiology Reports代码

文章来源:NeurIPS 文章类别:IE(Information Extraction) RadGraph主要基于dygie,主要文件为inference.py。 inference.py: 1、get_file_list(data_path) def get_file_list(path):file_list [item for item in glob.glob(f&q…...

13. OPenGL与QT界面元素交互控制图形渲染

1. 说明: 前面文章中讲到的 OPenGL 渲染都是在页面加载完成即立刻渲染的,如果向控制图形渲染的时间,可以在QT界面中添加一些元素来进行控制。此时需要用到OPenGL当中的makeCurrent(),update(),doneCurrent()函数。 效果展示: ope…...

高通平台开发系列讲解(USB篇)libuvc详解

文章目录 一、什么是UVC二、UVC拓扑结构三、libuvc的预览时序图沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍libuvc。 一、什么是UVC UVC,全称为:USB video(device) class。 UVC是微软与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标…...

3个步骤让Windows任务栏焕然一新:TranslucentTB如何改变你的桌面体验?

3个步骤让Windows任务栏焕然一新:TranslucentTB如何改变你的桌面体验? 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB …...

Ubuntu 18.04上Qt程序报‘xcb’插件错误?别急着重装,试试这个ldd排查法

Ubuntu 18.04 Qt程序xcb插件错误排查指南:从日志分析到依赖修复 当你满怀期待地在Ubuntu 18.04上启动精心开发的Qt应用程序时,屏幕上突然跳出"Could not load the Qt platform plugin xcb"的错误提示,这种挫败感开发者都深有体会。…...

实测Taotoken多模型路由的延迟与稳定性体感分享

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken多模型路由的延迟与稳定性体感分享 作为日常依赖大模型API进行开发的工程师,API服务的稳定性和响应速度是…...

GraphRAG + Multi-Agent 凭什么登上 Nature?拆解 2026 年首个生产级统一多模态平台

2026 年 5 月,Nature Scientific Reports 刊出了一篇看起来有点"反常识"的论文——它没有提出新的模型架构,没有刷新 benchmark SOTA,但把 GraphRAG Multi-Agent 多模态 三件已经各自被研究烂了的事,第一次系统化地拼…...

如何免费获取网盘直链下载地址:八大网盘一键解析神器

如何免费获取网盘直链下载地址:八大网盘一键解析神器 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

GM 卖司机数据被罚,汽车越来越像一个会移动的数据采集器

你以为车是你买的,结果你的驾驶数据也被卖了 我现在对“智能汽车”这四个字,越来越没什么浪漫想象了。 以前听到智能汽车,脑子里是自动驾驶、大屏幕、语音助手、座椅按摩、车机生态。听起来挺高级,像是未来生活终于愿意照顾一下普通人。 现在再看,未来是来了。 只不过…...

Qobuz-DL终极指南:解锁无损音乐下载的完整高效方案

Qobuz-DL终极指南:解锁无损音乐下载的完整高效方案 【免费下载链接】qobuz-dl A complete Lossless and Hi-Res music downloader for Qobuz 项目地址: https://gitcode.com/gh_mirrors/qo/qobuz-dl 在数字音乐追求极致音质的今天,无损音频获取工…...

ImageGlass:重新定义Windows图像查看体验的完整开源解决方案

ImageGlass:重新定义Windows图像查看体验的完整开源解决方案 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在数字化图像处理日益复杂的今天,Windo…...

别再傻傻重启电脑了!Win10下NVIDIA Container CPU占用飙升的终极修复指南

彻底驯服NVIDIA Container:Win10下CPU占用异常的深度解决方案 每次打开任务管理器,看到"NVIDIA Container"进程像脱缰野马一样吞噬着CPU资源,那种无力感想必许多Windows用户都深有体会。这个看似无害的后台服务,常常在不…...

FOC开环速度控制

DengFOC开环无刷电机控制代码完整解读 这是灯哥开源的纯手写ESP32无刷电机开环FOC控制代码,不依赖任何第三方FOC库,仅使用ESP32原生LED PWM外设实现三相PWM输出,是学习FOC原理的绝佳入门代码。 一、完整IO配置清单(核心问题&#…...