吐血整理,自动化测试场景处理(多场景覆盖)+解决方案

news2025/2/9 4:13:34

目录:导读

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


前言

1、添加时间等待
为什么要添加等待?
为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作

如何提高脚本执行的成功率?
添加等待时间

等待有哪几种?有什么区别?
强制等待(固定等待): time.sleep() — 一定要等待某个时间长度,才会进行下一个操作
缺点:不够灵活,代码大量重复

隐式等待:implicitlyWait() ---- 只用在定位元素,全局的等待方式;代码写在窗口最大化之后
优点:等待时间比较智能,如果元素没有找到,会抛出异常

显示等待:WebDriverWait()---- 等待某个条件成立,如果条件在规定时间内没有成立,会跑出异常

WebDriverWait().until(条件)

条件有哪些?
在expected_conditions模块中有各种条件

2、定位一组元素
找出所有元素的共同属性进行定位

find_elements() --- 返回的是一个列表

3、层级定位

driver.find_element_by_id(''***'').find_element_by_link_text(''***'')

4、框架的切换

Driver.swicth_to.frame()  # 切换到框架

Frame()
只能写iframe 的id或者name的属性值;写xpath的识别结果

5、多窗口处理

driver.switch_to.window()

6、下拉菜单
层级定位;
使用option元素中的属性进行定位;
使用xpath或者css中的绝对路径或者相对路径的方法进行选择;
定义一个下拉菜单对象,通过下拉选项的索引,文字,value属性的值进行选择;

7、文件上传
只要使用send_keys() 传入文件的路径

8、验证码
验证码的作用?
为了系统的安全,防止机器操作

如何处理验证码?
测试环境下:
去掉验证码;
设置万能验证码;
通过python代码处理;
如果只是登陆的时候有验证码,可以使用cookie进行绕过(也可以在线上环境下进行);
去数据库或者文件中取出验证码,然后进行判断;

9、cookie的处理
cookie的作用:存储用户信息及用户操作
cookie保存的位置:在客户端进行保存,不同的浏览器保存的位置不相同

cookie是时效性的
cookie信息的存储格式:key–value(键值对)
登陆前 打开首页,查看cookies ----->只有一条数据
登陆后 打开首页,查看cookies ----->只有三条数据
cookies的信息有区别,表明cookie记录了用户登陆的信息

10、js的使用
Js:javascript 是一种脚本语言
就是写好js脚本语言,然后使用python来执行

执行js有三种场景:

一种是在页面上直接执行js — 比如:控制浏览器的滚动条;
另一种是在某个已经定位的元素上执行js;
通过js修改元素的属性值;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功不是一蹴而就的,必须经过不断地努力和奋斗。坚持不懈、迎难而上,才能创造出属于自己的辉煌。不要放弃,勇往直前,只有不断进取,才能成就自己的梦想和事业。加油吧,你会成功的!

只有坚持不懈的努力,才能创造属于自己的辉煌。不要放弃追求,因为你无法预知下一秒钟会发生什么。每一天都是新的开始,为了梦想奋斗吧!

无论你现在所处的位置有多远,只要你有梦想和目标,就不要放弃奋斗。每一步努力都会让你离成功更近一步,坚持下去,你会发现自己跑得比别人更快。

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

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

相关文章

53.最大子数组和

贪心算法 时间复杂度:代码中只有一个循环,循环次数为数组的长度,因此时间复杂度为 O(n),其中 n 是数组的长度。空间复杂度:代码中只使用了常数级别的额外空间,因此空间复杂度为 O(1)。 这段代码使用贪心算…

QT C++入门学习(2) QT Creator写一个简单的上位机控制LED

上位机和下位机的概念 上位机:指的是可以直接发送操作指令的计算机或者单片机,一般提供用户操作交互界面并向用户展示反馈数据。 典型设备:电脑、平板、手机、面板、触摸屏 下位机:指的是与机器相连接的计算机或者单片机&#…

Studio 3T 2023.5 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端

Studio 3T 2023.5 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端 请访问原文链接:https://sysin.org/blog/studio-3t-2023/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Studio 3T,M…

黑客松必备|Bear Necessities Hackathon Office Hours汇总

由Moonbeam和AWS Startups联合主办的Bear Necessities Hackathon黑客松启动仪式已于5月30日举行。本次黑客松将历时约1个月的时间,包含6个挑战,分别由Moonbeam基金会、Chainlink、StellaSwap、SubQuery、Biconomy提供赞助,总奖池超过5万美金。…

面试软件测试时,面试官最想听到的答案是什么?

问题:面试软件测试时,面试官让你测一个软件,比如朋友圈,或者让你测试你的电脑为什么打不开网页,而QQ可以打开之类的,他最想听到的答案是什么? 如上所述,在实际面试中,面试…

