Skip navigation links
com.auxiliary.http

Class InterfaceInfo

    • Field Detail

      • DEFAULT_PROTOCOL

        public static final String DEFAULT_PROTOCOL
        定义默认接口协议
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • DEFAULT_PORT

        public static final int DEFAULT_PORT
        定义默认主机端口
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • DEFAULT_REQUESTTYPE

        public static final RequestType DEFAULT_REQUESTTYPE
        定义接口默认请求方式
        Since:
        autest 3.3.0
      • DEFAULT_CHARSETNAME

        public static final String DEFAULT_CHARSETNAME
        定义响应内容默认字符集
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • DEFAULT_CONNECT_TIME

        public static final Entry<Long,TimeUnit> DEFAULT_CONNECT_TIME
        定义默认接口请求超时时间
        Since:
        autest 4.4.0
      • SYMBOL_SPLIT_PROTOCOL

        protected final String SYMBOL_SPLIT_PROTOCOL
        定义接口主机与协议间分隔的符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_PORT

        protected final String SYMBOL_SPLIT_PORT
        定义接口主机与主机间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_PATH

        protected final String SYMBOL_SPLIT_PATH
        定义接口路径与接口主机间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_START_PARAM

        protected final String SYMBOL_SPLIT_START_PARAM
        定义接口起始参数与接口路径间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_PARAM_VALUE

        protected final String SYMBOL_SPLIT_PARAM_VALUE
        定义接口参数键值之间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_COOKIES_VALUE

        protected final String SYMBOL_SPLIT_COOKIES_VALUE
        定义cookies键值之间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_PARAM

        protected final String SYMBOL_SPLIT_PARAM
        定义接口参数与参数间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • SYMBOL_SPLIT_COOKIES

        protected final String SYMBOL_SPLIT_COOKIES
        定义cookies间的分隔符号
        Since:
        autest 3.3.0
        See Also:
        Constant Field Values
      • protocol

        protected String protocol
        接口协议
        Since:
        autest 3.3.0
      • host

        protected String host
        主机
        Since:
        autest 3.3.0
      • port

        protected int port
        主机端口号
        Since:
        autest 3.3.0
      • path

        protected String path
        接口地址
      • requestType

        protected RequestType requestType
        请求类型
        Since:
        autest 3.3.0
      • requestHeaderMap

        protected HashMap<String,String> requestHeaderMap
        接口请求头
        Since:
        autest 3.3.0
      • requestCharsetname

        protected String requestCharsetname
        接口请求体字符集
        Since:
        autest 4.5.0
      • responseCharsetname

        protected String responseCharsetname
        接口响应体字符集
        Since:
        autest 4.5.0
      • assertRuleSet

        protected HashSet<com.alibaba.fastjson.JSONObject> assertRuleSet
        接口响应报文断言规则集合
        Since:
        autest 3.3.0
      • extractRuleSet

        protected HashSet<com.alibaba.fastjson.JSONObject> extractRuleSet
        接口响应报文提词规则
        Since:
        autest 3.3.0
      • connectTime

        protected Entry<Long,TimeUnit> connectTime
        存储接口的请求时间
        Since:
        autest 3.3.0
    • Constructor Detail

      • InterfaceInfo

        public InterfaceInfo()
    • Method Detail

      • getProtocol

        public String getProtocol()
        该方法用于返回接口的url协议
        Returns:
        url协议
        Since:
        autest 3.3.0
      • setProtocol

        public void setProtocol(String protocol)
        该方法用于接口的url协议
        Parameters:
        protocol - url协议
        Since:
        autest 3.3.0
      • getHost

        public String getHost()
        该方法用于返回接口的主机地址或域名
        Returns:
        主机地址或域名
        Since:
        autest 3.3.0
      • setHost

        public void setHost(String host)
        该方法用于设置接口的主机地址或域名
        Parameters:
        host - 接口的主机地址或域名
        Since:
        autest 3.3.0
      • getPort

        public int getPort()
        该方法用于返回主机端口
        Returns:
        主机端口
        Since:
        autest 3.3.0
      • setPort

        public void setPort(int port)
        该方法用于设置主机端口
        Parameters:
        port - 主机端口
        Since:
        autest 3.3.0
      • getPath

        public String getPath()
        该方法用于返回接口的路径
        Returns:
        接口的路径
        Since:
        autest 3.3.0
      • setPath

        public void setPath(String path)
        该方法用于设置接口的路径,可传入空串,表示无接口路径
        Parameters:
        path - 接口的路径
        Since:
        autest 3.3.0
      • analysisUrl

        public void analysisUrl(String url)
        该方法用于解析传入的url,并根据url的分隔规则,将接口信息进行识别,并存入到相应的参数中

        方法将传入的url按如下的顺序进行识别:

        1. 当识别到“?”符号时,则将其后的内容识别为参数表达式存储至参数列表中
        2. 当识别到“://”符号时,则将其前的数据识别为协议
        3. 当识别到“/”符号时,则将其后的内容识别为接口地址
        4. 当识别到“:”符号,则将其后的内容识别为端口号
        5. 识别完上述内容后,则将剩余的字符串识别为主机IP或域名

        注意:该方法亦可仅传入url的一部分,用于设置已存储的接口信息,但传入非主机内容时,需要带该参数的分隔符号, 否则传入的内容将会被识别为主机或域名(例如,仅传入ftp协议时,则传参必须是“ftp://”)

        Parameters:
        url - 接口请求url
        Since:
        autest 3.3.0
      • getRequestType

        public RequestType getRequestType()
        该方法用于返回接口的请求方式枚举
        Returns:
        请求方式枚举
        Since:
        autest 3.3.0
      • setRequestType

        public void setRequestType(RequestType requestType)
        该方法用于设置接口的请求方式枚举
        Parameters:
        requestType - 接口的请求方式枚举
        Since:
        autest 3.3.0
      • getParamMap

        public Map<String,String> getParamMap()
        该方法用于返回接口的请求参数(传参)
        Returns:
        接口的请求参数
        Since:
        autest 3.3.0
      • isEmptyParam

        public boolean isEmptyParam()
        该方法用于返回是否存在参数数据
        Returns:
        是否存在参数数据
        Since:
        autest 3.6.0
      • addParams

        public void addParams(Map<String,String> paramMap)
        该方法用于添加一组请求参数(传参)
        Parameters:
        paramMap - 请求参数集合
        Since:
        autest 3.3.0
      • addParam

        public void addParam(String paramName,
                             String paramValue)
        该方法用于添加单个请求参数(传参)
        Parameters:
        paramName - 参数名称
        paramValue - 参数值
        Since:
        autest 3.3.0
      • addParam

        public void addParam(String expression)
        该方法用于根据url传入参数的表达式格式,向接口中添加参数

        注意:表达式的判断的正则格式为“[\??]?\w+=\w*(&\w+=\w*)*”,若未按规则编写,则无法添加参数

        Parameters:
        expression - 参数表达式
        Since:
        autest 3.3.0
      • clearParam

        public Map<String,String> clearParam()
        该方法用于清空存储的所有参数内容
        Returns:
        原有的参数内容
        Since:
        autest 3.4.0
      • getBodyContent

        public Entry<MessageType,Object> getBodyContent()
        该方法用于返回接口的请求报文与请求报文类型封装类

        封装类类似于于键值对,键为报文类型,值为报文内容

        Returns:
        接口的请求报文与请求报文类型封装类
        Since:
        autest 3.4.0
      • setBody

        public void setBody(String bodyText)
        该方法用于设置接口的请求体,根据报文的内容,自动设置相应的报文类型

        注意:报文格式自动识别可能存在错误,若不符合预期,可调用setBodyContent(MessageType, Object)方法对请求报文类型进行设置

        Parameters:
        bodyText - 接口的请求体
        Since:
        autest 3.3.0
      • setBodyContent

        public void setBodyContent(MessageType messageType,
                                   Object bodyObject)
        该方法用于设置请求体以及请求体的类型
        Parameters:
        messageType - 请求体类型枚举
        bodyObject - 请求体内容
        Since:
        autest 3.4.0
      • setFormBody

        public void setFormBody(MessageType messageType,
                                List<Entry<String,Object>> dataList)
        该方法用于设置表单格式类型的请求体

        注意:表单每一个元素为一个键值对类型

        Parameters:
        messageType - 请求体类型枚举
        dataList - 请求体内容
        Throws:
        InterfaceReadToolsException - 当消息类型枚举不为表单格式或传入的表单值为错误的类型时,抛出的异常
        Since:
        autest 3.6.0
      • getRequestHeaderMap

        public Map<String,String> getRequestHeaderMap()
        该方法用于返回接口的请求头
        Returns:
        接口的请求头
        Since:
        autest 3.3.0
      • isEmptyHeader

        public boolean isEmptyHeader()
        该方法用于返回是否存在请求头数据
        Returns:
        是否存在请求头
        Since:
        autest 3.6.0
      • addRequestHeaderMap

        public void addRequestHeaderMap(Map<String,String> requestHeaderMap)
        该方法用于添加一组请求头
        Parameters:
        requestHeaderMap - 请求头集合
        Since:
        autest 3.3.0
      • addRequestHeader

        public void addRequestHeader(String headerName,
                                     String headerValue)
        该方法用于添加单个请求头
        Parameters:
        headerName - 请求头名称
        headerValue - 请求头值
        Since:
        autest 3.3.0
      • clearRequestHeaderMap

        public Map<String,String> clearRequestHeaderMap()
        该方法用于清空存储的所有请求头内容
        Returns:
        原有的请求头内容
        Since:
        autest 3.4.0
      • getRequestCharsetname

        public String getRequestCharsetname()
        该方法用于返回接口请求响应内容的字符集编码名称,若未设置响应体字符集编码,则默认为“UTF-8”编码
        Returns:
        接口请求内容的字符集编码名称
        Since:
        autest 4.5.0
      • setRequestCharsetname

        public void setRequestCharsetname(String requestCharsetname)
        该方法用于设置接口请求内容的字符集编码名称
        Parameters:
        requestCharsetname - 接口请求内容的字符集编码名称
        Since:
        autest 4.5.0
      • getResponseCharsetname

        public String getResponseCharsetname()
        该方法用于返回接口响应内容的字符集编码名称,若未设置响应体字符集编码,则默认为“UTF-8”编码
        Returns:
        接口响应内容的字符集编码名称
        Since:
        autest 4.5.0
      • setResponseCharsetname

        public void setResponseCharsetname(String responseCharsetname)
        该方法用于设置接口响应内容的字符集编码名称
        Parameters:
        responseCharsetname - 接口响应内容的字符集编码名称
        Since:
        autest 4.5.0
      • getResponseContentType

        public Set<MessageType> getResponseContentType(int status)
        该方法用于返回接口响应内容的格式枚举,当状态码不存在时,则返回空集合
        Parameters:
        status - 状态码
        Returns:
        接口响应内容的格式枚举
        Since:
        autest 3.3.0
      • getAllSaveState

        public Set<Integer> getAllSaveState()
        该方法用于返回已存储响应报文格式的响应状态码集合
        Returns:
        响应状态码集合
        Since:
        autest 3.3.0
      • addResponseContentTypeSet

        public void addResponseContentTypeSet(int state,
                                              MessageType... messageTypes)
        该方法用于添加接口响应体内容的格式

        格式允许添加多个,以应对在不同参数或不同响应状态下的情况

        Parameters:
        state - 响应状态码
        messageTypes - 响应内容格式数组
        Since:
        autest 3.3.0
      • addResponseContentType

        public void addResponseContentType(int state,
                                           Collection<MessageType> messageTypes)
        该方法用于添加接口响应体内容的格式

        格式允许添加多个,以应对在不同参数或不同响应状态下的情况

        Parameters:
        state - 响应状态码
        messageTypes - 响应内容格式集合
        Since:
        autest 4.4.0
      • clearResponseContentType

        public Set<MessageType> clearResponseContentType(int status)
        该方法用于移除指定状态码的响应体内容
        Parameters:
        status - 状态码
        Returns:
        状态码对应的原内容
        Since:
        autest 3.4.0
      • addAssertRule

        public void addAssertRule(String assertRuleJsonText)
        该方法用于添加断言规则json

        注意:

        1. 传入的json为空或不符合json格式时,将不进行存储
        2. json必须包含AssertResponse.JSON_ASSERT_ASSERT_REGEX字段,否则将不进行存储

        Parameters:
        assertRuleJsonText - 断言规则json
        Since:
        autest 3.3.0
      • addAssertRule

        public void addAssertRule(Map<String,String> assertRuleMap)
        该方法用于添加断言规则集合

        注意:集合必须包含AssertResponse.JSON_ASSERT_ASSERT_REGEX字段,否则将不进行存储

        Parameters:
        assertRuleMap - 断言规则集合
        Since:
        autest 3.3.0
      • addAllAssertRule

        public void addAllAssertRule(Collection<String> rules)
        该方法用于添加多组断言规则json

        注意:集合必须包含AssertResponse.JSON_ASSERT_ASSERT_REGEX字段,否则将不进行存储

        Parameters:
        rules - 断言规则json集合
        Since:
        autest 3.3.0
      • getAssertRuleJson

        public Set<String> getAssertRuleJson()
        该方法用于以字符串集合的形式,返回断言规则json

        json字段可参考AssertResponse中“JSON_ASSERT_XXX”常量

        Returns:
        断言规则json集合
        Since:
        autest 3.3.0
      • clearAssertRuleJson

        public Set<String> clearAssertRuleJson()
        该方法用于清空并返回存储的断言规则集合
        Returns:
        断言规则集合
        Since:
        autest 3.4.0
      • addExtractRule

        public void addExtractRule(String extractRuleJsonText)
        该方法用于存储提词规则

        注意:

        1. 传入的json为空或不符合json格式时,将不进行存储
        2. json必须包含ExtractResponse.JSON_EXTRACT_SAVE_NAME字段,否则将不进行存储

        Parameters:
        extractRuleJsonText - 提词规则json文本
        Since:
        autest 3.3.0
      • addExtractRule

        public void addExtractRule(Map<String,String> extractRuleMap)
        该方法用于添加提词规则

        注意:集合必须包含ExtractResponse.JSON_EXTRACT_SAVE_NAME字段,否则将不进行存储

        Parameters:
        extractRuleMap - 提词规则集合
        Since:
        autest 3.3.0
      • addAllExtractRule

        public void addAllExtractRule(Collection<String> rules)
        该方法用于添加多组提词规则json

        注意:集合必须包含ExtractResponse.JSON_EXTRACT_SAVE_NAME字段,否则将不进行存储

        Parameters:
        rules - 提词规则json集合
        Since:
        autest 3.3.0
      • getExtractRuleJson

        public Set<String> getExtractRuleJson()
        该方法用于以字符串集合的形式,返回提词规则json

        json字段可参考ExtractResponse中“JSON_EXTRACT_XXX”常量

        Returns:
        提词规则json集合
        Since:
        autest 3.3.0
      • clearExtractRuleJson

        public Set<String> clearExtractRuleJson()
        该方法用于清空并返回存储的提词规则集合
        Returns:
        提词规则集合
        Since:
        autest 3.4.0
      • addBeforeOperation

        public void addBeforeOperation(BeforeInterfaceOperation operation)
        该方法用于添加前置操作方法
        Parameters:
        operation - 前置操作封装类对象
        Since:
        autest 3.6.0
      • addAllBeforeOperation

        public void addAllBeforeOperation(Collection<BeforeInterfaceOperation> operations)
        该方法用于添加一组前置操作方法
        Parameters:
        operations - 前置操作封装类集合
        Since:
        autest 3.6.0
      • getBeforeOperationList

        public List<BeforeInterfaceOperation> getBeforeOperationList()
        该方法用于返回添加的所有前置执行操作
        Returns:
        前置操作封装类集合
        Since:
        autest 3.6.0
      • clearBeforeOperation

        public List<BeforeInterfaceOperation> clearBeforeOperation()
        该方法用于清除添加的前置操作
        Returns:
        前置操作封装类集合
        Since:
        autest 3.6.0
      • getCookieMap

        public Map<String,String> getCookieMap()
        该方法用于返回接口的需要设置的cookies
        Returns:
        cookies
        Since:
        autest 3.6.0
      • getCookieExpression

        public String getCookieExpression()
        该方法用于返回已存储的Cookie的表达式,即以“xxx=xxx;xxx=xxx”的格式返回Cookie字符串
        Returns:
        Cookie的表达式
        Since:
        autest 3.6.0
      • isEmptyCookie

        public boolean isEmptyCookie()
        该方法用于返回是否存在cookie数据
        Returns:
        是否存在cookie数据
        Since:
        autest 3.6.0
      • addCookies

        public void addCookies(Map<String,String> cookiesMap)
        该方法用于添加一组需要设置的cookies
        Parameters:
        cookiesMap - cookies集合
        Since:
        autest 3.6.0
      • addCookie

        public void addCookie(String cookieName,
                              String cookieValue)
        该方法用于添加单个需要设置的cookie
        Parameters:
        cookieName - cookie参数名称
        cookieValue - cookie参数值
        Since:
        autest 3.6.0
      • addCookie

        public void addCookie(String expression)
        该方法用于根据url传入参数的表达式格式,向接口中添加参数

        注意:表达式的判断的正则格式为“\w+=\w*(;\w+=\w*)*”,若未按规则编写,则无法添加参数

        Parameters:
        expression - 参数表达式
        Since:
        autest 3.6.0
      • clearCookies

        public Map<String,String> clearCookies()
        该方法用于清空存储的所有cookie内容
        Returns:
        原有的cookie内容
        Since:
        autest 3.6.0
      • setConnectTime

        public void setConnectTime(long connectTime,
                                   TimeUnit timeUnit)
        该方法用于设置接口的连接超时时间
        Parameters:
        connectTime - 接口超时时间
        timeUnit - 时间单位枚举
        Since:
        autest 3.6.0
      • setConnectTime

        public void setConnectTime(String timeExpression)
        该方法用于通过传入时间块表达式,设置接口的超时时间

        传入的时间块单位可参考TimeUnit中每个枚举对应的正则判断,其传入的时间块表达式案例如下:

        • 传入“1min”表示设置接口超时时间为1分钟
        • 传入“1.5H”表示设置接口超时时间为1小时30分钟
        • 传入“1min30s”表示设置接口超时时间为1分30秒

        注意:建议不要使用月和年为单位,其单位为取近似值,在计算时可能不准确;时间块表达式不允许传入负号,传入的每个时间块只做加法处理

        Parameters:
        timeExpression - 时间块表达式
        Since:
        autest 3.6.0
      • getConnectTime

        public Entry<Long,TimeUnit> getConnectTime()
        该方法用于返回当前接口设置的请求超时时间
        Returns:
        接口请求超时时间
        Since:
        autest 3.6.0
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public boolean equals(Object obj)
        判断接口信息是否一致,其依据协议、主机(域名)、端口、接口路径、参数与请求体参数进行判断,当这些参数一致时,则认为是同一个接口
        Overrides:
        equals in class Object
        Parameters:
        obj - 需对比的类
        Returns:
        判断结果
      • toUrlString

        public String toUrlString()
        该方法用于返回请求接口的完整url内容
        Returns:
        接口url内容
        Since:
        autest 3.3.0

Copyright © 2024. All rights reserved.