干货整理,Selenium 自动化测试常见异常问题 +解决方法(详细)

news2024/11/25 14:29:06

目录:导读

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


前言

异常1:Stale Element Reference Exception

直译异常
Stale Element Reference Exception:陈旧元素引用异常

首先,啥情况下会出现这异常
简单来说就是,页面元素过期了,无法引用元素

出现这异常的常见原因
The element has been deleted entirely:该元素已被删除【更常见】
The element is no longer attached to the DOM:元素不再附加到DOM上

该元素已被删除
分析原因
造成这种情况的最常见原因:刷新了元素所在的页面,或者用户导航到另一个页面

另一个原因是:JS库删除了一个元素,并用相同的ID或属性替换了它

解决方法:
再次查找该元素

元素不再附加到DOM上
分析原因
有可能是引导了不再附加到DOM树的元素(比如,document.documentElement)

解决方法:
仍然是再次查找该元素

遇到的情况:
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document【第二种情况】

什么情况下遇到这问题?
对元素hover,即调用了 Webdriver.ActionChains(driver).move_to_element(element).perform() 的方法

如何解决?
对异常进行捕获,并重新定位元素,重新hover

D1

如果这样也解决不了你的问题,那么可以试试直接click元素(当然,前提是点击该元素不会触发其他任何交互,才能用click替换hover)

异常2:No Such Element Exception

直译异常
No Such Element Exception:没有这个元素异常

啥情况会出现此异常
元素不存在,无法定位到
元素存在,但定位表达式有问题,没有定位到该元素
页面加载过久,元素还没加载出来,所以定位失败

如何解决此问题
原因1:元素存在
确定要找的元素是否存在页面

原因2:定位表达式有问题
先确定你想找的元素是否存在,若存在,则看定位表达式是否有问题
通过浏览器F12,进入elements,ctrl+f,将定位表达式粘贴,看看是否能找到对应元素

原因3:页面加载过久
使用显式等待或者隐式等待,待元素成功加载出来再去定位元素

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

迈出第一步,追逐梦想。努力奋斗,才能成就非凡。不屈不挠,坚持信念。困境不过磨砺,奋斗乃人生底色。闪耀青春,追寻辉煌。成功在于不断努力。

每天都有人在默默奋斗,不为了别的,只为了让自己变得更好。无论困难多大,只要坚持努力,成功就不再遥远。相信自己的潜力,勇往直前,创造属于你的辉煌!

只有拼尽全力,才能抵达成功的彼岸;只有坚持不懈,才能实现心中的理想;只有奋发努力,才能超越自己的极限。相信自己,勇往直前,就能创造属于你的辉煌人生!

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

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

相关文章

SpringIoc容器之Aware | 京东云技术团队

1 前言 Aware是Spring提供的一个标记超接口,指示bean有资格通过回调样式的方法由Spring容器通知特定的框架对象,以获取到容器中特有对象的实例的方法之一。实际的方法签名由各个子接口确定,但通常只包含一个接受单个参数的void返回方法。 2…

【接口测试】Postman —— 接口测试知识准备

1.0 前言 ​应用程序编程接口(Application Programming Interface, API)是这些年来最流行的技术之一,强大的Web应用程序和领先的移动应用程序都离不开后端强大的API。API技术的应用给系统开发带来了便利,但也对测试人员提出了更高…

[JAVA数据结构]HashMap

目录 1.HashMap 1.1Map的常用方法 1.2HashMap的使用案例 1.HashMap 基于哈希表的实现的Map接口。 Map底层结构HashMap底层结构哈希桶插入/删除/查找时间复杂度O(1)是否有序无序线程安全不安全插入/删除/查找区别通过哈希函数计算哈希地址比较与覆写自定义类型需要覆写equal…

leetcode.1504. 统计全 1 子矩形(单调栈-java)

统计全 1 子矩形 leetcode.1504. 统计全 1 子矩形题目描述单调栈解题代码演示 单调栈专题 leetcode.1504. 统计全 1 子矩形 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/count-submatrices-with-all-ones 题目描述 给…

pytest之配置文件pytest.ini

前言: pytest.ini文件是pytest的主配置文件,可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。 pytest.ini文件的位置一般放在项目的根目录下,不能随便放&a…

Vant入门介绍

Vant 介绍 Vant是有赞开源的一套基于Vue2.0的Mobile组件库。Vant 是一套轻量、可靠的移动端组件库。通过 Vant,可以搭建出风格统一的,提升开发效率。通过Vant,可以搭建出风格统一的,提升开发效率。目前已有近50个组件,这些组件被广泛使用于有赞的各个移…

