自动化测试的三种等待方式

自动化测试的等待方式主要有三种:强制等待、隐式等待和显式等待。

1. 强制等待(Sleep)

通过在代码中使用Thread.sleep()方法来实现的,该方法会阻塞当前线程的执行,程序会暂停指定的时间。

这种方式没有条件判断,只是简单地等待固定的时间。

2. 隐式等待(Implicit Wait)

通过设置浏览器驱动的全局等待时间来实现的。当查找元素时,如果元素没有立即出现,驱动会等待指定的时间,然后再继续执行。

这种方式会在查找元素时自动等待一段时间,如果元素在指定时间内出现了,就会立即执行后续操作。

如果超过了指定时间,就会抛出找不到元素的异常。

3. 显式等待(Explicit Wait)

显式等待是通过在代码中设置等待条件来实现的。在使用显式等待时,可以指定等待的最长时间和轮询间隔,并设置等待的条件。

驱动会在等待的过程中不断地检查条件是否满足,如果满足就会立即执行后续操作,如果超过了指定的最长时间仍然不满足条件,就会抛出超时异常。【文末有配套视频教程和免费的资料文档领取】

三种等待方式的区别

1. 使用方式

强制等待是通过在代码中添加固定的等待时间来实现的,而隐式等待和显式等待是在初始化浏览器驱动时设置的等待时间或在代码中设置等待条件来实现的。

2. 等待条件

强制等待没有条件判断,只是简单地等待固定的时间。隐式等待通过判断元素是否出现来决定是否继续执行,而显式等待通过设置等待条件的满足与否来决定是否继续执行。

3. 灵活性

强制等待是固定时间的等待,不够灵活,不推荐广泛使用。

隐式等待是全局等待,适用于整个测试过程中都需要等待元素出现的情况。

显式等待更加灵活,可以根据不同的情况设置不同的等待条件,可以等待元素可见、可点击等等。

4. 等待时间

强制等待的等待时间是固定的,不会根据实际情况变化。

隐式等待和显式等待的等待时间可以设置,并且可以根据实际情况进行调整。

5. 异常处理

强制等待不会抛出任何异常。隐式等待在等待超时时会抛出找不到元素的异常。显式等待在等待超时或条件不满足时会抛出超时异常。

适用场景

1. 强制等待适用于简单的场景,或者在特定情况下需要固定的等待时间的场景

例如,在执行某个操作后,需要给系统一定的响应时间来稳定运行。

2. 隐式等待适用于整个测试过程中需要等待元素出现的场景

在初始化浏览器驱动时设置一个全局的等待时间,减少在每个元素查找操作前都需要手动添加等待时间的工作量。

适合网页加载时间不确定,但元素总体上可预期相对稳定的场景。

3. 显式等待适用于更复杂的场景,需要根据不同的条件来等待元素出现或满足特定的条件

通过设置等待条件和超时时间,可以在特定条件满足之前等待,或在超过指定时间后抛出异常。

适合需要等待特定元素状态变化,比如元素可点击、可见等情况。

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

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料。

【2024最新版】Python自动化测试15天从入门到精通,10个项目实战,允许白嫖。。。

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

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

相关文章

SpringMVC 域对象共享数据

文章目录 2、使用ModelAndView向request域对象共享数据3、使用Model向request域对象共享数据4、使用map向request域对象共享数据5、使用ModelMap向request域对象共享数据6、Model、ModelMap、Map的关系7、向session域共享数据8、向application域共享数据 1、使用ServletAPI向re…

钉钉java登录

获取token :API Explorer 获取部门列表:获取部门列表 - 钉钉开放平台

通过wireshark抓取的流量还原文件(以zip为例)

wireshark打开流量包,通过zip关键字查找 追踪流可查看详细信息 选中media Type右键, 点击导出分组字节流选项 将生成的文件进行命名,需要时什么格式就以什么格式后缀

leetcode:LCR 159. 库存管理 III(python3解法)

难度:简单 仓库管理员以数组 stock 形式记录商品库存表,其中 stock[i] 表示对应商品库存余量。请返回库存余量最少的 cnt 个商品余量,返回 顺序不限。 示例 1: 输入:stock [2,5,7,4], cnt 1 输出:[2]示例…

探秘人工智能大会:揭示未来技术发展趋势与学习之道

随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。 参加人工智能大会,不仅能够洞察到最前沿的技术动态,还能与业界专家、学者交流思想,共同探讨AI的未来发展。本文将带您探秘人工智能大…

nuxt pm2使用、启动、问题解决方案

