lf知识星球banner

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

2018-03-15 16:57:42
admin
2204
最后编辑:Seagull 于 2018-08-14 15:29:22
简介:介绍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请求


发表评论
评论通过审核后显示。
搞事bannar