HTTP&Socket模板自动化语法说明

简介:介绍HTTP&Socket的模板使用以及语法说明,包括HTTP中的json如何应用。

首先,HTTP&Socket的自动化测试,每个步骤都必须要关联协议模板,去构造消息头以及消息体。

其次,在步骤动作栏中,点击输入框会自动联想当前项目下所有的协议模板,选择对应的模板即可。

再次,请求的参数都必须在模板里面先构造,不能直接在用例步骤的参数列里面去构造,步骤的参数列只能去替换模板里面的默认参数值。也就是说必须得在模板里面有的参数,步骤参数才能生效去替换默认值。

1:关键字语法结构

  • 参数栏可以修改模板中的默认值,如果参数为空,则默认使用模板中定义好的默认参数。
  1. **参数栏填写示例:**参数名#参数值|参数名#参数值|参数名#参数值|……|

示例:

3.2.4 HTTP&Socket模板自动化语法说明 - 图1

  • 支持头域参数化:协议模板的请求头域可修改

需要自己设置的常见头域就是登录鉴权了,比如有用Cookie的,那么你必须把token放到Cookie中去,Cookie是放在HTTP消息的头域来发送的。

a.模板中头域为空,可设置头域,但不能设值

例:headmsg(Content-Length)| headmsg(Connection)……

b.模板中设值了请求头域,可修改头域的值headmsg(header)#值

例:headmsg(Content-Length)#500| headmsg(From)#user@@email.com……

头域的值也可传递参数 例:headmsg(Content-Type)#@type

c.模板头域中的参数设置,以;分隔参数,当本身参数值中有;号时,注意使用\;进行转义设置。

d.如果构造JSON格式模板,请参考协议模板内容页面中【参数示例】,点击打开后,有详细示例。

3.2.4 HTTP&Socket模板自动化语法说明 - 图2

2:关于HTTPS的测试

HTTPS的请求测试分为两种,一种是单向认证,一种是双向认证(需要证书),以下分别介绍这两种方式如果去构造请求。

如果是HTTPS单向认证,那么跟普通的HTTP请求差不多,你只需要把【包|定位路径】列中的URL,把http换成https即可,如:https://www.baidu.com/ ,另外在选择请求方法的时候,请注意,必须选择 httpclient 类别的请求,此类请求才支持https。

如果是HTTPS双向认证,那么你需要比单向认证多一个步骤,就是在创建协议模板的时候,要按格式(https证书路径;证书密钥)填写https证书在客户端的路径以及证书的密钥。

注意:如果客户端在运行HTTPS的时候报下面的异常:

  1. javax.net.ssl.SSLKeyException: RSA premaster secret error

是因为缺少JRE中的jar包,把JRE安装目录中的JAR包,复制到客户端项目的LIB目录或是对应的驱动目录即可解决。

见下图:

3.2.4 HTTP&Socket模板自动化语法说明 - 图3

3:HTTP&Socket支持的方法

HttpURLPost使用HttpURLConnection发送post请求
URLPost使用URLConnection发送post请求
GetAndSaveFile发送get请求保存下载文件到客户端
HttpURLGet使用HttpURLConnection发送get请求
URLGet使用URLConnection发送get请求
HTTPClientPost使用HTTPClient发送post请求
HTTPClientGet使用HTTPClient发送get请求
HttpClientPostJSON使用HTTPClient发送JSON格式的post请求
HttpURLDelete使用HttpURLDelete发送delete请求
httpClientPut使用httpClientPut发送put请求
httpClientPutJson使用httpClientPutJson发送put请求