全网最全整理,自动化测试10种场景处理(超详细)解决方案都在这......
目录:导读
前言
自动化工作流程
自动化测试决定–>测试工具获取–>自动化测试引入–>测试计划设计与开发(脚本)(最重要)–>测试执行与管理(最麻烦)–>测试评审和评估
自动化项目因素
项目的影响:自动化测试对项目的精度、覆盖率风险有积极作用,让开发更敏捷
复杂度:自动化是否容易实现,包括数据和其他环境的影响
时间:自动化测试的实现需要多长时间
需求:早期需求和代码的稳定
工作量:代码是否相对稳定、功能特性是否会进化
覆盖率:能不能覆盖程序的关键特性和功能
资源:测试人力资源、硬件资源
自动化执行:是否有时间和技能去运行
selenium4自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/
添加等待
为什么要添加等待?
为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作
如何提高脚本执行的成功率?
添加等待时间
等待有哪几种?有什么区别?
强制等待(固定等待): time.sleep() — 一定要等待某个时间长度,才会进行下一个操作
缺点: 不够灵活,代码大量重复
隐式等待:implicitlyWait() ---- 只用在定位元素,全局的等待方式;代码写在窗口最大化之后
优点:等待时间比较智能,如果元素没有找到,会抛出异常
显示等待:WebDriverWait()---- 等待某个条件成立,如果条件在规定时间内没有成立,会跑出异常
WebDriverWait().until(条件)
条件有哪些?
在expected_conditions模块中有各种条件
定位一组元素
找出所有元素的共同属性进行定位
find_elements() — 返回的是一个列表
层级定位
driver.find_element_by_id(‘***’).find_element_by_link_text(‘***’)
框架的切换
Driver.swicth_to.frame() 切换到框架
Frame()
只能写iframe 的id或者name的属性值;写xpath的识别结果
多窗口处理
driver.switch_to.window()
下拉菜单
层级定位
使用option元素中的属性进行定位
使用xpath或者css中的绝对路径或者相对路径的方法进行选择
定义一个下拉菜单对象,通过下拉选项的索引,文字,value属性的值进行选择
文件上传
只要使用send_keys() 传入文件的路径
验证码
验证码的作用?
为了系统的安全,防止机器操作
如何处理验证码?
测试环境下:
去掉验证码
设置万能验证码
通过python代码处理
如果只是登陆的时候有验证码,可以使用cookie进行绕过(也可以在线上环境下进行)
去数据库或者文件中取出验证码,然后进行判断
cookie的处理
cookie的作用:存储用户信息及用户操作
cookie保存的位置:在客户端进行保存,不同的浏览器保存的位置不相同
cookie是时效性的
cookie信息的存储格式:key–value(键值对)
登陆前 打开首页,查看cookies ----->只有一条数据
登陆后 打开首页,查看cookies ----->只有三条数据
cookies的信息有区别,表明cookie记录了用户登陆的信息
JavaScript的使用
javascript 是一种脚本语言
就是写好js脚本语言,然后使用python来执行
执行js有三种场景:
一种是在页面上直接执行js — 比如:控制浏览器的滚动条
另一种是在某个已经定位的元素上执行js
通过js修改元素的属性值
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
人的一生,要去的地方,是有限制的。即使你有充裕时间,丰足金钱,也不能漫无目的四处行走。去一个地方,必须持有目标。没有目的的路途,使人迷惘。因为失去目标意味对行动失去控制和约束。
小点,简单点,现实点。这样就不会走得太远了。在你还没有忘了的时候,它已经是过去世了。新的目标已上路了。
人的一生,应该有个目标,不说必须,为这个目标奋斗,多少年后想起,那是一种感动,纯粹而不掺任何杂质的感动。
相关文章
- 大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
- Windows搭建测试RabbitMq遇到的问题
- 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
- 测试基础之http_load(1)简介、安装、使用
- 自动化测试技术的演进
- 使用jmeter做压力测试
- search by Belonging to my team测试 - with manager role
- 〖Python WEB 自动化测试实战篇⑫〗- 实战 - PageObject框架设计(亦叫做 “页面对象” 模式)
- mahout安装和测试
- 手动渗透测试漏洞
- 使用 iperf3 测试两个服务器 之间的 带宽速度 测速
- Python: 渐进猜数字游戏 <1> 代码、测试与猜数字
- 别做重复低质的工作内容摸鱼了,职场老手分享自动化测试秘籍
- 测试不再是测试,测试还是测试!手工、自动化、众测优缺点对比
- 资深测开大佬亲传《测试武功论》带你了解软件测试中的内功&外功!
- 物联网技术、测试要点和测试标准
- 从功能测试到自动化测试,我得到的不只是收入的提高
- 自动化测试到底要学什么
- 来自6年测试老鸟的告诫:做好自动化测试很重要
- Web UI自动化测试之元素定位(详谈)
- python+appium+pytest自动化测试-yaml文件配置Capabilities
- Appium自动化测试基础 — APPium安装(一)
- 【Web测试】各类web控件测试点汇总,软测人必备
- 【观点】7个测试自动化的错误及解决方案实例
- 【测试面试 】功能进阶自动化测试,跳槽薪资翻 3 倍(附面试题)
- 如何快速进阶自动化测试?听听这3位BAT大厂测试工程师的切身感想....
- UI自动化测试框架搭建 —— 编写一个APP自动化
- 前端web自动化测试:selenium怎么实现关键字驱动
- 教你用Appium搭建Android自动化测试框架(详细教程)
- Mongodb 性能测试
- TestPatten测试
- UnitTest自动化框架中的测试套及runner的应用
- 爬虫学习(15):selenium自动化测试(四):截屏、弹出框和下拉框