5.2RobotFramework接口自动化(二)--post request json+token提取

以一体化项目为例,进行接口测试。每个接口的请求头都需要token信息,token在用户登录时生成,且会不断的变化更新,因此提取token是实现接口自动化的第一步。

 

测试用例的编写及token基本获取如下:

 5.2RobotFramework接口自动化(二)--post request json+token提取_第1张图片

对应的TextEdit

*** Test Cases *** 获取token    

Create session    loginsession    https:/#######:443    

${header}    create dictionary    content-type=application/json    

${postdata}    set variable    {"email":"######","password":"#####","app":"i######"}    

${respdata}    Post Request    loginsession    /apps/#####/login    headers=${header}    data=${postdata}    

${responsejson}    to json    ${respdata.content}    

${data}    get from dictionary    ${responsejson}    data    

${gettoken}    get from dictionary    ${data}    token

 

踩过的一些坑

1.创建session时,ip/服务器前面要加上请求协议http/https等

2.关键字【蓝色字体】含有多个单词时,单词与单词之间只能留一个空格

3.post request一般要包含IP、路径、header、post data【请求参数】

4.当请求参数为json字符串时,通过设置变量值,后续在使用。

5.响应参数注意获取逻辑:

A:通过post request 得到的是请求的返回码,如200,500,400等等;这里的respdata就是返回的状态码

B:to json是将响应中的字符串转换成json格式,作用的对象是字符串!respdata.content表示的是响应内容,转换为json格式之后的结果存在变量responsejson中;【你也可以先用一个变量存放respdata.content,再将该变量转换为json格式】

C:get from dictionary从json字符串中找到data并提取,存入变量data中;这两个data没啥关系==,只是我需要的token在json字符串的data里面

D:最后从data里面提取token;与C类似。【注意,必须先提取data再提取token,从dictionary里面只能从最外层开始找数据】

5.2RobotFramework接口自动化(二)--post request json+token提取_第2张图片

你可能感兴趣的:(RobotFramework)