在API测试场景中,部分老旧系统或特定业务接口仍采用xml格式传输数据,Postman作为常用的接口测试工具,支持完整的xml请求构造与发送能力,掌握相关操作方法能覆盖更多测试场景。

一、基础xml请求构造步骤
1. 设置请求基本信息
首先打开Postman,新建一个请求,根据接口要求选择对应的请求方法,常见的xml请求接口多使用POST或PUT方法。在地址栏输入待测试的API地址,例如http://192.168.0.1:8080/api/user/create。
2. 配置请求头
xml请求需要指定正确的Content-Type,告知服务端请求体的格式。在请求的Headers标签页中添加如下配置:
- Key:Content-Type
- Value:application/xml
如果接口需要额外的认证头,比如Authorization,也可以在此处一并添加。
3. 编写xml请求体
切换到Body标签页,选择raw选项,然后在右侧的格式下拉框中选择XML,此时就可以在输入框中编写xml格式的请求内容。以下是一个创建用户接口的xml请求示例:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<name>张三</name>
<age>25</age>
<email>test@ipipp.com</email>
</user>
编写完成后点击Send按钮即可发送请求,在下方响应区域可以查看服务端返回的xml格式响应内容。
二、xml请求的参数化技巧
如果需要对xml请求进行批量测试,比如测试不同用户参数的场景,可以使用Postman的变量功能实现参数化。首先在环境变量或全局变量中定义对应参数:
// 在Pre-request Script中设置变量
pm.environment.set("userName", "李四");
pm.environment.set("userAge", "30");
pm.environment.set("userEmail", "lisi@ipipp.com");
然后在xml请求体中通过双花括号引用变量:
<?xml version="1.0" encoding="UTF-8"?>
<user>
<name>{{userName}}</name>
<age>{{userAge}}</age>
<email>{{userEmail}}</email>
</user>
这样每次发送请求时,Postman会自动替换变量为对应的值,结合Runner功能就可以实现批量测试。
三、常见问题排查
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 服务端返回415 Unsupported Media Type | 未设置正确的Content-Type,或格式不是application/xml | 检查Headers中Content-Type配置是否正确 |
| 服务端返回400 Bad Request | xml格式语法错误,比如标签未闭合、特殊字符未转义 | 检查xml语法,特殊字符如<、&需要转义为<、& |
| 请求发送后无响应 | 接口地址错误、端口不通或请求方法不匹配 | 检查接口地址、端口连通性,确认请求方法符合接口要求 |
四、进阶场景:携带命名空间的xml请求
部分接口要求xml请求携带命名空间,此时只需要在根标签中添加命名空间定义即可,示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<user xmlns="http://ipipp.com/user">
<name>王五</name>
<age>28</age>
</user>
只要命名空间格式正确,Postman可以正常发送这类请求,服务端也能正确解析内容。