1. *** Settings ***
  2. Library Collections
  3. Library json
  4. Library requests
  5. Library RequestsLibrary
  6. Library HttpLibrary.HTTP
  7.  
  8. *** Variables ***
  9. &{hosts} dfc=http://dfc.xxxxx.com crm=http://crm.xxxxx.com
  10.  
  11. *** Keywords ***
  12. 新建客户
  13.  
  14. 登录xxxxx
  15. [Arguments] ${apiurl} ${jpushid} ${loginName} ${password}
  16. ${top} Create Dictionary Content-Type=application/x-www-form-urlencoded
  17. Create Session api ${apiurl} ${top}
  18. ${data} Create Dictionary jpushid=${jpushid} loginName=${loginName} password=${password}
  19. ${req} Post Request api /rest/account/login data=${data}
  20. log ${req.status_code}
  21. ${reqj} To Json ${req.content}
  22. log ${reqj}
  23. ${reqjdata} Get From Dictionary ${reqj} data
  24. ${TT} Get From Dictionary ${reqjdata} token
  25. ${store} Get From Dictionary ${reqjdata} store
  26. ${citycode} Get From Dictionary ${reqjdata} cityCode
  27. set global variable ${TT}
  28. Set Suite Variable ${store}
  29. Set Suite Variable ${citycode}
  30. ${form} Create Dictionary Content-Type=application/x-www-form-urlencoded
  31. Set Global Variable ${form}
  32. ${json} Create Dictionary Content-Type=application/json TT=${TT}
  33. Set Global Variable ${json}
  34. #Set Suite Variable $
  35.  
  36. MoGet
  37. [Arguments] ${apiurl} ${type}==json ${params}==${EMPTY}
  38. #设置代理,用于调试
  39. ${proxy} set variable http://127.0.0.0:8888/
  40. #根据tag来获取host
  41. : FOR ${tag} IN @{TEST TAGS}
  42. \ ${host} Evaluate ${hosts}.get($tag,"")
  43. \ Run Keyword If "${host}"!="" Exit For Loop
  44. log ${host}
  45. #根据提交数据格式,设置Content-Type
  46. ${top} Run Keyword If "${type}"=="form" Create Dictionary Content-Type=application/x-www-form-urlencoded TT=${TT}
  47. ... ELSE Create Dictionary Content-Type=application/json TT=${TT}
  48. Create Session api ${host} ${top}
  49. ${resget} Get Request api ${apiurl} params=${params}
  50. Should Be Equal As Strings ${resget.status_code} 200
  51. log ${resget.status_code}
  52. ${resj} To Json ${resget.content}
  53. log ${resj}
  54.  
  55. MoPost
  56. [Arguments] ${apiurl} ${type}==json ${params}==${EMPTY}
  57. #设置代理,抓包
  58. ${proxy} Set Variable http://127.0.0.1:8888/
  59. #根据tag来获取host
  60. : FOR ${tag} IN @{TEST TAGS}
  61. \ ${host} Evaluate ${hosts}.get($tag,"")
  62. \ Run Keyword If "${host}"!="" Exit For Loop
  63. log ${host}
  64. #根据提交数据格式,设置Content-Type
  65. ${top} Run Keyword If "${type}"=="json" Create Dictionary Content-Type=application/json TT=${TT}
  66. ... ELSE IF "${type}"=="form" Create Dictionary Content-Type=application/x-www-form-urlencoded TT=${TT}
  67. Create Session api ${host} ${top}
  68. ${respost} Post Request api ${apiurl} params=${params}
  69. Should Be Equal As Strings ${respost.status_code} 200
  70. ${resj} To Json ${respost.content}
  71. log ${resj}

原文地址:https://www.cnblogs.com/chengchengla1990/p/7044802.html

Robot Framework--完整的接口测试用例的更多相关文章

  1. Robot Framework用户手册 (版本:3.0)

    版权信息:诺基亚网络和解决中心 本翻译尊重原协议,仅用于个人学习使用 1.开始: 1.1 介绍: Robot Framework是一个基于Python的,为终端测试和验收驱动开发(ATDD)的可扩展的 ...

  2. [RF] Robot Framework新手干货(转载)

    Robot Framework用法总结 Robot Framework完整流程学习系列一 Robotframework自动化新手常见问题总结--(基础篇)

  3. Robot Framework使用Phantomjs进行无界面UI自动化测试

    Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Libr ...

  4. python+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  5. python+request+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  6. Robot Framework - 1 - 测试用例与测试库

    01- 关于测试库(Test libraries) Test libraries provide the actual testing capabilities to Robot Framework ...

  7. 【转】robot framework + python实现http接口自动化测试框架

    前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了 ...

  8. robot framework + python实现http接口自动化测试框架

    https://www.jianshu.com/p/6d1e8cb90e7d 前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测 ...

  9. Robot Framework(十六) 扩展RobotFramework框架——使用监听器接口

    4.3使用监听器接口 Robot Framework有一个侦听器接口,可用于接收有关测试执行的通知.监听器是具有某些特殊方法的类或模块,它们可以用Python和Java实现.监听器接口的示例用法包括外 ...

随机推荐

  1. 【VS开发】【OpenGL开发】OpenGL---Windows下配置与第一个OpenGL程序

    面记录一下Windows下配置OpenGL与我的第一个OpenGL程序. 第一步:选择一个编译环境    现在Windows系统的主流编译环境有Visual Studio,Broland C++ Bu ...

  2. 通过git命令“六步”提交新项目到码云

    通过git命令“六步”提交新项目到码云 一.初始化本地仓库 git init 二.添加文件 git add . 三.添加远程数据仓库链接 git remote add origin https://g ...

  3. 洛谷 题解 P1041 【传染病控制】

    [思路] 题目给出一棵树.第\(i\)步拆的一定是第\(i\)层与第\(i+1\)层之间的连边,否则不是最优(自行证明即可),所以可以暴力枚举每一次拆哪一个节点与上一个节点的连边. 把所有节点所在的层 ...

  4. PAT(B) 1044 火星数字(Java)进制转换

    题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...

  5. Python TypeError: __init__() got multiple values for argument 'master'(转)

    转自:https://stackoverflow.com/questions/33153404/python-typeerror-init-got-multiple-values-for-argume ...

  6. javascript序列化表单追加参数

    js序列化表单后追加参数方式: 追加参数:token,status var data = $.param({"token":token, "status":st ...

  7. 3_PHP表达式_1_常量

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP常量分为自定义常量与预定义常量. 1.自定义常量 在使用前必须先定义,PHP的define()函数专门用于定 ...

  8. 【转载】 腾讯云通过设置安全组禁止某些IP访问你的服务器

    有时候我们在运维网站的过程中会发现一些漏洞扫描者的IP信息,或者个人爬虫网站的IP信息,此时我们想禁止掉这些IP访问到你的服务器,可以通过腾讯云的安全组功能来设置禁止这些IP访问你的服务器,也可以通过 ...

  9. 使用Django时需要注意的八个要点

    1.在settings.py中使用os. path.dirname() 常用代码如下: # settings.py import os PROJECT_DIR = os.path.dirname(__ ...

  10. Html CSS transform matrix3d 3D转场特效

    Html CSS transform matrix3d 3D转场特效 透视矩阵 2n/(r-l) 0 (r+l)/(r-l) 0 0 2n/(t-b) (t+b)/(t-b) 0 0 0 (n+f)/ ...