资深老鸟总结,Selenium自动化测试实战小技巧,不要再走弯路了...

news2024/12/25 2:18:53

目录:导读

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


前言

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

现在企业常用的web自动化测试框架架构:
Python+selenium4+pytest+POM+allure+Jenkins;

现在与以前瀑布式开发模式不同,现在软件测试人员具有使用自动化工具执行测试用例套件的优势,而以前,测试人员习惯于通过测试脚本执行来完成测试。

但自动化测试的目的不是完全摆脱手动测试,而是最大程度地减少手动运行的测试。自动化测试可以快速测试多语言站点,还可以提高测试执行速度。

Selenium自动化
由于开源工具和应用程序的成本效益,效率,可重复性,准确性和易用性,它们变得越来越重要。Selenium是开放源代码工具之一,它在应用程序测试方面提供了开放源代码工具的所有优点。

跨浏览器测试中的Selenium
顾名思义,跨浏览器测试是一种用于在不同的Web浏览器和设备上测试Web应用程序以确保其在每个设备和浏览器上都能无缝运行的方法。

selenium自动化测试小技巧

1、利用正确的定位器
Selenium框架的底部是与浏览器进行交互,从而可以使用文档对象模型(DOM)检查,输入和浏览多个对象。这是通过一组操作发生的,并使用了多个定位器,包括CSS选择器,name,Xpath,ID,标记名,链接文本和classname。

例如,当不想在开发人员和测试人员不了解的情况下更改代码时,可以使用Class和ID定位器。
另一方面,当其他团队进行测试时,可以使用链接文本来动态处理情况。最后,可以采用XPath可用于定位。

2、数据驱动的测试
如果要为不同的输入使用相同的测试和相同的代码,则可以依赖Selenium。它将允许开发人员和质量检查团队进行修改,这意味着可以将其用于系统功能测试以及浏览器兼容性测试。

Selenium还允许客户从其框架中受益。客户可以利用专有的测试加速器并启动测试自动化。这将减少自动化周期时间。有很多个函数库,可让客户端启动自动化过程。

3、不要依赖特定的驱动程序
永远不要依赖于一种特定的驱动程序实现。了解驱动程序在不同的浏览器中不是瞬时的。也就是说,不一定会有IE驱动程序、FireFox驱动程序等。

例如,在连续Linux构建过程中执行集成测试时,将收到RemoteDriver。可以使用LabelledParameterized(JUnit具有,@RunWith 而TestNG为 @Parameters)在Selenium中快速创建小型框架。

和ScreenShotWatchMan(JUnit @Rule,TestNG TestListenerAdapter)。换句话说,使用参数注释来处理多种浏览器类型并准备好同时执行是不错的选择。

4、选择器顺序
选择选择器的顺序很重要,因为选择器(例如XPath和CSS)是基于位置的。与ID,name和链接文本相比,它们比较慢。name和ID是特别直接和直接的方式选择器。CSS通常是ID和Name的组合。相比之下,XPath应该是最后的解决方案。

健壮的解决方案如下所示: XPath <CSS <Links Text <Name <ID。这意味着以ID开头,并使XPath为最后一个选择器。在3个没有数据的表中,XPath识别第二个表的速度最慢,并且可能不会返回正确的表。因此,最后选择了XPath,它们很脆弱。CSS始终与名称和ID结合在一起。

5、使用PageObjects设计模式
PageObject已作为测试自动化中的最佳设计模式而获得普及。它提升了测试的可维护维护性,还减少了代码重复量。此外,它是一个面向对象的类,它充当被测应用程序页面的接口。为简化起见,PageObject是一种面向对象的设计模式,并且将网页定义为类。页面上的不同元素将成为变量。用户交互被用具体的方法实现。

网页=类别;
页面上的各种元素=变量;
用户互动=方法;

PageObject的优点
通过较小的UI调整,它有助于建立一个健壮的框架。测试代码和页面代码是分开的。它们可靠且易于维护。该脚本是可读的。该代码是可重用的。几乎完全消除重复。

6、提倡wait避免sleep
利用wait代替sleep。了解显式和隐式等待,还有Thread.sleep()逻辑。然后,为什么wait等待而不是sleep。

wait
显式–等待某种情况发生,而无需继续编写代码。
隐式–指示WebDriver轮询DOM,直到完成对元素的搜索为止。默认情况下,时间设置为0。

sleep
Thread.sleep()无论工作页是否准备就绪,都会在括号内指定的秒数内等待。

7、关闭Firebug起始页
在启动firefox驱动程序时,可能已包含firebug。有时这可能导致无法工作正常。如果在启动浏览器时同时打开一个新的firebug选项卡感到烦恼,请按照以下提供的提示之一关闭firebug起始页。

