更新时间:2024-10-11 GMT+08:00

添加并设置CodeArts TestPlan接口脚本的URL请求

  1. 完成创建CodeArts TestPlan接口自动化测试用例模板操作后,在测试用例 > 接口自动化页面单击需要编辑的用例名称。
  2. 选择“脚本”页签,单击“URL请求”,生成一个测试步骤。

    用户可以导入被测接口的Swagger描述文件生成脚本模板,基于脚本模板编排测试用例,详细操作请参考将测试步骤保存为CodeArts TestPlan接口脚本关键字

    选择脚本模板,拖拽脚本模板卡片、或单击脚本模板卡片上的,将脚本添加至测试步骤。

  3. 根据需要编辑URL请求,包括添加并设置CodeArts TestPlan接口脚本的URL请求设置CodeArts TestPlan接口脚本的检查点设置CodeArts TestPlan接口脚本的响应提取,可以在“请求”输入需要测试的环境地址,可以是域名或ip ,当用户从本地导入swagger或postman,“请求”这里的地址会自动生成。
  4. (可选)重复2~3,添加前置步骤与后置步骤。
  5. 编辑完毕,单击页面右上角“保存”,完成测试脚本的编写。
  • 接口自动化用例支持在请求URL路径、请求头、请求体、检查点参数、URL响应中使用内置函数。内置函数详情请参考接口自动化用例内置函数说明
  • 接口自动化用例支持在编辑时,可以在测试步骤标题区域使用右键,对测试步骤进行剪切、复制、粘贴、删除等操作;存在多个测试步骤时,支持通过“Ctrl+左键”多选后,批量执行右键操作;其中,“复制”或“剪切”测试步骤后,支持当前页签/跨页签/跨用例“粘贴”测试步骤。

  • 需要注意的是,在标题区域内的右键响应,均为对测试步骤的操作。因此在编辑测试步骤标题区域文本框时,浏览器右键被系统右键覆盖,浏览器右键不生效。如需在测试步骤标题区域的文本框中对文本进行复制粘贴操作,请使用快捷键的方式进行复制(Ctrl+C)和 粘贴(Ctrl+V)操作。

请求URL与URL参数

在接口自动化用例的“脚本”页签中填写需要请求的URL、支持HTTP/HTTPS请求。

接口自动化可以支持以下类型URL请求方式。其中,新建的URL的请求方式默认为GET方式。

请求方式

说明

GET

从API检索数据。

POST

上传文件和添加新数据。

PUT

替换现有数据。

DELETE

删除现有数据。

HEAD

获取响应的HTTP头。

OPTIONS

预检请求。

PATCH

更新一些现有数据的字段。

在请求URL中支持使用环境参数、局部参数以及响应提取参数,使用方法请参考设置CodeArts TestPlan接口脚本的测试用例参数

请求头

接口自动化预置HTTP协议的常用请求头,在请求头模块,输入要填写的请求头信息。

请求头支持表单、文本两种格式。页面中默认使用表单形式,通过图标进行表单和文本的切换。

  • 表单:在请求头“名称”列选择或输入请求头名称,在“值”列选择/输入内容。

  • 文本:需要按照“key:value”的格式填写请求头。

    与表单模式不同的是,文本模式仅支持对“请求头名称”“值”进行配置操作,但不支持对“描述”进行配置操作。

    填写请求头时需要关注以下两点约束条件:

    1. 请求头的总数不能超过30。
    2. 请求头的长度不能超过10000。

测试计划服务中预置了多个常用的HTTP请求头,详情如下表:

请求头名称

说明

Accept

能接受的回应内容类型(Content-Types),如:text/plain等。

Accept-Charset

能接受的字符集,如:utf-8等。

Accept-Encoding

能接受的编码方式列表:compress | gzip | identity。

Accept-Language

能接受的回应内容的自然语言列表,如:en-US等。

Accept-Datetime

能接受的按照时间来表示的版本。

Access-Control-Request-Method

