RF(接口自动化测试)

tech2024-10-15  2

1、在线下载 RequestsLibrary 测试库

pip install -U robotframework-requests  -i  https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

2、在 RobotFrameWork RIDE 工具中创建套件,在套件中导入 RequestsLibrary 库

3、常用关键字

4、请求 get 接口

${header} Create Dictionary YF-BID=zwy YF-JWT=eyJhbGciOiJIUz YF-UID=102299 YF-VER=1.0.0 #定义请求头 Create Session news https://apipc.xinqgj.com ${header} #创建 http 会话 ${res} Get Request news /cms/1/newses?maxOrMinId=0&size=3 #请求接口 log ${res.content} ${res_json} To Json ${res.content} #将报文文本格式转换成 json 格式 log ${res_json}

5、请求 post 接口

${header} Create Dictionary YF-BID=zwy YF-JWT=eyJhbGciOiJIUzI1NiIs YF-UID= YF-VER=1.0.0 Content-Type=application/json #定义header头部信息 ${data} Create Dictionary phone=1777982xxxx pwd=123456 validateCode=hrg3 encryptStr=41b4e6 #定义 body 参数 Create Session api https://apipc.xinqgj.com ${header} #创建 http 会话 ${response} Post Request api /user/login ${data} #请求 post 接口 log ${response.content} #获取报文文本内容 ${res_json} To Json ${response.content} #将报文文本格式转换成 json 格式 log ${res_json} Run Keyword If "${res_json}[msg]"=="成功" log pass ... ELSE log failed ${msg} Get From Dictionary ${res_json} msg #字典取值,需要导入 Collections 库 log ${msg} Should Contain ${msg} 成功 #断言

 6、处理接口依赖关系

现有登录接口 login 和用户列表接口 userlistuserlist 接口中的 cookie 依赖于 login 接口返回报文头中的内容用例结构如下 suite -- 接口测试用例套件 testcase -- cms_logintestcase -- cms_userlist """ -- login 接口 """ ${header} Create Dictionary Content-Type=application/x-www-form-urlencoded ${data} Create Dictionary userAccount=admin loginPwd=123456 Create Session cms_login http://cms.duoceshi.cn ${header} ${res} Post Request cms_login /cms/manage/loginJump.do ${data} ${res_json} To Json ${res.content} log ${res_json} log ${res.headers} #打印报文头内容 Set Global Variable ${global_cookie} ${res.headers}[Set-Cookie] #取出报文头中的 Set-Cookie 值并且设置全局变量 """ -- userlist 接口 """ ${header} Create Dictionary Content-Type=application/x-www-form-urlencoded Cookie=${global_cookie} #调用 login 接口中的全局变量 ${global_cookie} ${data} Create Dictionary startCreateDate= endCreateDate= searchValue= page=1 Create Session cms_userlist http://cms.duoceshi.cn ${header} ${res} Post Request cms_userlist /cms/manage/queryUserList.do ${data} ${res_json} To Json ${res.content} log ${res_json}

7、关键字 Fetch From Left 与 Fetch From Right 的用法

首先在套件中导入 String 库,该两个关键字来自于 String 库Fetch From Left 用于截取标记的左边的字符串Fetch From Right 用于截取标记的右边的字符串 ${str} Set Variable 深圳宝安多测师 ${text_left} Fetch From Left ${str} 宝安 # 截取宝安左边的字符串内容 log ${text_left} ${text_right} Fetch From Right ${str} 宝安 # 截取宝安右边的字符串内容 log ${text_right} # 结果如下: 20200827 19:59:07.143 : INFO : ${str} = 深圳宝安多测师 20200827 19:59:07.143 : INFO : ${text_left} = 深圳 20200827 19:59:07.144 : INFO : 深圳 20200827 19:59:07.144 : INFO : ${text_right} = 多测师 20200827 19:59:07.145 : INFO : 多测师

  

最新回复(0)