当前位置: 首页 > 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视频捕获设备定义的协议标…...

ICC2:set_route_opt_target_endpoints

route_opt阶段通过指定endpoint/driver pin list的方式执行incremental优化。 set_route_opt_target_endpoints [-setup_endpoints file] [-setup_endpoints_collection pin_list] [-hold_endpoints file] [-hold_endpoints_collection pin_list] [-ldrc_objects fil…...

5、小程序面试题

1, 小程序页面有哪些生命周期函数onLoad: 页面加载onReady: 页面初次渲染完成onShow: 页面显示onHide: 页面隐藏onUnload: 页面卸载2, 一页小程序页面有哪些文件组成,分别有什么作用.wxml: 使用微信框架设计的一套组件构建页面结构.wxss: 用于设置页面样式, 和css基本一致.js :…...

Java特殊操作流

6 特殊操作流 6.1 标注输入输出流 System类中有两个静态的成员变量: public static final InputStream in:标准输入流,通常该流对应于键盘输入或由主机环境或用户指定的另一个输入源public static final PrintStream out:标准输…...

如何用SCRM销售管理系统管理销售和做销售管理

每一家企业都在找适合自己公司的销售管理方法,实现销售目标和努力提高业绩。 我们常说,做好销售管理有很多路径和方法,但我们不知道从哪里开始?每个阶段我们该怎么办?如何有效管理销售团队?好的企企业微信…...

分享117个HTML婚纱模板,总有一款适合您

分享117个HTML婚纱模板,总有一款适合您 117个HTML婚纱模板下载链接:https://pan.baidu.com/s/1cC3I5cfh91-KmQj4nfSoPA?pwd9hod 提取码:9hod Python采集代码下载链接:采集代码.zip - 蓝奏云 import os import shutil import …...

VIVADO2022 sdk 工程创建流程

正点原子uart历程复现 create block design(起名 为System) -> open block design -> 号/IP catalog 中搜索zynq 双击打开, 将和pl相关的时钟都干掉 再auto 布线一下 把herarchy中的sources 中的system.bd右键、 无脑下一步导出 如…...

【MyBatis】源码学习 02 - Java 元注解以及 MyBatis @Param 注解分析

文章目录前言参考目录学习笔记1、Java 注解1.1、Java 元注解1.2、Java ElementType 枚举值1.3、自定义注解2、Param 注解分析2.1、Param 注解2.2、测试方法2.3、流程分析(重点:ParamNameResolver)前言 本文内容对应的是书本第 7 章的内容&am…...

贪心算法-蓝桥杯

一、贪心算法的优缺点优点:1.容易理解:生活常见。2.操作简单:在每一步都选局部最优。3.效率高: 复杂度常常是O(1)的。缺点:1.局部最优不一定是全局最优。二、例子: 最少硬币问题硬币面值1、2、5。支付13元,要求硬币数量最少。贪心法: (1) 5元…...

zookeeper 复习 ---- chapter03

zookeeper 复习 ---- chapter03如何创建 zookeeper 对象 要求: 1:知道这几个构造参数 2:知道每一个参数的含义 ZooKeeper(String connectString, int sessionTimeout, Watcher watcher) ZooKeeper(String connectString, int sessionTimeout…...

1.PostgreSQL

文章目录LIMITWITH 和RECURSIVEPostgreSQL 约束PostgreSQL AUTO INCREMENT(自动增长)PostgreSQL PRIVILEGES(权限)GRANT语法LIMIT SELECT * FROM COMPANY LIMIT 3 OFFSET 2;WITH 和RECURSIVE WITH RECURSIVE t(a,b) AS (VALUES (…...

网站开发工资咋样/营销渠道策划方案

文件及内容处理 - tar、unip 1.tar:打包压缩命令 tar命令的功能说明 tar 命令常用语用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件 tar命令的语法格式 tar [OPTION...] [FILE]…...

做网站学多长时间可以学会/软文代写公司

好啦,101-200的文章阶段记录开始啦,新的开始,加油! 上一篇文章写到了递归遍历所有文件,提到了压缩包的问题,现在就来介绍一下: python解压缩文件常用shutil模块 直接上代码: 压缩…...

装饰公司怎么做微网站/营销推广平台

文章目录1.vi /etc/crontab命令2.crontab -e命令2.1频率设置2.2命令设置3.错误分析3.1.python路径原因3.2. 文件权限原因3.3. 文件路径原因4.其他命令我用的是ubuntu 20.04. 1.vi /etc/crontab命令 这个命令只有root用户才可以使用,所以应该是sudo vi /etc/cronta…...

用asp做网站需要准备什么软件/推广平台有哪些

本文要提供的类可以为图片加文字水印,以及判断是否是图片文件。经过测试可运行,例子请下载:http://hovertree.com/h/bjaf/5qc5eh6y.htm例子效果图: 以下是HovercWarter类的代码: 1 using System.Drawing;2 using Syste…...

自己做的网站百度搜到/sem推广软件哪家好

#练习 #程序购物车 #启动程序后,让用户输入工资, 然后打印商品列表,允许用户根据商品编号购买商品用户选择商品后 #检测余额是否够,够就直接扣款,不够就提醒可随时退出,退出时,打印已购买商品和…...

番禺网站开发哪家好/抖音搜索关键词排名

综述 Ubuntu分辨率只有一个分辨率 当然xrandr也没法修改 看上去很难受 解决方法 sudo apt install nvidia-cuda-tookit...