Apifox 「定时任务」操作指南,解锁自动化测试的新利器

定时任务是按照预设时间自动执行的任务,它可以有效解决一些常见问题,比如频繁执行的回归测试和大规模的接口测试,这些任务需要在固定时间点或间隔周期内自动运行,以确保软件的持续集成和持续交付过程中的稳定性和可靠性。通过使用定时任务,可以减少人为操作的失误和麻烦,提高测试效率和准确性。

Apifox 现已支持设置定时任务,例如,你可以定时执行自动化测试中的测试场景。

图片

定时任务生成的测试报告还可以发送给邮箱、飞书、钉钉、企业微信等平台。

图片

当前自动化测试的定时任务仅支持基于自托管 Runner 来执行。Runner 可以理解为是一个自动化程序,可以托管在独立服务器上,它能够执行 Apifox 内的自动化测试定时任务、定时导入接口文档等工作。

下文就来介绍一下怎么通过自托管 Runner 来定时执行自动化测试的测试场景,在开始之前,请确保把 Apifox 更新到了最新版

前置条件

要使用定时任务,首先需要在服务器实例中部署 Runner,以下是 Runner 运行环境的推荐配置及部署方法。

1 Runner 运行环境

推荐的实例规格如下:

图片

当服务器实例准备好后,在部署 Runner 之前还需要确保实例中已安装 Docker 环境,因为 Runner 通过 Docker 来执行任务。

2 安装  Docker

如何在服务器实例中安装 Docker?可以自行搜索一下,或者参考 Docker 官方文档来安装(国内镜像源可以找找云服务器厂商的)。需要注意的是,Docker 的最低版本号需使用 20.10.0。

图片

Docker 环境有了之后,就可以开始部署 Runner 了。

3 部署 Runner

首先需要确保你有团队管理员权限,然后在 Apifox 的主窗口中,选择你的团队,并依次点击「团队资源 -> 通用 Runner -> 部署通用 Runner」。

图片

在弹出框中复制部署通用 Runner 的命令,你可以根据需要定义命令,支持自定义服务器 OS、暴露端口、挂载数据目录等。以下是对这些设置的详细说明:

  1. 服务器 OS:指定了 Docker 容器运行的操作系统。包括 Linux、macOS 和 Windows,选择正确的操作系统是确保 Docker 容器能够正确运行的关键。

  2. Docker 镜像:提供了三种版本,分别是通用版、精简版和自定义版本。若你的「自定义脚本」需要调用外部程序,请根据不同版本所包含的语言环境选择合适的镜像进行安装。

    1. 通用版:包含 Runner 的所有功能,并内置以下外部程序的语言环境:Node.js 18、Java 21、Python 3、PHP 8。

    2. 精简版:包含 Runner 的所有功能,仅内置 Node.js 18 语言环境。

    3. 自定义:包含 Runner 的所有功能,并支持自定义外部程序的语言环境。你可以通过创建自己的 Dockerfile,根据需求添加或移除相关环境。

  3. 暴露端口:Docker 容器默认不会将内部端口暴露给外部访问。通过 -p 参数,你可以将容器内部的端口映射到宿主机的端口上,使得外部可以访问容器提供的服务。例如,-p 80:4524 表示将容器内部的 4524 端口映射到宿主机的 80 端口。

  4. 挂载数据目录:使用 -v 参数可以将宿主机的目录挂载到容器内部,这样容器就可以访问和操作宿主机上的文件(数据库配置、外部程序等)。例如,-v "/opt/runner":/opt/runner 表示将宿主机的 /opt/runner 目录挂载到容器的 /opt/runner 目录。

图片

在服务器实例中粘贴并运行刚才复制的命令,系统将自动拉取镜像并启动容器。

图片

你可以通过 docker ps 命令来查看已启动的 Runner 服务。

图片

Runner 部署完成后,回到 Apifox 的「团队资源」页面,可以查看已连接的 Runner 服务(如未显示,可尝试刷新页面)。在这里,你可以对 Runner 进行管理,包括重命名、添加描述、删除、停用或重启。

图片

成功部署自托管 Runner 后,你就可以在 Apifox 中创建和使用定时任务了。

创建  定时任务

在项目的自动化测试模块中,选择「定时任务」,然后新建定时任务。设置以下信息:

  • 任务名称与说明: 用于区分定时任务并描述其详细目的。

  • 测试场景: 定时任务将执行选定的一个或多个测试场景,每个场景可单独配置。

  • 运行周期: 设置任务的执行周期,如每周日 11 点或每 6 小时一次。

  • 运行于: 选择执行任务的实例,可使用 Apifox 云端(敬请期待)或团队自托管的 Runner。

  • 通知: 开启通知后,运行结果将按设置发送给相关人员,可手动输入非项目成员的邮箱。

