接口测试平台代码实现26:项目详情页设计

简介: 本节我们要设计项目详情页。按照我们之前的设计,项目详情页至少要包括3个部分: 接口库 :难度 *** (接口导入/调试) 用例设置 :难度 ***** (用接口库的接口组成各种用例/执行/报告/监控) 项目设置 :难度 * (项目名称/备注/其他管理者 等后续新增的属性修改)

按照难度我们会先挑简单的下手。

不过我们本节要做的是这三个子模块的 框架。


我们目前的细节设计是,我们点击项目后,默认进入 接口库。然后无论在哪个子页面,都要有一个微型的导航/菜单,来让我们快速切换到不同的自模块

所以本节我们就要做出三个空壳子模块,并架构好链接,还有学习首次使用oid来区分不同的数据返回给前端。


首先我们新建三个html,分别取名:

P_apis.html  

P_cases.html

P_project_set.html

这三个页面 对应 接口库/用例库/项目设置微信图片_20220617221451.png

然后我们写好 点击 项目列表页 的 进入按钮  -  接口库 的整个架构。


打开project_list.html 项目列表页,找到我们的进入按钮微信图片_20220617221509.png

我们这里点击后是直接跳转到新页面,所以不需要调用异步接口。直接强行让其跳转即可,所以给它加上onclick属性,里面是一句简单的跳转js代码:微信图片_20220617221516.png

document.location.href = '路由'  可以强行跳转。我们要跳到的链接中,肯定需要带上i.id才行,这样django才知道你要跳转的是哪个项目的接口库。


然后我们去urls.py中写好映射:微信图片_20220617221522.png

这里的id 是在url中的,所以要用正则的写法去代表。大家注意这里一定不要写错,否则404


然后我们去后台写好这个open_apis 函数:微信图片_20220617221530.png

之后我们重启服务刷新页面,点击任意项目进去看看微信图片_20220617221536.png

没有报错,说明成功,注意url 。应该是上图中模样。

然后我们 接着把其他俩个子模块的 urls.py/views.py 中的代码写好:微信图片_20220617221544.png微信图片_20220617221549.png

这俩个基本复制 接口库 的,然后改改就好。没啥难点可说

这时我们打开apis.html。然后 开始简单做一丁点布局设计:微信图片_20220617221555.png

我们只是做了一个顶部的 说明用 文案,文字居中 ,背景黑色。

然后看看效果:微信图片_20220617221600.png

是不是发现了问题?

我们明明是顶格写的div,为啥会下降一行呢?上面留出了一行白,很难看。这个原因其实是因为我们的welcome.html中引入的子页面page1。它本身就在文档流中,被其他按钮挤到下面了。所以我们在子页面中即使顶格写,也会看到没有顶到浏览器顶部。这种情况,我们可以去修改welcome.html,把其中的page1 给写成固定坐标,距离顶部0px。  但是welcome.html属于我们的公共底层部分,动了它,势必导致我们之前做的所有页面的布局都会变,会引起不可知的后果,所以尽量不要去动这种底层公共的东西。


我们只能继续修改apis.html,把这个div的背景颜色黑色去掉,文字颜色黑色也去掉 即可。之所以前面故意加上颜色,就是要引出上面那段文字,让大家加深理解 子页面和welcome.html的关系。微信图片_20220617221607.png

微信图片_20220617221615.png

然后我们去后台views.py中开发child_json(),得想办法把这个项目数据带给前端才行!微信图片_20220617221621.png

这里我们可以把项目名字获取到,然后传递给前端。但是要想知道确切的项目名称,我们得想办法把项目id 从 open_apis() 函数中 给传递到 child_json()中才行.


这时候就用到了我们 一直以来从未启用过的oid微信图片_20220617221630.png

这里比较难,大家注意看。一直以来我们都带着这个空字符串的oid。

现在是首次启用。

什么时候用:当我们进入一个页面需要返回数据的时候,如果数据一致,没什么特殊区分,那就不需要。不过需要区分,比如这里进入不同的项目详情页,就要带入不同的项目数据的时候,我们就需要启用oid。此时这个oid里面就是我们可以用来区分数据的参数,也就是项目id。


现在我们修改进入接口库函数open_apis()

给oid 的值写成 project_id微信图片_20220617221637.png

此时 这些数据 先跑到哪了呢?是我们的child()函数:微信图片_20220617221645.png

此时我们的oid 在child中,我们需要继续把oid传递给 child_json()才行,所以修改child函数:

微信图片_20220617221653.png

加上oid之后。我们在child_json()中写好对应型参来接收这个oid:微信图片_20220617221659.png

oid = ''  的写法是为了兼容,防止我们之前或之后的其他页面没有带上oid的时候报错。当然其实基本不会发生这个问题,只是为了保险和规范。


此时child_json拿到了这个oid,那么我们的if eid == 'P_apis.html'中是需要用的,就给它用:微信图片_20220617221706.png放到了这个id = oid中。我们现在来试着重启服务器刷新页面 看看效果吧~

微信图片_20220617221712.png

相关文章
|
8天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
40 13
|
18天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
70 11
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
39 6
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
31 1
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
35 4
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
70 3
|
2月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
150 1