类:HttpUtilities
方法:setKeepAlive
定义:def setKeepAlive(flag)
设置底层 HTTP 客户端引擎在发送请求时使用长连接还是短连接,默认使用长连接,flag 为 True 或者 False。
示例:
# 强制HTTP客户端引擎使用短连接,每次循环之后关闭连接
PTS.HttpUtilities.setKeepAlive(False)
方法:setUrlEncoding
定义:def setUrlEncoding(code)
设置底层 HTTP 客户端引擎在发送请求时使用的 URL 编码方式,默认使用 GBK 编码。如果您的 URL 已经经过 URL 编码,则修改设置无效。
示例:
# 使用UTF-8来进行URL编码
PTS.HttpUtilities.setUrlEncoding('UTF-8')
方法:setTimeout
定义:def setTimeout(time)
设置底层 HTTP 客户端引擎控制 HTTP 请求的 Connection 和 reading Response 超时时间,时间单位为毫秒。
示例:
# 设置超时时间120000毫秒
PTS.HttpUtilities. setTimeout (120000)
方法:setFollowRedirects
定义:def setFollowRedirects(flag)
设置底层 HTTP 客户端引擎针对类似 302 这样的跳转响应的处理方式。如果设置成 True,则引擎会自动跟随跳转内容进行继续请求,否则不再跟随。按照模板编写和手工编写引擎默认为 True,录制下来的脚本引擎默认为 False。
示例:
# 跟随跳转请求
PTS.HttpUtilities.setFollowRedirects(True)
方法:valueFromCookie
定义:def valueFromCookie(cookieName, threadContext=None)
获取 Cookie 管理器中 cookieName 对应的值。当 HTTP 响应返回使用 SET-COOKIE 来设置 Cookie 时,这些 Cookie 会自动存储到 Cookie 管理器。
示例:
# 获取Cookie管理器中名字为JSESSIONID的Cookie值
PTS.HttpUtilities.valueFromCookie('JESSIONID')
# 获取Cookie管理器中名字为JSESSIONID的Cookie值(仅在当前线程中查找)
PTS.HttpUtilities.valueFromCookie('JESSIONID', self.threadContext)
方法:valueFromHeader
定义:def valueFromHeader(header)
获取 HTTP 响应中 Header 名为 header 的值。
示例:
# 获取HTTP响应中Header名为Location的值
PTS.HttpUtilities.valueFromHeader('Location')
方法:valueFromBodyInput
定义:def valueFromBodyInput(tokenName)
获取 HTTP 响应中标签名 tokenName 的 input 的值。
示例:
# 获取HTTP响应表单中input名称为username的控件值
PTS.HttpUtilities.valueFromBodyInput('username')
方法:valueFromHiddenInput
定义:def valueFromHiddenInput(tokenName)
获取 HTTP 响应中标签名为 tokenName 的隐藏控件的值。
方法:valueFromTextBetween
定义:def valueFromTextBetween(text, left, right)
获取 text 中被 left 和 right 字符串包围的中间字符串,如果有多个匹配则返回第一个。
示例:
<html> ……<body>……<img token=’tb_token’>KDJAK</img></body></html>
比如上面这段HTML代码,调用下面这个方法会返回”KDJAK”
# 返回KDJAK
PTS.HttpUtilities.valueFromTextBetween(text, "'tb_token'>;", "<;")
方法:valuesFromTextBetween
定义:def valuesFromTextBetween(text, left, right)
功能和 valueFromTextBetween 类似,返回被 left 和 right 包围的字符串列表。
示例:
<xml><cars><car name=”VW”/> <car name=”BMW”/> <car name=”BENZ”/> </cars></xml>
比如上面这段xml代码,调用下面这个方法会返回:[“VW”, “BMW”, “BENZ”]
PTS.HttpUtilities.valuesFromTextBetween(text, "name=\"", "\"")
方法:valueFromBodyBetween
定义:def valueFromBodyBetween(left,right)
获取 HTTP 响应中被 left 和 right 字符串包围的中间字符串,如果有多个匹配则返回第一个。
示例:
<html> ……<body>……<img token=’tb_token’>KDJAK</img></body></html>
比如上面这段HTML代码,调用下面这个方法会返回”KDJAK”
# 返回KDJAK
PTS.HttpUtilities.valueFromBodyBetween("'tb_token'>;", "<;")
方法:valuesFromBodyBetween
定义:def valuesFromBodyBetween(left, right)
功能和 valueFromBodyBetween 类似,返回被 left 和 right 包围的字符串列表。
示例:
<xml><cars><car name=”VW”/> <car name=”BMW”/> <car name=”BENZ”/> </cars></xml>
比如上面这段xml代码,调用下面这个方法会返回:[“VW”, “BMW”, “BENZ”]
PTS.HttpUtilities.valuesFromBodyBetween("name=\"", "\"")
方法:setProxyServer
定义:def setProxyServer(ip, port)
设置底层 HTTP 引擎使用 IP 为 ip,端口为 port 的代理进行请求。
示例:
PTS.HttpUtilities.setProxyServer('localhost', 8888)
方法:setUseCookieModule
定义:def setUseCookieModule(flag)
设置脚本中是否使用 CookieModule 来进行 cookie 管理,默认使用。如果想在 HTTP 的 header 里自己设置 Cookie,则需要通过调用这个方法来将 CookieModule 禁用。
示例:
PTS.HttpUtilities.setUseCookieModule(False)
方法:checkResponse
定义:def checkResponse(code, expectedText=None)
对 HTTP 响应进行脚本,返回码是否为 code,响应 body 里面是否包含 expectedText。只有当返回码符合且 expectedText 存在时返回 True。当 expectedText 为 None 时(可以不传入该参数),不进行文本校验。
示例:
# 当响应返回码为200,且返回body包含test则返回True
PTS.HttpUtilities.checkResponse(200, "test")
# 当响应返回码为200,且返回body包含有中文"测试"且返回True
PTS.HttpUtilities.checkResponse(200, u"测试")
方法:checkResponseByRegex
定义:def checkResponseByRegex(code, expectedPattern=None)
对 HTTP 响应进行脚本,返回码是否为 code,响应 body 里面是否包含 expectedPattern 这样的正则字符串。只有当返回码符合且 expectedPattern 能够匹配时,返回 True。当 expectedPattern 为 None 时(可以不传入该参数),不进行文本校验。
示例:
# 当响应返回码为200,且返回body包含IP地址则返回True
PTS.HttpUtilities.checkResponseByRegex(200, "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。