Modifier and Type | Field and Description |
---|---|
protected HashSet<com.alibaba.fastjson.JSONObject> |
assertRuleSet
接口响应报文断言规则集合
|
protected ArrayList<BeforeInterfaceOperation> |
beforeOperationList
存储接口前置操作内容
|
protected Entry<MessageType,Object> |
body
接口请求体
|
protected Entry<Long,TimeUnit> |
connectTime
存储接口的请求时间
|
protected HashMap<String,String> |
cookieMap
存储cookie
|
static String |
DEFAULT_CHARSETNAME
定义响应内容默认字符集
|
static Entry<Long,TimeUnit> |
DEFAULT_CONNECT_TIME
定义默认接口请求超时时间
|
static String |
DEFAULT_HOST
定义默认主机
|
static int |
DEFAULT_PORT
定义默认主机端口
|
static String |
DEFAULT_PROTOCOL
定义默认接口协议
|
static RequestType |
DEFAULT_REQUESTTYPE
定义接口默认请求方式
|
protected HashSet<com.alibaba.fastjson.JSONObject> |
extractRuleSet
接口响应报文提词规则
|
protected String |
host
主机
|
protected HashMap<String,String> |
paramMap
接口请求参数
|
protected String |
path
接口地址
|
protected int |
port
主机端口号
|
protected String |
protocol
接口协议
|
protected String |
requestCharsetname
接口请求体字符集
|
protected HashMap<String,String> |
requestHeaderMap
接口请求头
|
protected RequestType |
requestType
请求类型
|
protected String |
responseCharsetname
接口响应体字符集
|
protected HashMap<Integer,HashSet<MessageType>> |
responseContentTypeMap
接口响应内容格式集合
|
protected String |
SYMBOL_SPLIT_COOKIES
定义cookies间的分隔符号
|
protected String |
SYMBOL_SPLIT_COOKIES_VALUE
定义cookies键值之间的分隔符号
|
protected String |
SYMBOL_SPLIT_PARAM
定义接口参数与参数间的分隔符号
|
protected String |
SYMBOL_SPLIT_PARAM_VALUE
定义接口参数键值之间的分隔符号
|
protected String |
SYMBOL_SPLIT_PATH
定义接口路径与接口主机间的分隔符号
|
protected String |
SYMBOL_SPLIT_PORT
定义接口主机与主机间的分隔符号
|
protected String |
SYMBOL_SPLIT_PROTOCOL
定义接口主机与协议间分隔的符号
|
protected String |
SYMBOL_SPLIT_START_PARAM
定义接口起始参数与接口路径间的分隔符号
|
Constructor and Description |
---|
InterfaceInfo() |
Modifier and Type | Method and Description |
---|---|
void |
addAllAssertRule(Collection<String> rules)
该方法用于添加多组断言规则json
|
void |
addAllBeforeOperation(Collection<BeforeInterfaceOperation> operations)
该方法用于添加一组前置操作方法
|
void |
addAllExtractRule(Collection<String> rules)
该方法用于添加多组提词规则json
|
void |
addAssertRule(Map<String,String> assertRuleMap)
该方法用于添加断言规则集合
|
void |
addAssertRule(String assertRuleJsonText)
该方法用于添加断言规则json
|
void |
addBeforeOperation(BeforeInterfaceOperation operation)
该方法用于添加前置操作方法
|
void |
addCookie(String expression)
该方法用于根据url传入参数的表达式格式,向接口中添加参数
|
void |
addCookie(String cookieName,
String cookieValue)
该方法用于添加单个需要设置的cookie
|
void |
addCookies(Map<String,String> cookiesMap)
该方法用于添加一组需要设置的cookies
|
void |
addExtractRule(Map<String,String> extractRuleMap)
该方法用于添加提词规则
|
void |
addExtractRule(String extractRuleJsonText)
该方法用于存储提词规则
|
void |
addParam(String expression)
该方法用于根据url传入参数的表达式格式,向接口中添加参数
|
void |
addParam(String paramName,
String paramValue)
该方法用于添加单个请求参数(传参)
|
void |
addParams(Map<String,String> paramMap)
该方法用于添加一组请求参数(传参)
|
void |
addRequestHeader(String headerName,
String headerValue)
该方法用于添加单个请求头
|
void |
addRequestHeaderMap(Map<String,String> requestHeaderMap)
该方法用于添加一组请求头
|
void |
addResponseContentType(int state,
Collection<MessageType> messageTypes)
该方法用于添加接口响应体内容的格式
|
void |
addResponseContentTypeSet(int state,
MessageType... messageTypes)
该方法用于添加接口响应体内容的格式
|
void |
analysisUrl(String url)
该方法用于解析传入的url,并根据url的分隔规则,将接口信息进行识别,并存入到相应的参数中
|
Set<String> |
clearAssertRuleJson()
该方法用于清空并返回存储的断言规则集合
|
List<BeforeInterfaceOperation> |
clearBeforeOperation()
该方法用于清除添加的前置操作
|
Map<String,String> |
clearCookies()
该方法用于清空存储的所有cookie内容
|
Set<String> |
clearExtractRuleJson()
该方法用于清空并返回存储的提词规则集合
|
Map<String,String> |
clearParam()
该方法用于清空存储的所有参数内容
|
Map<String,String> |
clearRequestHeaderMap()
该方法用于清空存储的所有请求头内容
|
Set<MessageType> |
clearResponseContentType(int status)
该方法用于移除指定状态码的响应体内容
|
InterfaceInfo |
clone() |
boolean |
equals(Object obj)
判断接口信息是否一致,其依据协议、主机(域名)、端口、接口路径、参数与请求体参数进行判断,当这些参数一致时,则认为是同一个接口
|
Set<Integer> |
getAllSaveState()
该方法用于返回已存储响应报文格式的响应状态码集合
|
Set<String> |
getAssertRuleJson()
该方法用于以字符串集合的形式,返回断言规则json
|
List<BeforeInterfaceOperation> |
getBeforeOperationList()
该方法用于返回添加的所有前置执行操作
|
Entry<MessageType,Object> |
getBodyContent()
该方法用于返回接口的请求报文与请求报文类型封装类
|
Entry<Long,TimeUnit> |
getConnectTime()
该方法用于返回当前接口设置的请求超时时间
|
String |
getCookieExpression()
该方法用于返回已存储的Cookie的表达式,即以“xxx=xxx;xxx=xxx”的格式返回Cookie字符串
|
Map<String,String> |
getCookieMap()
该方法用于返回接口的需要设置的cookies
|
Set<String> |
getExtractRuleJson()
该方法用于以字符串集合的形式,返回提词规则json
|
String |
getHost()
该方法用于返回接口的主机地址或域名
|
Map<String,String> |
getParamMap()
该方法用于返回接口的请求参数(传参)
|
String |
getPath()
该方法用于返回接口的路径
|
int |
getPort()
该方法用于返回主机端口
|
String |
getProtocol()
该方法用于返回接口的url协议
|
String |
getRequestCharsetname()
该方法用于返回接口请求响应内容的字符集编码名称,若未设置响应体字符集编码,则默认为“UTF-8”编码
|
Map<String,String> |
getRequestHeaderMap()
该方法用于返回接口的请求头
|
RequestType |
getRequestType()
该方法用于返回接口的请求方式枚举
|
String |
getResponseCharsetname()
该方法用于返回接口响应内容的字符集编码名称,若未设置响应体字符集编码,则默认为“UTF-8”编码
|
Set<MessageType> |
getResponseContentType(int status)
该方法用于返回接口响应内容的格式枚举,当状态码不存在时,则返回空集合
|
int |
hashCode() |
boolean |
isEmptyCookie()
该方法用于返回是否存在cookie数据
|
boolean |
isEmptyHeader()
该方法用于返回是否存在请求头数据
|
boolean |
isEmptyParam()
该方法用于返回是否存在参数数据
|
void |
setBody(String bodyText)
该方法用于设置接口的请求体,根据报文的内容,自动设置相应的报文类型
|
void |
setBodyContent(MessageType messageType,
Object bodyObject)
该方法用于设置请求体以及请求体的类型
|
void |
setConnectTime(long connectTime,
TimeUnit timeUnit)
该方法用于设置接口的连接超时时间
|
void |
setConnectTime(String timeExpression)
该方法用于通过传入时间块表达式,设置接口的超时时间
|
void |
setFormBody(MessageType messageType,
List<Entry<String,Object>> dataList)
该方法用于设置表单格式类型的请求体
|
void |
setHost(String host)
该方法用于设置接口的主机地址或域名
|
void |
setPath(String path)
该方法用于设置接口的路径,可传入空串,表示无接口路径
|
void |
setPort(int port)
该方法用于设置主机端口
|
void |
setProtocol(String protocol)
该方法用于接口的url协议
|
void |
setRequestCharsetname(String requestCharsetname)
该方法用于设置接口请求内容的字符集编码名称
|
void |
setRequestType(RequestType requestType)
该方法用于设置接口的请求方式枚举
|
void |
setResponseCharsetname(String responseCharsetname)
该方法用于设置接口响应内容的字符集编码名称
|
String |
toString() |
String |
toUrlString()
该方法用于返回请求接口的完整url内容
|
public static final String DEFAULT_PROTOCOL
public static final String DEFAULT_HOST
public static final int DEFAULT_PORT
public static final RequestType DEFAULT_REQUESTTYPE
public static final String DEFAULT_CHARSETNAME
public static final Entry<Long,TimeUnit> DEFAULT_CONNECT_TIME
protected final String SYMBOL_SPLIT_PROTOCOL
protected final String SYMBOL_SPLIT_PORT
protected final String SYMBOL_SPLIT_PATH
protected final String SYMBOL_SPLIT_START_PARAM
protected final String SYMBOL_SPLIT_PARAM_VALUE
protected final String SYMBOL_SPLIT_COOKIES_VALUE
protected final String SYMBOL_SPLIT_PARAM
protected final String SYMBOL_SPLIT_COOKIES
protected String protocol
protected String host
protected int port
protected String path
protected RequestType requestType
protected Entry<MessageType,Object> body
protected String requestCharsetname
protected String responseCharsetname
protected HashMap<Integer,HashSet<MessageType>> responseContentTypeMap
protected HashSet<com.alibaba.fastjson.JSONObject> assertRuleSet
protected HashSet<com.alibaba.fastjson.JSONObject> extractRuleSet
protected ArrayList<BeforeInterfaceOperation> beforeOperationList
public String getProtocol()
public void setProtocol(String protocol)
protocol
- url协议public String getHost()
public void setHost(String host)
host
- 接口的主机地址或域名public int getPort()
public void setPort(int port)
port
- 主机端口public String getPath()
public void setPath(String path)
path
- 接口的路径public void analysisUrl(String url)
方法将传入的url按如下的顺序进行识别:
注意:该方法亦可仅传入url的一部分,用于设置已存储的接口信息,但传入非主机内容时,需要带该参数的分隔符号, 否则传入的内容将会被识别为主机或域名(例如,仅传入ftp协议时,则传参必须是“ftp://”)
url
- 接口请求urlpublic RequestType getRequestType()
public void setRequestType(RequestType requestType)
requestType
- 接口的请求方式枚举public Map<String,String> getParamMap()
public boolean isEmptyParam()
public void addParams(Map<String,String> paramMap)
paramMap
- 请求参数集合public void addParam(String paramName, String paramValue)
paramName
- 参数名称paramValue
- 参数值public void addParam(String expression)
注意:表达式的判断的正则格式为“[\??]?\w+=\w*(&\w+=\w*)*”,若未按规则编写,则无法添加参数
expression
- 参数表达式public Map<String,String> clearParam()
public Entry<MessageType,Object> getBodyContent()
封装类类似于于键值对,键为报文类型,值为报文内容
public void setBody(String bodyText)
注意:报文格式自动识别可能存在错误,若不符合预期,可调用setBodyContent(MessageType, Object)
方法对请求报文类型进行设置
bodyText
- 接口的请求体public void setBodyContent(MessageType messageType, Object bodyObject)
messageType
- 请求体类型枚举bodyObject
- 请求体内容public void setFormBody(MessageType messageType, List<Entry<String,Object>> dataList)
注意:表单每一个元素为一个键值对类型
messageType
- 请求体类型枚举dataList
- 请求体内容InterfaceReadToolsException
- 当消息类型枚举不为表单格式或传入的表单值为错误的类型时,抛出的异常public Map<String,String> getRequestHeaderMap()
public boolean isEmptyHeader()
public void addRequestHeaderMap(Map<String,String> requestHeaderMap)
requestHeaderMap
- 请求头集合public void addRequestHeader(String headerName, String headerValue)
headerName
- 请求头名称headerValue
- 请求头值public Map<String,String> clearRequestHeaderMap()
public String getRequestCharsetname()
public void setRequestCharsetname(String requestCharsetname)
requestCharsetname
- 接口请求内容的字符集编码名称public String getResponseCharsetname()
public void setResponseCharsetname(String responseCharsetname)
responseCharsetname
- 接口响应内容的字符集编码名称public Set<MessageType> getResponseContentType(int status)
status
- 状态码public Set<Integer> getAllSaveState()
public void addResponseContentTypeSet(int state, MessageType... messageTypes)
格式允许添加多个,以应对在不同参数或不同响应状态下的情况
state
- 响应状态码messageTypes
- 响应内容格式数组public void addResponseContentType(int state, Collection<MessageType> messageTypes)
格式允许添加多个,以应对在不同参数或不同响应状态下的情况
state
- 响应状态码messageTypes
- 响应内容格式集合public Set<MessageType> clearResponseContentType(int status)
status
- 状态码public void addAssertRule(String assertRuleJsonText)
注意:
AssertResponse.JSON_ASSERT_ASSERT_REGEX
字段,否则将不进行存储assertRuleJsonText
- 断言规则jsonpublic void addAssertRule(Map<String,String> assertRuleMap)
注意:集合必须包含AssertResponse.JSON_ASSERT_ASSERT_REGEX
字段,否则将不进行存储
assertRuleMap
- 断言规则集合public void addAllAssertRule(Collection<String> rules)
注意:集合必须包含AssertResponse.JSON_ASSERT_ASSERT_REGEX
字段,否则将不进行存储
rules
- 断言规则json集合public Set<String> getAssertRuleJson()
json字段可参考AssertResponse
中“JSON_ASSERT_XXX”常量
public Set<String> clearAssertRuleJson()
public void addExtractRule(String extractRuleJsonText)
注意:
ExtractResponse.JSON_EXTRACT_SAVE_NAME
字段,否则将不进行存储extractRuleJsonText
- 提词规则json文本public void addExtractRule(Map<String,String> extractRuleMap)
注意:集合必须包含ExtractResponse.JSON_EXTRACT_SAVE_NAME
字段,否则将不进行存储
extractRuleMap
- 提词规则集合public void addAllExtractRule(Collection<String> rules)
注意:集合必须包含ExtractResponse.JSON_EXTRACT_SAVE_NAME
字段,否则将不进行存储
rules
- 提词规则json集合public Set<String> getExtractRuleJson()
json字段可参考ExtractResponse
中“JSON_EXTRACT_XXX”常量
public Set<String> clearExtractRuleJson()
public void addBeforeOperation(BeforeInterfaceOperation operation)
operation
- 前置操作封装类对象public void addAllBeforeOperation(Collection<BeforeInterfaceOperation> operations)
operations
- 前置操作封装类集合public List<BeforeInterfaceOperation> getBeforeOperationList()
public List<BeforeInterfaceOperation> clearBeforeOperation()
public Map<String,String> getCookieMap()
public String getCookieExpression()
public boolean isEmptyCookie()
public void addCookies(Map<String,String> cookiesMap)
cookiesMap
- cookies集合public void addCookie(String cookieName, String cookieValue)
cookieName
- cookie参数名称cookieValue
- cookie参数值public void addCookie(String expression)
注意:表达式的判断的正则格式为“\w+=\w*(;\w+=\w*)*”,若未按规则编写,则无法添加参数
expression
- 参数表达式public Map<String,String> clearCookies()
public void setConnectTime(long connectTime, TimeUnit timeUnit)
connectTime
- 接口超时时间timeUnit
- 时间单位枚举public void setConnectTime(String timeExpression)
传入的时间块单位可参考TimeUnit
中每个枚举对应的正则判断,其传入的时间块表达式案例如下:
注意:建议不要使用月和年为单位,其单位为取近似值,在计算时可能不准确;时间块表达式不允许传入负号,传入的每个时间块只做加法处理
timeExpression
- 时间块表达式public Entry<Long,TimeUnit> getConnectTime()
public InterfaceInfo clone()
public boolean equals(Object obj)
public String toUrlString()
Copyright © 2024. All rights reserved.