HTTP&Socket模板自动化语法说明
简介:介绍HTTP&Socket的模板使用以及语法说明,包括HTTP中的json如何应用。
首先,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格式模板,请参考协议模板内容页面中【参数示例】,点击打开后,有详细示例。
2:关于HTTPS的测试
HTTPS的请求测试分为两种,一种是单向认证,一种是双向认证(需要证书),以下分别介绍这两种方式如果去构造请求。
如果是HTTPS单向认证,那么跟普通的HTTP请求差不多,你只需要把【包|定位路径】列中的URL,把http换成https即可,如:https://www.baidu.com/ ,另外在选择请求方法的时候,请注意,必须选择 httpclient 类别的请求,此类请求才支持https。
如果是HTTPS双向认证,那么你需要比单向认证多一个步骤,就是在创建协议模板的时候,要按格式(https证书路径;证书密钥)填写https证书在客户端的路径以及证书的密钥。
注意:如果客户端在运行HTTPS的时候报下面的异常:
- javax.net.ssl.SSLKeyException: RSA premaster secret error
是因为缺少JRE中的jar包,把JRE安装目录中的JAR包,复制到客户端项目的LIB目录或是对应的驱动目录即可解决。
见下图:
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请求 |