网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
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_文件。
Shell 执行 pytest 命令
从上一步拿到case_path,调用pytest -s case_path执行测试。
计划后续添加 suite 和 marker 两种批量执行用例方式。
【资源分享】
下面这份资源,对于想学习【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望也能帮助到你!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!