目录
- 1.1 requestsLibrary,requests安装
- 1.2 requestsLibrary关键字
- 1.3 测试案例
- 1.3.1 get request json
- 1.3.2 get request xml
- 1.3.3 增加登录态
- 1.3.4 post request
1.1 requestsLibrary,requests安装
requests的官方下载地址:https://pypi.python.org/pypi/requests
requestsLibrary的官方下载地址: https://pypi.python.org/pypi/robotframework-requests
下载tar.gz解压安装即可。
1.2 requestsLibrary关键字
关键字 | 释义 |
---|
Create Session | 创建一个session连接某个服务器 |
Create Ntlm Session | 创建一个session连接某个服务器,加上了域,用户名,密码用于NTLM认证 |
Get Request | 通过Get方式发送请求 |
Post Request | 通过Post方式发送请求 |
Head Request | 发送一个head请求 |
To Json | 将文本转化成json对象 |
1.3 测试案例
1.3.1 get request json
| | | | 备注(非正式内容) |
---|
Creat Session | api | 发送请求的网址 | | 首先通过Creat Session创建一个连接到服务器的host |
${addr} | Get Request | api | users/1 | 发起请求,请求的返回是个Request对象${addr} |
Should Be Equal As String | ${addr.status_code} | 200 | | 断言 ${addr}这个对象的状态属性值 |
LOG | ${addr.content} | | | 获取${addr}这个对象的content |
${responsedata} | To Json | ${addr.content} | | 将content格式化成Json串,方便用Dictionary方法获取其中的值 |
${Keys} | Get Dictionary Keys | ${responsedata} | | Dictionary方法获取Keys,返回的是Keys组成的列表 |
${Values} | Get Dictionary Values | ${responsedata} | | Dictionary方法获取Values,返回的是Values组成的列表 |
${Items} | Get Dictionary Items | ${responsedata} | | Dictionary方法获取Items,返回的是Items组成的列表 |
${Str} | Get From Dictionary | ${responsedata} | Value对应的Key值 | 通过Key获取Value |
1.3.2 get request xml
| | | | | 备注(非正式内容) |
---|
${dict} | Creat Dictionary | accept=application/xml | | | 在Request的header添加accept=application/xml,表示接收的返回是xml格式 |
${addr} | Get Request | api | users/1 | ${dict} | 发起请求,请求的返回是个Request对象${addr} |
LOG | ${addr.content} | | | | 获取${addr}这个对象的content |
${responsedata} | Set Variable | ${addr.content} | | | |
${Body} | Get Element Text | ${responsedata} | [ source /xpath=. ] | | 调取xml库的关键字来获取xml节点的文本 |
${hello} | Get Element | ${responsedata} | [ source /xpath=. ] | | 返回元素 |
LOG | ${hello.text} | | | | 输出元素属性 |
${responsedata} | Add Element | ${responsedata} | test | | 在xml文件中添加内容 |
${new_id} | Add Element Attribute | ${responsedata} | id | | 获取属性id |
LOG | ${new_id} | | | | |
${a} | Element To String | ${responsedata} | | | 将获取的element转换成string |
Delete All Session | | | | | |
1.3.3 增加登录态
有些接口需要输入用户名,密码登录后才能访问的。因此在Create Session的时候加上用户名,密码就可以了。
| | | | 备注(非正式内容) |
---|
${auth} | Creat List | 用户名 | 密码 | |
Creat Session | api | 发送请求的网址 | auth= ${auth} | 首先通过Creat Session创建一个连接到服务器的host |
${addr} | Get Request | api | users/1 | 发起请求,请求的返回是个Request对象${addr} |
LOG | ${addr.content} | | | 获取${addr}这个对象的content |
${responsedata} | To Json | ${addr.content} | | 将content格式化成Json串,方便用Dictionary方法获取其中的值 |
${Keys} | Get Dictionary Keys | ${responsedata} | | Dictionary方法获取Keys,返回的是Keys组成的列表 |
${Values} | Get Dictionary Values | ${responsedata} | | Dictionary方法获取Values,返回的是Values组成的列表 |
${Items} | Get Dictionary Items | ${responsedata} | | Dictionary方法获取Items,返回的是Items组成的列表 |
${Str} | Get From Dictionary | ${responsedata} | Value对应的Key值 | 通过Key获取Value |
1.3.4 post request
post提交数据的方式是在header中添加一项“Content-Type=application/x-www-froom-urlencode”或者是“Content-Type=application/json"。Content-Type=application/x-www-froom-urlencode,POST请求时将data序列化,提交的数据会按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。
| | | | | 备注(非正式内容) |
---|
${dict} | Creat Dictionary | Content-Type=application/x-www-froom-urlencode | | | |
Creat Session | api | 发送请求的网址 | ${dict} | | 首先通过Creat Session创建一个连接到服务器的host |
${data} | Creat Dictionary | username=aaaa | password=bbb | | |
${addr} | Post Request | api | post | data=${data} | |
LOG | ${addr.content} | | | | 获取${addr}这个对象的content |
${responsedata} | To Json | ${addr.content} | | | 将content格式化成Json串,方便用Dictionary方法获取其中的值 |
${Keys} | Get Dictionary Keys | ${responsedata} | | | Dictionary方法获取Keys,返回的是Keys组成的列表 |
${Values} | Get Dictionary Values | ${responsedata} | | | Dictionary方法获取Values,返回的是Values组成的列表 |
${Items} | Get Dictionary Items | ${responsedata} | | | Dictionary方法获取Items,返回的是Items组成的列表 |
${Str} | Get From Dictionary | ${responsedata} | Value对应的Key值 | | 通过Key获取Value |