8.接口自动化-RequestLibrary库的介绍与示例讲解

一、Requests关键字介绍

Check Compatibility
语法: urllib3_version | chardet_version
关键字说明:校验当前使用的urllib3的版本和chartdet的版本

Get
语法: url | data=None | **kwargs
关键字说明:发送一个GET请求

Post
语法: url | data=None | json=None | **kwargs
关键字说明:发送一个POST请求

Put
语法: url | data=None | **kwargs
关键字说明:发送一个PUT请求

Patch
语法: url | data=None | **kwargs
关键字说明:发送一个PATCH请求

Option
语法: url | **kwargs
关键字说明:发送一个OPTION请求

Delete
语法: url | **kwargs
关键字说明:发送一个DELETE请求

Head
语法: url | **kwargs
关键字说明:发送一个HEAD请求

Requets
语法: method | url | **kwargs
关键字说明:构造和发送:类:“请求<请求>”
:param方法:new:class: ' Request '对象的方法。
:param url:新的:class: ' Request '对象的url。
:param params:(可选)字典或字节要发送到查询字符串:类:' Request '。
:param data:(可选)字典或元组列表[(键,值)](将是表单编码的),字节,或类:' Request '体中发送的类类对象。
:param json:(可选)一个json可序列化的Python对象,发送到:类:' Request '的主体中。
:param标头:(可选)HTTP标头字典与:class: ' Request '一起发送。
:param cookie:(可选的)Dict或CookieJar对象与:class: ' Request '一起发送。
:param files:(可选)'name'字典:类文件对象(或{'name': file-tuple}),用于多部分编码上传。file-tuple可以是一个2-tuple ('filename', fileobj), 3-tuple ('filename', fileobj, 'content_type'),或一个4-tuple ('filename', fileobj, 'content_type', custom_headers '),其中'content-type'是一个字符串,定义了给定文件的内容类型,custom_headers是一个类似于dict的对象,包含额外的头文件添加。
:param auth:(可选)auth元组,以启用基本/摘要/自定义HTTP auth。
:param timeout:(可选)在放弃之前等待服务器发送数据的时间是多少秒,作为浮点数,或者a:ref: '(连接超时,读取超时) ' tuple。:类型timeout: float或tuple:param allow_redirection:(可选)布尔值。启用/禁用GET /选项/ POST / PUT /补丁/删除/头重定向。默认值为True。类型allow_redirect: bool:param proxy:(可选)字典映射协议到代理的URL。
:param verify:(可选的)要么是一个布尔值,在这种情况下,它控制我们是否验证服务器的TLS证书,要么是一个字符串,在这种情况下,它必须是一个CA bundle的路径来使用。默认值为True。参数流:(可选)如果为False,响应内容将立即下载。
:param cert:(可选)if字符串,路径到ssl客户端cert文件(.pem)。如果Tuple ('cert', 'key')对。:返回::类:' Response '对象:rtype: request .Response

例如:
>>> import requests
>>> req = requests.request('GET', 'http://www.baidu.com')

Session

语法:

关键字说明:返回用于上下文管理的:class: ' Session '。

二、RequestLibrary关键字介绍

Create Ntlm Session
语法:alias, url, auth, headers={}, cookies=None, timeout=None, proxies=None, verify=False
关键字说明:
创建一个HTTP会话:
url:即服务器的url
alias:使用Robot Framework的别名表示当前会话。
header:使用默认的headers字段
auth:NTLM鉴权需用[‘domain’,’username’,’password’]格式
timeout:会话超时时长
proxies:代理服务器的url
verify:如果需要证书请求则置为true

Create Session
语法: alias | url | headers={} | cookies=None | auth=None | timeout=None | proxies=None | verify=False | debug=0 | max_retries=3 | backoff_factor=0.1 | disable_warnings=0
关键字说明:
Create Session:为服务器创建一个HTTP会话服务器的
Alias:robotframework框架来标识会话
url:服务器的url地址
headers:默认标题字典类型
auth::HTTP基本身份验证的用户名和密码列表
Verify:是否验证SSL证书。还可以提供CA_BUNDLE路径。默认值为False
Debug:调试允许http verbosity选项更多信息https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel
max_retry:每个连接应该尝试的最大重试次数。每次重试之间的停顿
disable_warnings禁用请求警告,在您有大量测试用例时非常有用

Get Request
语法: alias, uri, headers=None, params={}, allow_redirects=None
关键字说明:根据提供的别名查找会话并在会话中发送GET请求

Post Request
语法: alias, uri, headers=None, params={}, allow_redirects=None
关键字说明:根据提供的别名查找会话并在会话中发送POST请求

Head Request
语法:alias, uri, headers=None, allow_redirects=None
关键字说明: 根据提供的别名查找会话并在会话中发送HEAD请求

Option Request
语法: alias, uri, headers=None, allow_redirects=None
关键字说明: 根据提供的别名查找会话并在会话中发送OPTION请求

Delete Request
语法: alias, uri, data=(), headers=None, allow_redirects=None
关键字说明: 根据提供的别名查找会话并在会话中发送DELETE请求

To Json
语法:content, pretty_print=False
关键字说明:将返回的数据转换为JSON格式

Delete All Sessions
语法:
关键字说明:删除全部的会话

Delete
语法:alias, uri, data=(), headers=None, allow_redirects=None
关键字说明:弃用,查看delete request

Get
语法:alias, uri, headers=None, params={}, allow_redirects=None
关键字说明:弃用,查看delete request

Head
语法: alias, uri, headers=None, allow_redirects=None
关键字说明:弃用,查看head request

Option
语法: alias, uri, headers=None, allow_redirects=None
关键字说明:弃用,查看option request

Post
语法: alias, uri, data={}, headers=None, files={}, allow_redirects=None
关键字说明:弃用,查看post request

Create Session和Create Ntlm Session区别
Create Session: 创建一个 session, 连接某个服务器  Create Ntlm Session: 也是创建一个 session , 只不过加上了域名、用户名、密码用于 NTLM 认证

 

三、示例讲解

使用Requests库中的GET请求示例

 

使用RequestLibrary库中的POST请求示例

使用RequestLibrary库中的POST请求示例

使用RequestLibrary库中的Delete请求示例 

使用RequestLibrary库中的PUT请求示例 

 

posted on 2020-06-12 14:08  走路带风的帅界扛把子  阅读(656)  评论(0编辑  收藏  举报