LVS-DR排错思路

一.LVS-DR实验排错思路 1.案例架构图 DR服务器:192.168.27.11 web服务器1:192.168.27.12 web服务器2:192.168.27.13 vip:192.168.27.180 客户端:192.168.27.2 1:配置负载调度器:&#xff…

【集群】脑裂是什么?Zookeeper是如何解决的?

文章目录 什么是脑裂Zookeeper集群中的脑裂场景过半机制 什么是脑裂 脑裂(split-brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”,我们都知道,如果一个人有多个大脑,并且相互独立的话,那么…

[HDCTF2019]MFC

前言 mfc逆向,有一个VM壳一看到它就头疼,好在这道题用不到,可以直接通过xspy获取mfc自定义消息 分析 工具下载: https://bbs.kanxue.com/thread-170033.htm 开始时完全没有头绪,有虚拟壳,用ida打开也看…

AMEYA360:Panasonic松下HF系列压敏电阻器

Panasonic HF系列压敏电阻器符合AEC-Q200标准,最大允许额定电压为16VDC,钳位电压高达43A。这些紧凑型SMD压敏电阻器适合用于汽车应用,采用模制结构,因此能够耐受很强的“焊接热冲击”。这些压敏电阻器符合ISO7637-2和ISO16750-2负…

迪赛智慧数——饼图(玫瑰饼图):抑郁症发病群体年龄

效果图 痛心,震惊了全网,著名歌手李玟,抑郁症自杀离世! 为什么看起来阳光开朗的人,也会得抑郁症?据数据调查显示,15-30岁为抑郁症的高发年纪,由于思想不够成熟,经验少&a…

QT开发技巧之QComboBox通过qss设置item高度,增加间隔

1.问题描述 QComboBox默认的下拉item间距太小,字挤在一起不好看,直接qss设置item高度但是没效果 2.解决后效果 可通过qss设置item的最小高度,增加间距,不同字体大小的combobox都能使用,简单方便 3.代码实现 &#xf…

葡萄牙语翻译,北京哪个公司比较好?

近年来,随着中国与各葡语系国家,特别是与巴西经贸、科技、文化交流的不断扩大,葡萄牙语翻译的需求也越来越大,但是专业葡语翻译人才紧缺。那么,如何做好葡萄牙语翻译,北京葡语翻译公司哪家好? 我…

分布式消息服务设计

分布式消息服务设计 背景 为了解决当A系统的一个“操作”需要发送一个通知(生产者),由关心这个操作的业务(消费者)订阅消息并处理时,实现业务解耦,并适合分布式。本文主要讲解以消息中间件Rab…

Debug_性能分析工具_Perf +

目录 1. perf 作用 2. perf 安装 3. perf 使用示例 3.1 耗时统计,画出火焰图 1. 下载绘制火焰图的开源pl代码 2. 执行以下命令 3. 用浏览器打开svg文件,看当前进程各子模块耗时占比 1. perf 作用 Perf 是Linux kernel自带的系统性能优化工具。 P…

HCIA-HarmonyOS Application Developer学习笔记

目录 一、HarmonyOS 介绍二、HarmonyOS 应用开发流程HarmonyOS 系统架构HarmonyOS 子系统集DevEco StudioHarmonyOS 应用包结构使用资源文件的方法权限管理分布式能力 三、Ability 设计与开发Ability 的概念和分类页面生命周期Intent载体页面间导航Particle Ability 开发 四、U…

使用Vue脚手架2

ref属性 src/components/SchoolName.vue <template><div class"school"><h2>学校名称&#xff1a;{{name}}</h2><h2>学校地址&#xff1a;{{address}}</h2></div> </template><script>export default {name:…

【C++修炼之路】31.异常

每一个不曾起舞的日子都是对生命的辜负 异常 一.C语言传统的处理错误的方式二.C异常概念三.异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 四.自定义异常体系五.C标准库的异常体系六.异常的优缺点 一.C语言传统的处理错误的方式 传统的错误处理机…

Idea运行springboot项目(保姆级教学)

**大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯…

PHP:对比数据库,隐藏不满足条件的标签;对比数据库,将标签中的内容更改为数据库中的对应项

一、查询数据库数据&#xff0c;A列数据如果等于前端div中的值&#xff0c;那么将div中的值给其赋值为对应数据库中B列的值 如下案例&#xff1a;以第一个为例&#xff0c;如果id为append1&#xff0c;并且此id等于满足条件的数据库中colum_name列中的append1&#xff0c;就将…