一键轻松造数据:通过Postman实现表单提交

这篇具有很好参考价值的文章主要介绍了一键轻松造数据:通过Postman实现表单提交。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

 

一、原始需求的诞生

在测试的过程中,需要大量的表单。于是我选择了通过postman发送表单提交的接口来造数据。

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

如上图所示,表单提交接口所需的参数以及请求体中需模拟的IP地址。参数为 {{}} 的表示需要不同的实参,至于原因就不在这里赘述了。如何找到数据呢?还能够贴合心意?

我想到了线上的表单提交用户,这样也不用担心身份证校验的问题,且数据的随机性大。

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

通过对线上日志的观察,筛选关键字后正好有所需要的日志,但是关键却藏在了 req{} 后面。这样需求就可以明确了:截取日志中 req{} 里的json,并提取出需要的字段存为文件。

二、实现

1、提取日志文件

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

根据关键字搜索日志后,使用阿里云日志下载功能将所需的日志下载保存在 submit.csv

2、提取csv中所需要的字段content

使用 with open() 函数打开csv文件并读取字段后存在列表中

with open("submit.csv", encoding='utf-8') as submit_file:
    reader = csv.DictReader(submit_file)
    column = [row["content"] for row in reader]

打印查看结果

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

3、截取content中的json,并进行类型转换

使用python中的index()函数定位 req{} 的位置,然后进行截取并存在列表中。

# 循环提取
for i in column:
    # 截取content中的req{} 、转换成json
    location_num = i.index("{")
    str_req = i[location_num:]
    # print(str_req)
    json_req = json.loads(str_req)

打印查看结果

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

4、将取出的json_req中所需的字段以字典的形式保存

# 提取json部分字符存到列表中
    deviceId = json_req["deviceId"]
    content = json_req["content"]
    idCard = json_req["idCard"]
    realName = json_req["realName"]
    formIP = json_req["formIP"]
    new_contents.append(
        {"deviceId": deviceId, "content": content, "idCard": idCard, "realName": realName, "forIP": formIP})

打印查看结果

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

5、将列表写入文件中

使用 with open() 函数打开csv文件并将字段写入在csv文件中

# 写入csv文件
    with open("submitV3.csv", "a+", newline="\n", encoding="utf-8") as submitV3_file:
        writer = csv.writer(submitV3_file)
        writer.writerow([deviceId, content, idCard, realName, formIP])

最后得到文件 submitV3.csv ,如下图:

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

使用文件在postman中进行参数化运行,参数取值符合使用要求:

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

四、需求优化

1、idCard为空

提取数据后,发现有部分数据没有idCard,此类日志是由电商类表单提交产生,不需要身份证,所以值为空。所以为了用起来方便,需要进行一个判断的改进。

 # if len(json_req['idCard']) == 0:
    if json_req['idCard']:
       …………
     else:
      ……………

只需要判断idCard是否为空既可筛选出两种表单的值。如图,V2的数据不包含idCard。

postman 表单提交,软件测试,IT管理,python,开发语言,postman,造测试数据,阿里云日志

2、后续

此次工具完成后发现使用场景较少且不够智能,后续的发展方向:1、直接使用阿里云日志sdk提取文件。2、postman 不需要手工操作。3、模拟使用算法的情况下数据的提交。文章来源地址https://www.toymoban.com/news/detail-619028.html

到了这里,关于一键轻松造数据:通过Postman实现表单提交的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • postman测试提交json数据到数据接口

    利用postman测试,采取post方式,提交json数据到服务器端接口,应该如下设置: 相应服务器端程序:

    2024年02月11日
    浏览(43)
  • 6个步骤轻松实现 postman 接口压力测试(建议收藏)

    这里讲是postman做接口并发测试,基础用法不做赘述 最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓

    2024年02月04日
    浏览(38)
  • 如何通过postman实现接口请求

    目录 1.创建一个集合 2.创建一个文件夹 3.在文件夹中创建一个基本请求      *设置请求的方式:get、post、delete、put      *设置请求的url地址      *设置请求的请求体body或请求参数params:       *设置请求头: 4.设置断言 5.点击send发送 6.配置环境 7.获取请求体中的数据并设置为

    2024年02月04日
    浏览(41)
  • springboot实现webservice接口自定义返回值通过postman测试

    震惊~~都2023年了竟然还有人用webservice! maven添加依赖 添加配置文件 自定义拦截器 通过cxf实现wenservice服务返回结果是有一层固定包装的,类似下图,return标签里才是结果,如何完全自定义返回的结果数据呢?就需要上面的拦截器去掉外层的包装。 service类 实现类 接下来启动

    2024年02月16日
    浏览(49)
  • Postman 实现备份数据 Postman恢复数据 postman 导出导入数据 postman 导入导出数据

            在使用postman调试接口时,若遇到内网的环境,无法通过账户同步数据; 在A电脑调试的接口数据,需要移动到B电脑上,如何实现postman 的数据迁移(导出)功能呢?         在新的电脑上,如何导入postman的数据呢?         本文将整理 postman的数据导出、

    2024年01月25日
    浏览(52)
  • Springboot通过前端发起请求,上传excel文件解析数据 postman进行操作

    springboot版本3.2.0,数据库版本8 mybatisplus版本3.5.4.1 controller层 测试结果 后端返回数据 Postman返回数据 注意 使用postman进行测试时,需要把key传进去,不然会报空文件异常,

    2024年01月18日
    浏览(56)
  • spring-boot 接收form表单 多文件加多字段数据(postman在form-data格式下传数组和集合)

    前言 该博客多用于记录自己的问题  在写项目的时候遇到这种业务情况: 需要保存整个页面的数据,数据包含 多个字段信息 和 多个文件  结合网上的处理思路,我最终实现了这种业务需求并整理一下 前端单独提交字段和文件比较方便简单,本人不太了解前端,既然前端说

    2024年02月03日
    浏览(50)
  • postman请求载荷与请求表单的区别

    当网站post请求是json格式时,postman 发送参数位置: Body-raw-选择json格式-填写json载荷。 (如下图) 当网站post请求是表单格式时,postman 发送参数位置: Body-x-www-form-urlencoded-填写表单内容。 (如下图)

    2024年02月04日
    浏览(38)
  • PLC通过智能网关实现HTTP-Server接口(带Postman测试截图)

             智能网关IGT-DSER集成了多种PLC的原厂协议,方便实现各种PLC的原厂协议转换为HTTP协议的服务端,通过网关的参数配置软件绑定JSON文件的字段与PLC寄存器地址,即可接收来自客户端的GET、PUT和POST命令,解析和打包JSON文件。        本案列是罗克韦尔(AB)的PLC,首

    2024年02月02日
    浏览(52)
  • postman----传参格式(json格式、表单格式)

      本文主要讲解postman使用post请求方法的2中传参方式:json格式、表单格式 首先了解下,postman进行接口测试,必须条件是: ♥请求地址 ♥请求协议 ♥请求方式 ♥请求头 ♥参数 json格式 先看一下接口文档,根据接口文档,在postman中填入必要的参数信息 post请求方式,使用 

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包