pm2简介 pm2是一个进程管理工具,可以用它来管理node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能,在前端和nodejs的世界中用的很多 pm2安装 安装pm2: $ npm install -g pm2查看pm2的安装…

TinyLlama-1.1B(小羊驼)模型开源-Github高星项目分享

简介 TinyLlama项目旨在在3万亿tokens上进行预训练,构建一个拥有11亿参数的Llama模型。经过精心优化,我们"仅"需16块A100-40G的GPU,便可在90天内完成这个任务🚀🚀。训练已于2023-09-01开始。项目地址&#…

2024在视频号开店怎么样?平台现状如下,有电商经验者优先!

我是王路飞。 现在开网店、做电商的平台有很多,但是有着绝对流量优势的,除了抖音之外就是视频号了。 但是抖音跟视频号相比,已经属于一个很成熟的平台了,商家们也开始进入到内卷阶段了。 所以,如果你们2024年想做电…

[AutoSar]基础部分 RTE 07 VFB虚拟功能总线

目录 关键词平台说明一、VFB1.1VFB是什么1.1VFB的好处1.2VFB的坏处 二、VFB在ECU内部的描述2.1Components2.2 Port-Interfaces2.3 Port2.4 Compositions 关键词 嵌入式、C语言、autosar、VFB 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C&#xff0…

【Java后端】——JAVA后端学习路线

前言 hello小伙伴们,博主学后端也有一段时间了,感觉后端的知识确实比较多,对于逻辑思维的要求和基础要求也比较高。接下来咱们就一起捋一捋后端的学习路线,然后咱们就开始按顺序对每一块知识进行复习,总结和串联。 j…

bmp图像文件格式超详解

0 BMP简介 BMP(Bitmap-File)图形文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。一个BMP文件由四部分组成: B…

Redis-Cluster 与 Redis 集群的技术大比拼

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Redis-Cluster 与 Redis 集群的技术大比拼 前言概念与原理对比Redis-Cluster:基于哈希槽的分布式解决方案传统 Redis 集群:主从架构下的数据分片方式 搭建与配置的异同Redis-Cl…

OpenCV入门04:调整图像对比度和亮度

教程开源 本教程开源,地址:https://gitee.com/zccbbg/opencv_study 图像的亮度和对比度说明 亮度: 亮度是指图像中像素的整体明亮程度。在数字图像中,每个像素都有一个灰度值,表示其亮度水平。亮度越高,像…

omics简介

omics简介 公众号pythonic生物人写的系列文章介绍了组学的相关内容,本文仅做了一个简单的知识框架,供后面遇到对应问题,快速查阅。欢迎大家去关注原作者。 这篇文章也非常值得阅读:肿瘤NGS行业新人如何构建自己的知识体系-思考问题…

YOLOV8

YOLOv8 是 ultralytics (超溶体)公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,在还没有开源时就收到了用户的广泛关注。 总结: 1. 是YOLOV5的继承者 2. …

msvcr120.dll是什么?msvcr120.dll丢失要怎么去修复?

随着计算机技术的不断发展,我们在使用软件或游戏时经常会遇到各种错误提示,其中找不到msvcr120.dll就是一种常见的错误。那么,msvcr120.dll是什么?它的作用是什么?如何修复msvcr120.dll丢失的问题?本文将为…

1.4号io网络

1.多进程 引入目的:让多个任务实现并发执行 并发执行:同一时间只有一个进程执行,通过时间轮询调度多个进程,由于时间每个进程所用时间极短,所以宏观表现为多个进程同时进行。 并行执行:多个任务器执行多…

【福利】百度内容审核平台实战

文章目录 前言功能概述产品价格快速入门(账号登录及资源领取、在线验证、编写示例程序)实战演示1、首先创建一个应用2、引入百度的SDK3、测试用例百度内容审核-文本 200QPS百度内容审核-图像 50QPS 写在最后 前言 百度内容审核平台主要针对图像、文本、…

C语言可变参数输入

本博文源于笔者正在学习的可变参数输入&#xff0c;可变参数是c语言函数中的一部分&#xff0c;下面本文就以一个很小的demo演示可变参数的编写 问题来源 想要用可变参数进行多个整数相加 方法源码 #include<stdio.h> #include<stdlib.h> #include<stdarg.h…

接口测试基础(超详细)

一、HTTP 1、http请求头和响应头包含那些内容&#xff1f; 请求头信息 请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。 2、常用的请求报头如下&#xff1a; Accept&#xff1a;浏览器可接受的MIME类型。 l MIME用于设定某种扩展名的文件用哪种应用程…