测试平台系列(14) 编写类postman页面(3)

简介: 编写类postman页面(3)

编写类postman页面(3)


回顾

记得上一节我们编写了postman的中间部分,其实还有header部分的一些表单数据没有编写完成,今天我们就尽量完成它并且尝试跑一个小小的demo。

寻找可编辑表格组件


1.jpg

image

可以看到这里比较简单,基本上就是2块: 文字部分可编辑表格

可编辑表格的话,我们可以自己写,也可以直接用现成的。我们为了傻瓜一点,就采用ant design pro封装好的高阶组件(意思是功能齐全,简单好用)

具体地址: ProComponents

2.jpg

image

那么这个就是我们需要的,由于我们用的JavaScript而非TypeScript,所以呢我们需要复杂一点找到对应的源码:

3.jpg

先展开代码然后点击这个js图标

4.jpg

image

在弹出的网站就可以找到对应的JS代码了!

我们这个项目本来就带有了pro的组件,所以不需要额外安装了哈。(亲测新版本还有点问题)

编写可编辑表格雏形


首先呢,我们这个组件是postman组件,但是其实这个可编辑组件是可以和后面的headers标签进行复用的,所以我们单独把这个组件抽出来封装。

新建src/components/Table/EditableTable.jsx

5.jpg

image

代码基本上是复制过来的,但是我们抽取了几个重要的参数:

  • columns
    由于我们的每个表格的字段可能不一样,所以说我们不能写死
  • dataSource
    实际数据,本来不是这样的,但是发现这个组件有点bug,让我有点小尴尬
  • setDataSource
    改变dataSource的方法
  • title
    比如这里我们需要的title是Query Params

6.jpg

image

注意这里,这里我是从columns中拿到真实字段,因为咱们还有其他字段比如后面的删除,拿到之后在用户点击新增一行数据的时候默认给字段加上值。

引入表格组件并编写columns


7.jpg

image

  • columns

8.jpg

image

我设置了3个字段分别是KEY,VALUE, DESCRIPTION。与postman是保持一致的,然后最后一列我设置了一个图标(删除),删除方法自己手动编写了(还是因为他有bug,无法删除)。因为我在官网没改源码的情况下也发现无法删除

看看效果:

9.jpg

雏形是有了

其实postman做的更精致,下面的数据会改变url的内容。接下来我们也把这块实现了吧。

改造URL


现在我们有了params参数,那么我们的url就由2部分构成了:

  • url
  • params

所以我们原先的url改变的时候如果有参数变动则需要修改参数项目,如果参数项目有变动也需要修改url

由于这个ProTable有一点点bug,笔者也搞了好久今晚,不过最后顺利完成了,大家pull最新的代码就可以看到效果了。可惜的是今天浪费太多时间了,就只简单对代码稍作描述了。

10.jpg

image

这个表格组件有些变化:

  • 把正在编辑的key和修改可编辑key的方法抽离出来了
  • extra函数用来在表格数据变动的时候做一些额外的变动,因为表格变化我们得去更新url

拼接url的方法

11.jpg

image

url的规则是 http://www.xxx.com + ?参数1=值&参数2=值2

所以第一个参数用?隔开,后面都是用&,代码写的很清楚了。

拆解url的方法

12.jpg

image

这里写的比较复杂,首先判断url里面有无参数,没有的话就把表单数据清空。接着就是取url的数据组成新的表单。但是表单的每一行是用时间区别的,这里js执行太快,所以我以数组索引+时间+10的方式,就算now全都一样,也没关系,因为索引肯定不一样,避免了一下子添加多行的问题(当然你们是看不到这个问题的)。

删除参数

13.jpg

image

删除参数的时候也重新拼接url给url输入框

输入框url变化也改变参数表格

14.jpg

image

新增了一些变量和set变量的方法

15.jpg

image

文件总体代码可以去github看,这里篇幅有限就不贴了。

最终效果


找了个截图软件,让大家看看效果吧,晚安。

19.PNG

image




相关文章
|
2月前
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
85 1
|
17天前
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
14 3
vertx的学习总结6之动态代理类和测试
|
3天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
14 2
|
13天前
|
测试技术 数据安全/隐私保护
北邮人论坛登录页面测试用例
北邮人论坛登录页面测试用例
27 1
|
1月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
35 2
|
18天前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
32 0
|
3月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
177 5
Postman 接口测试配置 Pre-request Script
|
2月前
|
JSON 测试技术 数据格式
单元测试问题之使用JCode5插件生成测试类如何解决
单元测试问题之使用JCode5插件生成测试类如何解决
87 3
|
2月前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
2月前
|
Java 测试技术 Spring
单元测试问题之在 JCode5 类中使用 testService如何解决
单元测试问题之在 JCode5 类中使用 testService如何解决
19 2