图片

基本信息设置完毕后保存即可。

执行 定时任务

定时任务将根据设置的「运行周期」自动执行。在定时任务列表中,可以查看已运行次数、启用状态,以及下次运行时间。

图片

 

查看 测试报告

定时任务运行完成后,运行结果将保存在定时任务的运行结果页面中,你可以随时进入「运行历史」页面查看定时任务运行的详情。

图片

同时,系统将按照设置的通知渠道向相关人员或者平台发送信息。

图片

点击邮件中的「查看详情」链接,即可跳转到 Apifox 端内查看更详细的定时任务报告。

图片

常见问题 解答

Q 在服务器实例中部署了 Runner,但「定时任务」到设定时间点后不生效怎么办?

针对这种情况,建议首先在 Apifox 中手动运行一次「定时任务」,然后在服务器实例中使用 docker logs 命令查看容器的运行日志,确认是否有「定时任务」的相关信息。

图片

如果日志中没有相关信息,建议检查服务器是否开放了 4524 端口,并确认该端口未被防火墙拦截。

同时,可以尝试在测试场景中将「运行于」更改为当前部署的 Runner ,然后点击「运行」按钮,通过检查应用内显示的内容以及 Docker 容器日志,并等待测试场景运行完成后,查看是否有「测试报告」回传,以更详细地定位问题。

图片

此外,你还可以尝试删除旧版 Docker 容器及其对应的镜像,然后重新部署最新版的 Runner。如果问题依然存在,欢迎加入交流群与我们的技术支持联系,以便进一步解决。

Q 如何在服务器实例中删除已安装的 Runner?

首先需要删除容器,命令如下:

  1. 查看容器:docker ps -a

  2. 停止容器:docker stop

  3. 删除容器:docker rm

图片

然后删除镜像,命令如下:

  1. 查看镜像:docker images

  2. 删除镜像:docker rmi

图片

这样,就把部署在服务器实例中的 Runner 删除干净了。

附录

以下是常用的 Docker 命令,你可以对已部署的 Runner 执行相关的操作:

图片

定时任务在 Apifox 中能极大提升工作效率,简化操作流程。通过自托管 Runner 的部署,你可以灵活地安排自动化测试和接口文档导入,享受更高效的团队协作。未来,我们还将推出更多便捷功能,让 Apifox 云端支持定时任务,敬请期待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1542509.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Windows下 批量重命名文件【bat实现】-两个小问题

Windows下 批量重命名文件【bat实现】_bat批量重命名文件ren-CSDN博客 上面是原来的教程,我遇到了两个小问题,问题及解决如下: ①dir/b>rename.csv : 无法将“dir/b>rename.csv”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。…

【每天学个新注解】Day 2 Lombok注解简解(一)—@Data、@Build、@Value

Data 相当于同时使用了 Getter 、Setter 、RequiredArgsConstructor、ToString、EqualsAndHashCode 1、如何使用 需要同时使用Getter 、Setter 、RequiredArgsConstructor、ToString、EqualsAndHashCode注解一个Bean的时候。 2、代码示例 例: Data public cla…

CCC SPAKE2+流程解析

1、SPAKE2流程及SCP03通道介绍 SPAKE2流程发生在CCC车主配对过程中的Phase2。 SPAKE2流程为车辆和手机之间的数据交换建立了一个安全通道SCP03。 那这个SCP03通道是干啥的? 我们可以先简单的理解为:建立安全通道前,车辆和手机之间交互的AP…

剖解反转链表

