接口测试平台代码实现31:接口列表增删备注功能

简介: 接口测试平台代码实现31:接口列表增删备注功能

本节课继续开发接口列表:

  1. 增加接口功能:

给大家捋一捋思路:首先找到html中的新增接口按钮,给它写一个href超链接,起个路由就叫:/project_api_add/项目id/  然后去urls.py中写好映射 ,然后去views.py中写好后端函数 project_api_add()   当然这里小伙伴可以多练习,新建一个新的views_api.py 用来专门存放接口库的功能,不过本教程为了不增加额外学习成本,只在一个views.py中写好来,后续可以拆出去反正。


   打开P_apis.html,找到新增接口按钮,给他加上一个onclick属性:


onclick="document.location.href='/project_api_add/{{ project.id }}/'"


如图,onclick也可以充当a标签的href属性微信图片_20220618185254.png

打开urls.py , 新建映射,其中的Pid是项目id微信图片_20220618185301.png

大家注意urls.py中的 / 的位置,html中的/的位置。很多同学的反馈中都是这种粗心的问题,编码不是其他工作,容不得一丝马虎,一个符号错误都可能导致整个项目报错。实在找不出来,可以下载最新源码一句一句的对比。

   

   打开views.py,新建project_api_add()函数:微信图片_20220618185310.png

# 新增接口
def project_api_add(request,Pid):
    project_id = Pid
    DB_apis.objects.create(project_id=project_id)
    return HttpResponseRedirect('/apis/%s/'%project_id)


 注意其中 的orm新建数据的方法:create() 其中我只写了所属项目id,其他十几项字段都没写就会默认为空或None

最后返回的时候,因为页面会刷新,所以要返回一个路由而不是什么json串或页面。这里用了强制重定向到项目接口库。如果不这样做, 那么我们新增接口后浏览器顶部的地址是:/project_api_add/项目id/  这样看起来没什么问题,但是如果这时候用户刷新页面,就会导致再次请求这个新增接口路由,导致更多意料之外的新接口诞生。所以我们这里强制转换路由为接口库初始:/apis/项目id/ ,这样用户怎么刷新也不会出现问题。后续很多href类这种会导致页面刷新的后端函数最好都如此重定向到初始路由,以免出现问题。


   可以测试一下:

微信图片_20220618185316.png

新增的接口成功出现且顶部浏览器地址栏依然是初始状态,即成功。


  2.删除接口功能

思路:找到删除按钮,写一个href,其中要包含接口id,至于项目id无所谓了就不用传了,然后urls.py  views.py一条龙服务写好:

onclick="document.location.href='/project_api_del/{{ i.id }}/'"

微信图片_20220618185322.png

urls.py:

这里的id是接口id微信图片_20220618185328.png

views.py:

这里我们要用到delete()方法来删除数据库数据微信图片_20220618185336.png

这样就完成了删除功能,但是这里我们要思考一个问题。

我们要怎么返回呢? 还要保持住之前的初始地址,那就必须要有项目id,但是项目id我们没传...

   不过好在我们传入了接口id,我们在删除这个接口之前,可以利用它找到它所属的项目id,然后再删除即可,所以函数改成如下:微信图片_20220618185343.png

# 删除接口
def project_api_del(request,id):
    project_id = DB_apis.objects.filter(id=id)[0].project_id
    DB_apis.objects.filter(id=id).delete()
    return HttpResponseRedirect('/apis/%s/'%project_id)

好我们测试一下:

可以发现我们刚刚新建的接口已经被成功删除了。。

微信图片_20220618185348.png

相关文章
|
1月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
129 56
|
4天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
29 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
56 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
1月前
|
测试技术
Appscan手工探索、手工测试功能实战
Appscan手工探索、手工测试功能实战
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
39 0
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
230 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
242 3
快速上手|HTTP 接口功能自动化测试
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
47 5
|
3月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
4月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
210 5
Postman 接口测试配置 Pre-request Script

热门文章

最新文章