自动化测试学习
2023-12-29 17:07 HQS_blog 阅读(29) 评论(0) 编辑 收藏 举报一、web自动化
自动化落地:
1.分层处理 POM
POM的核心思想:把重复的操作独立出去
2.报表
生成allure报表的固定写法
报表模块以及用例名称定制
3.pytest测试使用
4.其他
4.1元组解包使用*
4.2使用yaml文件作为数据驱动
安装PYyaml包: pip install PYyaml
导入yaml使用;import yaml
4.2.1读取yaml文件内容 ,,如图
with open('./lab1.yaml','r') as f:
yaml_template = yaml.safe_load(f)
写入yaml文件
yaml_dict = { "user": "general", "country": "China", "gender": "male", "address": "北京" } yaml_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'a.yml') with open(yaml_dir, 'w', encoding='utf-8', ) as f: yaml.dump(yaml_dict, f)
4.3 js定位元素
4.4 元素等待
4.5 iframe切换、多窗口切换
4.6 鼠标、键盘操作
4.7 二维码处理、验证码处理
验证码:使用图像识别的方式
4.8 上传文件
4.9 teardown 中包含的业务
① 关闭浏览器
② 测试数据恢复
4.10 分布式
4.11 失败重跑机制
4.12 执行发送邮件
4.13 shell
4.14 使用excel作为数据驱动
4.15 fixture 预制、预设
作用:执行用例前的数据准备,执行后的数据销毁
4.16 钩子函数
执行用例之前先执行pytest_runtest_call,用例执行完执行pytest_runtest_teardown
4.16.1 使用钩子函数完成截图拼视频录像的操作
4.16.2.pytest生成测试报告的时候会调用这个函数,
①完成自动提交bug
②保存测试数据到数据库,作为测试平台的数据来源
4.17 将自动化测试作为界面操作
4.18 等待操作
注意:不要混合使用隐式和显式等待,这样会导致不可预测的等待时间
① 强制等待 --不能准确把握等待时间,影响代码执行效率
sleep(5)
② 隐式等待
优点:只需要设置一次,driver的整个生命周期的每个元素都会生效
缺点:·有时候需要的元素已经加载出来了,但是程序会等待整个页面加载完成,才会执行下一步操作
·需设置最大等待时长,如果设置的最大等待时长还未加载出来,仍会执行下一步,导致报错
③ 显式等待
EC模块
expected_conditions模块 使用
参考链接:https://blog.csdn.net/zyooooxie/article/details/84561783
4.19 读取excel中数据
4.20 pytest知识
4.21 jsonpath
解决复杂嵌套字典类型数据
二、APP自动化
三、接口自动化
1. requests库
2. 加密接口处理
3. 操作数据库
4. 框架封装
四、git、jenkins
1.自动化脚本管理
2.docker+k8s
四、测试常见问题记录:
为了讲究投入产出比,一般回归测试只做正向验证
接口自动化比ui自动化更实用的点在于:1.接口自动化执行时间快 2.移动端、WEB端、APP端、小程序端一般都使用同一套接口,如果ui自动化需要开发多套,接口自动化一套就可以,投入产出比更高
1.挑选可自动化用例
========================= 更新中 =================================
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架