如何用5分钟通过Vercel 部署一个接口测试工具

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 超详细的案例,跟着做完就完事儿了!

 这是一个超详细的实例,跟着做完你会:

    • 光速入门 Vercel、Serverless Functions
    • 得到一个和图片一模一样的专属的 API 工具


    一、概念解析

    1. Serverless 是什么?

    Serverless 架构即“无服务器”架构,它是一种全新的架构方式,是云计算时代一种革命性的架构模式。

    Serverless 的核心思想是让作为计算资源的服务器不再需要被使用者关注。

    image2.png


    FaaS(Functions as a Service)函数即服务,FaaS是 Serverless 计算的一种形式,后续我们将用 Serverless API 实现一个使用 Node 帮助客户端发送 API 请求得到响应的服务。

    如果看完还是云里雾里,别慌,接着看。


    2. Eoapi 是什么?

    一个可拓展的开源 API 工具,就是开头的那个配图,可以用它快速调试 API,可以体验一下 Demo 地址。

    download_image1.png



    3. Vercel 是什么?

    Vercel 是一个站点托管平台, 类似于 Github Pages,你丢上去网页的构建后的代码,还你一个 Web 服务链接,同时支持持续集成, 可以关联 Push、PR,提交代码后自动部署 。


    65ec9db5-5b35-4149-8bbb-bb4746c867f24.png


    image.gif

    二、快速开始

    1. Fork Eoapi 仓库

    访问:https://github.com/eolinker/eoapi



    5.png


    Fork 成功后可以在自己的 Repositories 看到Eoapi



    2. 配置 Vercel

    访问:https://vercel.com/

    注册成功后点击新建项目


    6.png


    配置 Vercel 访问 Github 项目的权限,选中Eoapi

    65ec9db5-5b35-4149-8bbb-bb4746c867f24.png



    配置安装、构建命令以及构建后文件夹,配置好之后点击构建按钮。

      • BUILD COMMAND:cd src/workbench/browser&&npm run build:web
      • OUTPUT DIRECTORY:src/workbench/browser/dist
      • INSTALL COMMAND:npm install&&cd src/workbench/browser&&npm install


      8.png


      通过这个链接就可以访问你的专属 API 工具啦!

      9.png




      10.png



      三、Serverless Funcions

      1. 源码解析


      11.png


      api 文件夹下有一个名为 unit.js  的文件,当我们部署到服务器时,它就变成了一个 HTTP 接口,一个文件一个接口,接口地址就是 api/<file_name>,是不是简单粗暴~

      Serverless Functions 让我们写接口和写纯函数一样简单


      12.png


      我们只需要 exports 一个纯函数,通过函数第一个入参 req 拿到请求体,再通过第二个入参 res.end() 返回响应体,就可以快速发布一个 API。

      Javascript

      let _LibsFlowCommon = require('../src/workbench/node/request/unit.js');let _LibsCommon = require('../src/workbench/node/request/libs/common.js');module.exports = (req, res) => {  console.log('unit.js', req.body);  try {    let data = req.body.data;    data.env = _LibsCommon.parseEnv(data.env);    new _LibsFlowCommon.core().main(data, (tmpInputReport, tmpInputHistory) => {      res.end(        JSON.stringify('i am response')      );    });  } catch (e) {    console.error('unit.js', e, req.body);  }};

      2. 如何本地调试

      Vercel 官方提供了 cli 工具

      Shell

      npm i -g vercel
      vercel dev

      剩下的跟着命令行指引配置完后就可以在本地调试 Serverless Functions 了



      四、作者的话

      我是Eoapi 的一名开发者,demo 网站就是使用上面的步骤配置出来的,如果大家对项目感兴趣,欢迎大家持续关注我们项目,遇到问题可以一起交流:https://github.com/eolinker/eoapi

      说实话我第一次配置的时候还是踩了不少坑,但总体来说 Vercel 体验还是很顺畅的。

      我现在基本上所有的网站都迁移到了 Vercel 做了部署。除了 Eoapi,我还部署了我的官网,一个抽奖程序,很酷炫。

      嘿嘿,你也可以部署试试看,作为检验自己是否掌握知识点的小作业。

      Github 地址:https://github.com/moshang-xc/lottery


      13.png



      五、参考资料

        相关实践学习
        【文生图】一键部署Stable Diffusion基于函数计算
        本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
        建立 Serverless 思维
        本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
        相关文章
        |
        26天前
        |
        前端开发 测试技术 Python
        【Selenium全攻略】掌握这一工具,实现自动化测试的所有梦想
        本文分享了使用Selenium进行UI自动化测试的全过程,包括开发环境部署、代码实现、思路分析和难点解析。作者通过一个实际案例,讲述了如何利用Selenium处理前端生成报告失败的问题,以及在UI自动化中定位元素和处理元素不唯一的情况。同时,文章强调了解决问题思路的重要性,鼓励读者开拓思维,寻找不同的解决方案。
        70 4
        【Selenium全攻略】掌握这一工具,实现自动化测试的所有梦想
        |
        5天前
        |
        移动开发 JSON Java
        Jmeter实现WebSocket协议的接口测试方法
        WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
        27 7
        Jmeter实现WebSocket协议的接口测试方法
        |
        5天前
        |
        JSON 移动开发 监控
        快速上手|HTTP 接口功能自动化测试
        HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
        22 3
        快速上手|HTTP 接口功能自动化测试
        |
        5天前
        |
        JavaScript 前端开发 测试技术
        ChatGPT与接口测试
        ChatGPT与接口测试,测试通过
        16 5
        |
        26天前
        |
        Web App开发 编解码 Linux
        使用Selenium自动化测试解决报告生成失败问题及Linux部署指南
        这篇文章介绍了使用Selenium自动化测试解决报告生成失败问题的方法,包括Linux环境下的部署指南和代码实现。
        20 1
        使用Selenium自动化测试解决报告生成失败问题及Linux部署指南
        |
        15天前
        |
        监控 安全 Linux
        如何利用Kali Linux进行网站渗透测试:最常用工具详解
        如何利用Kali Linux进行网站渗透测试:最常用工具详解
        45 6
        |
        15天前
        |
        安全 Linux 测试技术
        Kali Linux预装的自动化渗透测试工具
        Kali Linux预装的自动化渗透测试工具
        25 2
        |
        14天前
        |
        Kubernetes Linux API
        CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
        该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
        45 0
        CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
        |
        19天前
        |
        测试技术
        基于LangChain手工测试用例转Web自动化测试生成工具
        该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
        29 4
        |
        21天前
        |
        网络协议 测试技术 网络安全
        Python进行Socket接口测试的实现
        在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~