接口发送 xml 格式的数据如何测试?

Posted 柠檬班软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口发送 xml 格式的数据如何测试?相关的知识,希望对你有一定的参考价值。


什么是 xml ?
接口发送 xml 格式的数据如何测试?


xml 是一种和 html 非常类似的语言,采取一定的格式展示数据。比如:


接口发送 xml 格式的数据如何测试?


这个例子非常形象的指明:

接口发送 xml 格式的数据如何测试?
  • 这是一个便条

  • 便条是给你的

  • 便条是我写的

  • 标题是:提醒

  • 内容是:今晚八点,不见不散

接口发送 xml 格式的数据如何测试?

xml 和 html 的区别

接口发送 xml 格式的数据如何测试?


  • xml 设计的初衷在于传输数据,重点在数据;

  • html 设计的初衷在于展示数据,重点在展示;

  • html 通过和 css 的组合能展现非常美观的效果,xml 志不在此。

接口发送 xml 格式的数据如何测试?

接口当中为什么会有 xml ?

接口发送 xml 格式的数据如何测试?


xml 的作用和 json 实在是太像了。通过 json, 可以代替 xml 的作用:


接口发送 xml 格式的数据如何测试?


以前,接口通常会采用 xml 来传输数据。而现在,大多数接口都是采用 json 进行数据传递, xml 已经被冷落了,主要的原因是:

接口发送 xml 格式的数据如何测试?

  • json 数据传输量较小,xml 常常要使用各种属性,冗余信息较多;


  • json 支持数字, 布尔, null, 数组,对象等通用格式,xml 都是文本;


  • json 解析更方便


但是,还是有一些公司的接口是采用 xml, 比如大名鼎鼎的微信,很多接口还是采用 xml。原因是 xml 在一些特定领域还占有一些优势:

接口发送 xml 格式的数据如何测试?

  • 可读性稍微占优势;


  • 对于 UI 页面,可以更方便的使用属性这样一种形态进行页面数据的传输,比如

    安卓应用。


  • 历史优势。xml 相比 json 发展更早,还有很多有经验的程序员偏爱 xml, Java

    程序员有喜欢 xml 的倾向(现在已经很少了)。微信的很多 api 还是用 xml,

    也许是出于这些原因。


xml 和 json 的区别,归根结底在于他们表达数据的方式不同,xml 用的是树形结构, json 对应的是 hash 映射。


接口发送 xml 格式的数据如何测试?

使用工具测试 xml 数据接口

接口发送 xml 格式的数据如何测试?

接口发送 xml 格式的数据和发送 json 几乎一样,只需要把格式改成 xml 就可以了。


采用 postman 接口测试工具 往接口https://httpbin.org/post 发送以下 xml 数据:


接口发送 xml 格式的数据如何测试?


postman 数据填写:


接口发送 xml 格式的数据如何测试?


通过 fiddler 抓包可以查看到发送的数据:


接口发送 xml 格式的数据如何测试?


通过 postman 查看返回结果:


接口发送 xml 格式的数据如何测试?


通过上面的例子得出:


  • xml 格式的发送只需要修改请求头格式

  • 请求头格式为 Content-Type: application/xml


接口发送 xml 格式的数据如何测试?

使用 python 编程语言测试 xml 数据接口

接口发送 xml 格式的数据如何测试?

使用 python 语言的 requests 库可以很方便的发送 xml 格式的数据,只需要把请求头格式换成 application/xml 就可以了:

接口发送 xml 格式的数据如何测试?


接口发送 xml 格式的数据如何测试?

xml 数据存储在文件当中

接口发送 xml 格式的数据如何测试?

测试数据如果不是通过在代码中直接传递,而是通过文件形式存储,则使用 python 当中的 open 函数直接读取。


接口发送 xml 格式的数据如何测试?


相应代码:


接口发送 xml 格式的数据如何测试?


说明:本文为柠檬班雨泽老师原创,转载需注明出处


接口发送 xml 格式的数据如何测试?
接口发送 xml 格式的数据如何测试?


领取100G测试资料

让软件测试学习变得更简单!


你还知道其他的测试方法吗?

欢迎在评论区留言

我们互相涨知识哦~

以上是关于接口发送 xml 格式的数据如何测试?的主要内容,如果未能解决你的问题,请参考以下文章

PHP通过XML报文方式,已第三方接口交互(发送xml,获取XML,并解析xml步骤)

java代码发送post请求,并接收xml文件。。。 发送请求时要带参数

soapUI工具使用方法简介接口测试

Python+requests库发送接口入参为xml格式的接口请求多测师

Python+requests库发送接口入参为xml格式的接口请求多测师

在java中如何实现http/post/xml发送数据报文?麻烦高手赐教!