懂点测试基础就敢要17k? 面试官:最多8K,多一分都没有...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-25k,面试的人很多,但平均水平很让人失望。看简历很多都是3年工作经验,但面试…

Java泛型的使用

1.什么是泛型? 所谓泛型,就是允许在定义类、接口时通过 一个标识 表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时&#…

5.Opencv-图像滤波(均值,方框,高斯,中值,双边滤波)

常见的图像滤波操作有: 均值滤波(cv2.blur) 方框滤波(cv2.boxFilter) 高斯滤波(cv2.GaussianBlur) 中值滤波(cv2.medianBlur) 双边滤波(cv2.bilateralFilter…

电脑小白不要错过这五款小众但强大的软件

电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。 多语言翻译——QTranslate QTranslate是一款实用的多语言翻译工具。它可以在任何应用程序中选中文本&#…

【C++】模版进阶

目录 一、非类型模版参数二、模板的特化1、概念2、函数模版特化3、类模板特化1.全特化2.偏特化3.类模板特化应用示例 三、模版分离编译1、什么是分离编译2、模板的分离编译3、模板的优缺点 一、非类型模版参数 模版参数分为类型模版参数与非类型模版参数 类型模版参数&#x…

一定要看!带你选择适合自己的测试工具

目录 前言: Jmeter实现接口请求JSON断言 Postman接口请求断言 前言: 选择适合的测试工具对于测试人员和测试项目的成功非常重要。不同的测试工具都有其独特的优缺点,而且每个项目的需求也不尽相同。因此,在选择测试工具时&#…

使用vitepress快速搭建个人网站或官方文档网站

使用vitepress快速搭建个人网站或官方文档网站 1. vitepress是什么? 官方首页的介绍, 翻译过来就是,vite和vue组成的强大的静态网站构造器。简单、强大和快速,是你一直想要的SSG(Static Site Generator)框架。 官网地址&#…

python mitmproxy抓包库

一.简介 mitmproxy是一款用Python编写的支持HTTP(S)的中间人代理工具。它可以拦截、查看、修改、重放和保存HTTP/HTTPS流量 ,支持命令行界面和图形界面,可用于安全测试、网络调试、API开发和反向工程等场景。mitmproxy具有很高的灵活性和扩展性&#xf…

GUT|IF30+的联合分析文章:宏基因加代谢组

● 代谢组学是基于LC-MS/MS液质联用技术对生物样本中的小分子代谢物进行定性和相对定量分析; ● 宏基因组-代谢组的联合分析可以用来解释差异菌群与差异代谢物的关联性; ● 从而帮助建立微生物-代谢物-表型之间的逻辑关系。 凌恩生物的宏基因组学引入了…

JS:yFiles for HTML Complete 2.5.0 Crack

yFiles for HTML Complete 是市场上最先进、最完整的图表解决方案。我们强大而灵活的 API 提供了广泛的功能——开箱即用。只需选择最符合您需求的那些。 适用于每个用例的布局 从大量预定义的布局中进行选择并配置它们以完美地适应手头的任务。 yFiles 提供业内最广泛的高质量…

Sentinel与Hystix的线程隔离有什么差别

线程隔离有两种方式实现: 线程池隔离(hystix 默认采用) 优点:支持主动超时,支持异步调用 缺点: 线程的额外开销比较大 场景: 低扇出(服务A调用服务B这种简单的调用)信号…

新能源共享叉车充电桩管理系统设计思路

一、充电桩系统设计思路 1、总后台端,电脑版 1.1运营商管理。后台可以添加运营商,运营商可以添加无限添加充电站、充电桩、站点合伙人、充电操作员等,运营商、站点合伙人均有独立的后台入口,可以管理和查看与当前运营商相关充电站…

测试行业干了6年,从只会点点点到了现在的测试开发,总算是证明了自己

测试不止是点点点 我感觉我是一个比较有发言权的人吧,我在测试行业摸爬滚打6年,以前经常听到开发对我说,天天的点点点有意思没? 和IT圈外的同学、朋友聊起自己的工作,往往一说自己是测试,无形中也会被大家…

如何优雅的给SpringBoot部署的jar包瘦身?

一、需求背景 我们知道Spring Boot项目,是可以通过java -jar 包名 启动的。 那为什么Spring Boot项目可以通过上述命令启动,而其它普通的项目却不可以呢? 原因在于我们在通过以下命令打包时 mvn clean package一般的maven项目的打包命令&…

k8s kubeadm高可用集群证书续期

1.查看证书期限 kubeadm certs check-expiration 2.更改系统时间为证书过期的时间 因为要保持集群的时间一直,使用xshell对多个会话同时执行以下命令 systemctl stop chrondy #停止时间同步工具 date -s 06/15/2024 #更改系统时间为证书过期后的时间 date …