剖解反转链表 思路: 1.若链表为空或者只存在一个节点,就无需反转,直接返回head 2.若存在多个节点 首先将head.next给到cur,并将head.next置为null 剩余的节点就利用头插法,反转链表 class Solution {public ListNo…

基于SpringBoot+Vue+MySQL的特色旅游网站系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着旅游业的蓬勃发展,人们对旅游体验的需求日益多样化与个性化。传统的旅游信息查询与预订方式已难以满足现代游客的需求。因此,我们开发了这款基于SpringBootVueMySQL的特色旅游网站系统。该系统旨在通…

MySQL高阶1917-Leetcodify好友推荐

目录 题目 准备数据 分析数据 总结 题目 为 Leetcodify 用户推荐好友。我们将符合下列条件的用户 x 推荐给用户 y : 用户 x 和 y 不是好友,且用户 x 和 y 在同一天收听了相同的三首或更多不同歌曲。 注意,好友推荐是单向的&#xff0c…

web前端字段大小写下划线转换工具

文章目录 前言一、如何使用?二、相关代码总结 前言 程序员在敲代码的过程中都要命名一些字段,但是Java语言对字段的命名规范和sql命名规范不一样,如下图所示,这种机械性的转换工作很劳神费力,为了省点劲写了一个web小…

pdf怎么编辑修改内容?试试这四款工具!

作为一个经常探索各种办公软件的人,今天我打算和大家聊聊一个我们工作中经常会遇到的问题——编辑PDF文件。我们都知道,PDF文件以其格式稳定、不易被篡改而受到青睐,但这也意味着一旦需要修改内容,就变得相当棘手。不过&#xff0…

设计模式之类结构模式例题

答案:B A 知识点: 设计模式中类结构模式分别是:工厂方法模式,适配器模式,模板方法模式,解释器模式 记忆方法:公司里有个模特小姐姐,公是工厂模式,司是适配器模式&…

Mapper代理

文章目录 Mapper代理路径一定要写对Mapper代理方式加载配置文件 (包扫描的方式) Mapper代理 好像就是能 包名.方法。 反正就是防止硬编码,更灵活,更适用。 路径一定要写对 Mapper代理方式加载配置文件 (包扫描的方式…

fiddler抓包08_抓Android手机请求

课程大纲 手机抓包,电脑端的设置和IOS端相同,设置一次即可,无需重复设置。 前提:电脑和手机连接同一个局域网 土小帽电脑和手机都连了自己的无线网“tuxiaomao”。 Step1. 电脑端设置 ① 打开Fiddler - 开启抓包(F12…

Windows下如何定时执行自定义任务

目录 一.前言二.设置定时自动执行自定义任务 一.前言 本文环境是Windows11系统。 有时候我们希望能够在Windows下定时自动执行自定义任务,比如检测数据库服务的状态。那在Windows下怎么定时自动执行自定义任务,这篇文章介绍一种方法。 二.设置定时自动…

计算机毕业设计推荐-基于python的电子图书阅读推荐平台【源码+文档+讲解】

💖🔥作者主页:毕设木哥 精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻 实战项目 文章目录 实战项目 一、基于python的电子图书阅读推…

吴津雨银洁刘雅雯获得国际超模大赛四川总决赛网络组三甲

9月8日众人期盼已久的都江堰杯2024国际超模大赛四川总决赛在三遗之城都江堰落下帷幕。国际超模大赛已经举办第12个年头,每年为时尚界、模特界输送无数的优秀时尚模特人才,让世界超模中出现更多的中国面孔。大赛在全球已经布局多个国家及地区,…

项目第七弹:消费者管理模块

项目第七弹:消费者管理模块 一、为何要有这个模块?二、消费者是否需要持久化?三、怎么设计?1.如何抽象描述?1.回想一下基于生产消费模型的线程池2.如何组织3.消息处理与确认问题的解决4.自动确认标志5.消费者代码 2.队…

【计算机组成原理】主存储器深度解析

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

DETR论文翻译与理解

DETR(Detection with transformer) DETR:End to End Object Detection with Transformer 论文链接:2005.12872 (arxiv.org) 参考视频:https://www.bilibili.com/video/BV1GB4y1X72R/?spm_id_from333.788&vd_…

JBoss反序列化漏洞CVE-2017-12149

1.环境搭建 cd vulhub-master/jboss/CVE-2017-12149 docker-compose up -d 2.访问漏洞地址 3.漏洞验证 http://47.121.211.205:8080/invoker/readonly 返回500说明漏洞存在 4.使用漏洞进行利用 直接执行命令

人脸识别换装技术实现记录-1

最近,研究了下人脸识别换装,确定了技术方案和技术路线,并最终实现了想要达成的效果,现将制作过程中遇到的问题以及实现的过程记录下来,以便回顾总结的同时,也和其他想实现人脸识别换装的同学分享下经验,避免踩坑。 本项目主要是在Android系统上实现人脸换装的效…

简单图解一下线性注意力机制

知乎:刀刀宁链接:https://zhuanlan.zhihu.com/p/718156896 线性注意力机制的文章有很多了,在本篇笔记中,我们简单地对各种方法进行一下图解比较,串一下当前的线性注意力机制,涉及的公式极少,主要…