首页 > 其他分享 >聚焦于任务调度的测试平台pytestx

聚焦于任务调度的测试平台pytestx

时间:2023-07-20 09:45:34浏览次数:62  
标签:pytestx 代码 平台 用例 pytest tep 任务调度 聚焦

设计理念

聚焦于任务调度,接口自动化80%本地编写,20%交由平台管理。

如果使用pytest做接口自动化,那么个人认为最好的编写工具是PyCharm,任何低代码测试平台都无法取代。当然不会代码,或者不使用pytest,那低代码测试平台,或者yaml,甚至excel写自动化用例,都是可以接受的。而在使用pytest这个特定场景里面,要做平台化,平台的功能就需要仔细斟酌。既然编写用例最好使用PyCharm,平台也就只能专注于用例编排和任务调度,即创建任务,关联用例,批量运行,以及定时,并行,通知等。

pytestx正是基于此理念设计的一款纯粹的任务调度平台。

平台架构

tep1.0.0的延续

tep1.0.0版本已经封版,在pytestx中对它进行了延续。

从pypi到git

tep是上传到pypi的,通过pip命令安装,使用tep startproject命令创建项目脚手架,代码结构分为项目代码和tep代码。改造后的tep只有项目代码,存放在:

https://gitee.com/dongfanger/tep-project.git

也就是说,在这个项目中,能看到整个tep全貌。之前的tep内核代码,比如fixtures自动寻找、内置fixture、环境变量等,全部迁移到了项目代码里面,尤其是conftest.py的文件内容。pip install tep顺带安装的依赖包,也整理到了requirements.txt,按照说明安装即可。

pytest-html替换allure

由重到轻,化繁为简,pytest-html能够满足数据+日志的报告需要,最新的V3.2.0版本的界面尚可。诚然allure漂亮,但安装Java、下载Allure、配置环境变量、安装pytest-allure、添加pytest hook还是相对麻烦。更重要的是,要支持平台在线查看报告,减少存储占用,pytest-html无疑是更好的选择。

下载脚手架

既可以从使用git clone下载代码,也可以从页面下载,就像spring.io那样:

fastapi到django

之前的示例代码是调用的fastapi启动的应用,pytestx则将示例代码的接口换成了Django自身的mock接口。

teprunner的延续

pytestx的基础代码是从teprunner来的,对数据库设计、代码规范、项目结构做了优化。

任务管理

一、同步项目

同步项目,是把项目配置的Git仓库地址和分支,更新到本地沙箱中,项目之间完全隔离。

并把用例落库:

二、任务关联用例

创建任务,任务关联用例,就形成了新的用例集。

三、容器化运行

当前是假容器,未真正引入Docker,所谓容器,是指每次运行,都将用例拉取到新的目录,批量执行:

四、生成报告

pytest命令生成html报告,存放于reports,借助于Django挂载页面,从页面点击,在线查看报告:

体验平台

下载源码:https://github.com/dongfanger/pytestx

安装依赖:前端(npm install)后端(pip install -r requirements.txt)

启动服务:前端(npm run serve)后端(python manage.py runserver)

即可畅快体验。

学习交流

添加微信cekaigang,加入测试开发刚哥交流群(382人冲击400人),欢快讨论吧。

参考资料:

https://github.com/dongfanger/pytestx

标签:pytestx,代码,平台,用例,pytest,tep,任务调度,聚焦
From: https://www.cnblogs.com/df888/p/17567145.html

相关文章

  • python任务调度
    Python任务调度实现指南概述本文将介绍如何使用Python实现任务调度。任务调度是指按照预定的时间间隔或事件触发条件,自动执行一系列任务的过程。Python提供了多种方法来实现任务调度,包括使用schedule库、APScheduler库和cron表达式。整体流程下表展示了实现Python任务调度的整......
  • 前端框架及项目面试-聚焦Vue、React、Webpack
    第1章课程导学介绍课程制作的背景和课程主要内容。第2章课程介绍先出几道面试真题,引导思考。带着问题来继续学习,效果更好。第3章Vue使用Vue是前端面试必考内容,首先要保证自己要会使用Vue。本章讲解Vue基本使用、组件使用、高级特性和VuexVue-router,这些部分的知识点和......
  • 聚焦信息技术发展,博睿数据受邀出席产业链供需对接深度行北京站活动
    7月6日,以“广聚群链湾区启航”为主题的产业链供需对接深度行北京站活动圆满落幕。本次活动吸引了来自北京和广东的多家知名企业参与,博睿数据受邀出席了本次活动,同时携核心产品一体化智能可观测平台BonreeONE参展,展示博睿数据在智能运维领域的科技实力与创新成果,共同聚焦新一代信......
  • 聊一聊非分布式任务调度@Scheduled
    @Scheduled注解是SpringBoot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行,默认是在单线程中执行的1、注解源码@Target({ElementType.METHOD,ElementType.ANNOTATION_TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Repeatable......
  • Linux-篇五:定时任务调度
    定时任务调度crond任务调度介绍crontab进行定时任务的设置快速入门特殊时间执行案例应用案例crond相关指令crontab-r:终止任务调度crontab-l:查看任务调度servicecrondrestart:重启任务调度at定时任务基本介绍命令格式at命令选项at时间定义应用案例......
  • 蔡司激光共聚焦荧光显微镜 (一)
    普通显微镜成像与共聚焦显微镜成像?1、开机顺序:1→2→3→4→5→6→7①②——控制器,通电电源③——激光器开关(转动钥匙)④——汞灯电源(开关间隔30min以上) 金属卤化物灯“X-cite120” 金属卤化物灯“HXP120”⑤——显微镜开关⑥——载物台开关⑦——电脑开关2、软......
  • 共聚焦显微镜针孔效应
    共聚焦显微镜针孔效应在操作共聚焦显微镜,或在讨论这种装置的特性和参数时,我们不可避免地提到针孔及其直径。这篇简短的文章是针对那些没有足够时间钻研共聚焦显微镜的理论和细节但又想了解针孔效应的用户们来解释针孔的意义。  什么是针孔?基于透镜的光学仪器主要涉......
  • 开源的轻量级任务调度框架
    你好,这里是Dotnet工具箱,定期分享Dotnet有趣,实用的工具和组件,希望对您有用!1.开源的轻量级任务调度框架FluentScheduler是一个开源的任务调度框架,支持Fluent语法,通过Nuget安装引用,和Quartz.Net相比,FluentScheduler足够轻量,非常容易上手。使用示例下面是一个仅仅......
  • 开发者聚焦 | 不容错过的开发者新专栏就要来啦!
     掌握前沿技术动态、获得新产品与新应用的使用技巧、在开放专业的社区中与志同道合的朋友交流互动,这些对于开发者来说,都是提高工作效率与自我技能的利器。为了与开发者互动,并在社区与开发者建立连接和影响,让亚马逊云科技更好地为开发者提供云服务,我们在亚马逊云开发者公众号......
  • 科技政策 | 上海发布元宇宙关键技术攻关两年行动方案,聚焦这两大方向
    原创|文BFT机器人6月13日,上海市科学技术委员会发布关于印发《上海市“元宇宙”关键技术攻关行动方案(2023—2025年)》(下称《行动方案》)的通知。《行动方案》称,针对“元宇宙”沉浸式、开放式、永续实时、以人为中心等跨界复合的技术特性,围绕“元宇宙”内容、存算、传输和终端等技术......