2024年软件测试最新自动化工具 pytest 内核测试平台落地初体验(1),费时6个月成功入职阿里

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

在前端网页写代码,1 条用例对应 1 个 pytest 的test_name.py文件。比如调用login fixture 登录:

本地编写

PyCharm 写代码体验更好,正确姿势是从平台下载包含环境变量和 fixtures 等项目结构代码,本地编写用例,调试,跑通后,粘贴到平台上共享和维护:

扩展能力

用例是 Python 代码,理论上所有 Python 能写出来的,平台都能支持,比如 HTTP、WebSocket、Protobuf 等协议。

原理篇

pytest 内核

vue2-ace-editor作为前端代码编辑组件。
前端把代码通过 HTTP 请求传给后端。
后端把代码存入 MySQL 数据库。
运行用例,从数据库取出代码,生成 pytest 文件。
Shell 命令调用pytest -s test_name.py,执行测试。
后端把运行结果日志返给前端展示。
之所以要折腾数据库,是因为每次部署后 docker 容器里面的文件会被清掉,只能动态生成。

tep 脚手架
测试平台功能是从 tep 项目脚手架中抽取出来的:

  • fixture_env_vars.py做成了环境变量功能。
  • fixture_login.py等做成了fixtures功能。
  • tests做成了测试用例功能。

运行用例

整体流程如下:

ep startproject project_name

运行用例时,判断项目目录是否存在,如果不存在就调用tep startproject project_name创建项目脚手架。

更新 conf.yaml 中 env

把前端传的当前运行环境更新到conf.yaml文件中:

动态生成或更新 fixture_env_vars.py 文件

根据环境变量功能模块的数据,动态生成fixture_env_vars.py文件:

动态生成或更新 fixtures 目录下所有文件

根据fixtures功能模块的数据,动态生成fixture_login.py等所有文件:

动态生成或更新 tests 某个 test_文件

从数据库拿到用例代码,动态生成test_文件。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值