接口测试平台代码实现137: 小bug集中修复

简介: 接口测试平台代码实现137: 小bug集中修复

   有bug反馈证明 有人在用,在学。这点很好。当然随着 难度不断的提升,一些bug也并不是我故意埋的了。感谢反馈的小伙伴等人!


bug1:  新建项目 ,打开登陆态接口,看到的场景很诡异


微信图片_20220707093702.png

如图,如果你想知道为什么这么诡异,现在,就带你研究!

这个问题的罪魁祸手是 views.py中的这个函数:

微信图片_20220707093717.png

当项目并没有设置 登陆态的时候,就返回了个空字典。这样前端的js自然找不到里面的内容,从而展示空白/undefined等。

所以修复这个问题也简单,我们给这个空字典改成一个有各个必要字段的字典就好了:

微信图片_20220707093724.png

# 获取项目登陆态
def project_get_login(request):
    project_id = request.GET['project_id']
    try:
        login = DB_login.objects.filter(project_id=project_id).values()[0]
    except:
        login = {"project_id":project_id,"api_method":"none","api_url":"","api_header":"{}","api_host":"","body_method":"none",
                 "api_body":""}
    return HttpResponse(json.dumps(login),content_type='application/json')

然后我们刷新页面再打开就可以看到如下正常效果了:

微信图片_20220707093752.png

bug2 :新项目的登陆态接口保存失败!


这个问题的诱发原因就是,新项目并没有在数据库中的登陆态。而代码中又仅仅是保存。所以这里我们要用到一个orm方法:更新或新建 upate_or_create

意思就是 如果存在就更新,不存在就创建。


这个update_or_create的用法如下:

数据表.object.update_or_create( 更新用的字典,查询的字段 )

其中查询字段可以是多个微信图片_20220707093801.png

# 保存登陆态接口
def project_login_save(request):
    # 提取所有数据
    project_id = request.GET['project_id']
    login_method = request.GET['login_method']
    login_url = request.GET['login_url']
    login_host = request.GET['login_host']
    login_header = request.GET['login_header']
    login_body_method = request.GET['login_body_method']
    login_api_body = request.GET['login_api_body']
    login_response_set = request.GET['login_response_set']
    # 保存数据
    DB_login.objects.update_or_create(
        defaults={
            "api_method": login_method,
            "api_url": login_url,
            "api_header": login_header,
            "api_host": login_host,
            "body_method": login_body_method,
            "api_body": login_api_body,
            "set": login_response_set,
            } ,
        project_id = project_id
    )
    # 返回
    return HttpResponse('success')

经过测试,这样就搞定了!!!


bug3: 登陆态项目请求报错!

最简单的请求 某度:微信图片_20220707093808.png微信图片_20220707093817.png

这个问题引起的原因是 调试登陆态接口时,这句代码引起的:

微信图片_20220707093830.png

当时我们设计的时候,只设计了返回值是json的情况。当请求返回体非这个的时候,自然引发了这句报错。但是我们暂时并没有打算去用正则等方式去提取非json格式的返回体 关键字段。所以这里我们临时 给try掉。以后优化的时候我们再回来 增加其他格式的设置吧~


微信图片_20220707093843.png

再看看结果显示:

微信图片_20220707093926.png

好,这里我们顺手再解决这个中间是undefined的问题:

原来是我们之前漏掉了set字段:

微信图片_20220707093934.png

加上 就好了,然后新项目就不会出现这个问题了。老项目我们手动改下即可。

微信图片_20220707093940.png微信图片_20220707093945.png

好了,本期改的bug很多了。欢迎小伙伴继续关注!

相关文章
|
8天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
48 11
|
26天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
57 1
|
1月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3
|
1月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
143 1
|
2月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
79 2
|
1月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
67 0
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
80 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
268 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
286 3
快速上手|HTTP 接口功能自动化测试

热门文章

最新文章