以一体化项目为例,进行接口测试。每个接口的请求头都需要token信息,token在用户登录时生成,且会不断的变化更新,因此提取token是实现接口自动化的第一步。
对应的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里面只能从最外层开始找数据】