在showFirstRunPage标志中将False设置,如下:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("extensions.firebug.showFirstRunPage", false);

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心中有梦想,就不要停止追求;只要肯努力奋斗,就没有克服不了的困难;只要保持坚定信念,就一定能够创造属于自己的辉煌人生。

只有勇往直前,才能在人生的道路上迎来更美好的明天。每一步都是磨练自己的机会,不要害怕失败,因为成功就在你不断尝试的下一步。让激情驱动你的梦想,坚持努力奋斗,期待未来的辉煌!

每一天都是一个机会,不要浪费。即使你遇到困难,也要保持坚毅和勇气。相信自己的潜力,不要放弃追求美好生活的愿望。只有努力奋斗,才能实现自己的梦想!

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

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

相关文章

数据库小技能:数据报表

文章目录 I 需求1.1 补贴II 实现思路2.1 生成资金调节报表数据III Dto3.1 报表基本查询IV 接口I 需求 代理商调节活动汇总商户调节活动汇总激励金日月汇总数据源:活动流水表(上游回调) 1.1 补贴 调节活动补贴= D0补贴+T1补贴。(比如交易金额满足1000,转T1) 补贴金额 =…

图扑数字孪生智慧灯杆,“多杆合一”降本增效

前言 随着智慧城市建设的不断深入&#xff0c;智慧灯杆作为城市基础设施的重要组成部分&#xff0c;正在成为城市智能化和绿色化的重要手段之一。 效果展示 图扑智慧灯杆系统在城市道路照明领域引入信息化手段&#xff0c;通过构建路灯物联网&#xff0c;实现了现代化的路灯按…

线性代数 --- Gram-Schmidt, 格拉姆-施密特正交化(下)

Gram-Schmidt正交化过程 到目前为止&#xff0c;我们都是在反复强调“对于无解的方程组Axb而言&#xff0c;如果矩阵A是标准正交矩阵的话&#xff0c;就怎么怎么好了。。。。”。因为&#xff0c;不论是求投影还是计算最小二乘的正规方程&#xff0c;他们都包含了。当A为标准正…

yolov4论文解读

数据层面上的数据增强 四张照片拼接成一张进行训练 相当于增大了batch-size&#xff0c;更适合于单GPU。 Mosaic data augmentation 马赛克数据增强 self-adversarial training(SAT) 自我对抗训练 DropBlock Label Smoothing 损失函数 由IOU改进到CIOU 网络结构 CSPNet&…

Win10 WLAN驱动正常但仍然不显示无线网络解决办法

Win10 WLAN驱动正常但仍然不显示无线网络解决办法 写作背景过程解决方案结尾 写作背景 本菜鸡重置了电脑的网络&#xff0c;然后重新启动后 WLAN 不见了&#xff0c;连不了 WIFI 了&#xff0c;很疑惑&#xff0c;后来经过一番搜索找到了问题所在&#xff0c;写下本篇文章以记…

Spark/Flink广播实现作业配置动态更新

前言 在实时计算作业中&#xff0c;往往需要动态改变一些配置&#xff0c;举几个栗子&#xff1a; 实时日志ETL服务&#xff0c;需要在日志的格式、字段发生变化时保证正常解析&#xff1b;实时NLP服务&#xff0c;需要及时识别新添加的领域词与停用词&#xff1b;实时风控服…

访问学者J1签证面签的七个问题

作为访问学者&#xff0c;申请J1签证面签时可能会遇到一些常见问题。下面知识人网小编将介绍七个访问学者面签可能遇到的问题&#xff0c;并提供相应的答案。 问题一&#xff1a;您将在美国进行何种类型的学术研究&#xff1f; 答案&#xff1a;我将在美国从事学术研究&#x…

普冉PY32L020单片机简介,主频最高48MHZ

PY32L020单片机是一颗32 位 ARM Cortex-M0内核&#xff0c;宽电压工作范围的 MCU。这颗MCU的价格跟八位单片机相差不大&#xff0c;性价比可以说是非常的高了。来看看PY32L020的配置吧。 PY32L020单片机产品特性&#xff1a; 内核&#xff1a; — 32 位 ARM Cortex - M0 — 最…

飞浆AI studio人工智能课程学习(2)-Prompt优化思路|十个技巧高效优化Prompt|迭代法|Trick法|通用法|工具辅助

文章目录 优化思路上节课的例子问题分析思路解析 Prompt优化技巧Prompt优化原理 十个技巧高效优化Prompt迭代法Trick法工具法通用技巧│定基础通用技巧│做强调需求强调怎么做&#xff1f; 通用技巧│提预设Trick法│戴高帽原理 Trick法│说好话以基础计算为例: Trick法│给提示…