用于预检请求让服务器知道哪些HTTP方法的实际请求时将被使用。

Access-Control-Request-Headers

用于预检请求让服务器知道哪些HTTP头的实际请求时将被使用。

Authorization

用于超文本传输协议认证的认证信息。

Cache-Control

用来指定在请求/响应链中的所有缓存机制都必须遵守的指令。

Connection

浏览器优先使用的连接类型。

Cookie

由服务器通过Set- Cookie发送的一个超文本传输协议Cookie。

Content-Length

以八位字节数组(8位的字节)表示的请求体的长度。

Content-MD5

请求体内容的二进制MD5散列值,以Base64编码的结果。

Content-Type

请求体的多媒体类型(用于POST和PUT请求中),如:application/json。

Date

发送消息的日期和时间。

Expect

表明客户端要求服务器做出特定的行为。

Forwarded

包含来自被改变或丢失时代理参与请求的路径代理服务器的面向客户端的信息。

用于调试,统计和生成依赖于位置的内容,并且通过设计它可以显示隐私敏感信息,例如客户端的IP地址。因此,在部署此标头时必须牢记用户的隐私。

From

发起请求的用户的邮件地址。

Host

服务器的域名(用于虚拟主机),以及服务器所监听的传输控制协议端口号。如果所请求的端口是对应的服务的标准端口,则端口号可省略。

自超文件传输协议版本1.1(HTTP/1.1)开始是必需字段,在服务中如果URL中填写的域名为IP地址会自动添加该字段,否则请将被测应用的IP与端口信息填写在该字段。

If-Match

仅当客户端提供的实体与服务器上对应的实体相匹配时,才进行对应的操作。主要用作像PUT这样的方法中,仅在用户从上次更新某个资源以来,该资源未被修改的情况下,才更新该资源。

If-Modified-Since

允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified )。

If-None-Match

允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考超文本传输协议的实体标记。

典型用法中,URL被请求时,Web服务器会返回资源和其相应的ETag值,且会被放置在HTTP的ETag字段中,然后,客户端可以决定是否缓存该资源和相应的ETag。以后,如果客户端想再次请求相同的URL,将会发送一个包含已保存的ETag和If-None-Match字段的请求。

If-Range

如果实体未被修改过,则向发送方发送其所缺少的那一部分或多个部分,否则,发送整个新的实体。

If-Unmodified-Since

仅当实体自某个特定时间以来未被修改的情况下,才发送回应。

Max-Forwards

限制消息可被代理及网关转发的次数。

Origin

发起一个针对跨来源资源共享的请求。要求服务器在回应中加入一个“访问控制-允许来源”(Access-Control-Allow-Origin)字段。

Pragma

与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生多种效果。

Proxy-Authorization

用来向代理进行认证的认证信息。

Range

仅请求某个实体的一部分,字节偏移从0开始。

Referer

表示浏览器访问的前一个页面上的某个链接将浏览器带到了当前所请求的这个页面。

TE

浏览器预期接受的传输编码方式:可使用回应协议头Transfer-Encoding字段中的值;还可用“trailers”(与“分块”传输方式相关)值来表明浏览器希望在最后一个尺寸为0的块之后还接收到一些额外的字段。

User-Agent

浏览器的浏览器身份标识字符串。

Upgrade

要求服务器升级到另一个协议。

Via

向服务器告知请求是由哪些代理发出的。

Warning

一个一般性的警告,告知在实体内容体中可能存在错误。

请求体

请求体是接口请求需要传递的消息(报文),支持文本、JSON请求体、表单参数三种格式。

当请求消息方式选择POST、PUT、DELETE、OPTIONS、PATCH、HEAD时,页面中会出现请求体;请求消息方式为GET时不显示请求体。

  • 文本:可以输入标准json串,与选择JSON类型请求体使用方式一致。

  • 表单参数:支持文本和文件两种类型。
    • 文本类型:设置参数名和值。

    • 文件类型:设置参数名,并通过上传文件为参数赋值,文件类型不限。