小红书数据分析:如何用ChatGPT输出爆文笔记

ChatGPT的热度依旧不减&#xff0c;随着技术升级&#xff0c;越来越多更高级的玩法被发掘。今天我们就来聊聊&#xff0c;如何用ChatGPT写出小红书风格的文章。 首先&#xff0c;小红书笔记制作分为两个步骤&#xff1a; 1、找选题 2、写小红书风格的笔记 我们用例子说话&a…

全国自考本科通过率仅7%,为什么还有这么多人报考?

根据教育部官网公布的《2021年全国教育事业发展统计公报》得知&#xff1a;2021年&#xff0c;全国高等教育自学考试学历教育报考625.78万人次&#xff0c;取得毕业证书48.94万人。也就是说2021年我国自考平均通过率大概在7%左右。 自考通过率为什么这么低&#xff1f; ①自考…

Android平台外部编码数据(H264/H265/AAC/PCMA/PCMU)实时预览播放技术实现

开发背景 好多开发者可能疑惑&#xff0c;外部数据实时预览播放&#xff0c;到底有什么用&#xff1f; 是的&#xff0c;一般场景是用不到的&#xff0c;我们在开发这块前几年已经开发了非常稳定的RTMP、RTSP直播播放模块&#xff0c;不过也遇到这样的场景&#xff0c;部分设…

“ChatGPT之父”勇闯币圈!数十亿人的空投计划,只需交出你的虹膜?

最近&#xff0c;Worldcoin&#xff08;世界币&#xff09;热度持续提升&#xff0c;这个由OpenAI创始人SamAltman亲自操持的加密项目&#xff0c;让沉寂已久的币圈开始躁动起来。 虽然Worldcoin并非最新项目&#xff0c;但颇具乌托邦色彩的理念&#xff0c;独特的虹膜识别机制…

10几个国产免费ChatGPT网页版(内附体验网址)

文章目录 前言1. AI文本工具站效率工具自媒体创作工具代码工具 2.道和顺ChatIC3.星期五4.文心一言5.讯飞星火认知大模型6.通义千问7.商汤-日日新8.Moss9.ChatGLM10. 360智脑写在最后 前言 随着ChatGPT迅速走红,国内各大企业纷纷发力认知大模型领域。经过一段时间的酝酿&#x…

剩余参数、扩展运算符、将伪数组转换伪数组

剩余参数 剩余参数语法允许我们将一个不定数量的参数表示为一个数组 语法: array.forEach(function(currentValue,index,arr){}) currentValue:数组当前项的值index:数组当前项的索引arr:数组对象本身 示例 <!DOCTYPE html> <html lang"en"><h…

实力认证!开源网安入选《2023年中国网络安全市场全景图》

近日&#xff0c;数说安全正式发布《2023年中国网络安全市场全景图》&#xff08;以下简称全景图&#xff09;。开源网安凭借强大的技术能力与服务经验上榜本次全景图开发安全/DevSecOps、应用安全测试&#xff08;AST&#xff09;、软件成分分析&#xff08;SCA&#xff09;、…

野火STM32电机系列(三)Cubemx配置CAN通信

CAN接口: PI9 PB9 1.配置CAN 通信参数 由于F4的 CAN外设挂载在APB1上&#xff0c;时钟配置后APB1的时钟速率为42MHz&#xff0c;目标通信速率为1000KHz&#xff0c;由公式&#xff1a; BaudRate 1/NominalBitTime NominalBitTime 1tq tBS1 tBS2 设置参数如下&#xff1a;…

pip 安装 pytorch

一.使用pip安装 pytorch pytorch博客教程 最好先创建一个虚拟环境&#xff0c;因为如果在同一环境&#xff0c;升级某一个包可能会导致另一个包无法使用&#xff0c;比如 a的包是1.0&#xff0c;b的包是1.0依赖a的1.0&#xff0c;然后a升级为1.1&#xff0c;b可能无法使用 创…

Typora 含多图片笔记快速上传到 CSDN 上发表

Typora 含多图片笔记快速上传到 CSDN 上发表 适用场景解决方案具体步骤 适用场景 在 Typora 里面记笔记,上传的图片是本地保存的,如果要将笔记上传到 CSDN 上发表的话,图片得一张一张地拖拽非常麻烦 解决方案 Typora PicGo Gitee 具体步骤 先安装 PicGo 和 node.js, 创建…

开源之夏 2023 | 欢迎报名Rust相关项目

开源之夏是中国科学院软件研究所联合openEuler发起的开源软件供应链点亮计划系列暑期活动&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区&#xff0c;针对重要开源软件的开发与维护提供项目&#x…