*** Settings ***
Library Collections
Library json
Library requests
Library RequestsLibrary
Library HttpLibrary.HTTP *** Variables ***
&{hosts} dfc=http://dfc.xxxxx.com crm=http://crm.xxxxx.com *** Keywords ***
新建客户 登录xxxxx
[Arguments] ${apiurl} ${jpushid} ${loginName} ${password}
${top} Create Dictionary Content-Type=application/x-www-form-urlencoded
Create Session api ${apiurl} ${top}
${data} Create Dictionary jpushid=${jpushid} loginName=${loginName} password=${password}
${req} Post Request api /rest/account/login data=${data}
log ${req.status_code}
${reqj} To Json ${req.content}
log ${reqj}
${reqjdata} Get From Dictionary ${reqj} data
${TT} Get From Dictionary ${reqjdata} token
${store} Get From Dictionary ${reqjdata} store
${citycode} Get From Dictionary ${reqjdata} cityCode
set global variable ${TT}
Set Suite Variable ${store}
Set Suite Variable ${citycode}
${form} Create Dictionary Content-Type=application/x-www-form-urlencoded
Set Global Variable ${form}
${json} Create Dictionary Content-Type=application/json TT=${TT}
Set Global Variable ${json}
#Set Suite Variable $ MoGet
[Arguments] ${apiurl} ${type}==json ${params}==${EMPTY}
#设置代理,用于调试
${proxy} set variable http://127.0.0.0:8888/
#根据tag来获取host
: FOR ${tag} IN @{TEST TAGS}
\ ${host} Evaluate ${hosts}.get($tag,"")
\ Run Keyword If "${host}"!="" Exit For Loop
log ${host}
#根据提交数据格式,设置Content-Type
${top} Run Keyword If "${type}"=="form" Create Dictionary Content-Type=application/x-www-form-urlencoded TT=${TT}
... ELSE Create Dictionary Content-Type=application/json TT=${TT}
Create Session api ${host} ${top}
${resget} Get Request api ${apiurl} params=${params}
Should Be Equal As Strings ${resget.status_code} 200
log ${resget.status_code}
${resj} To Json ${resget.content}
log ${resj} MoPost
[Arguments] ${apiurl} ${type}==json ${params}==${EMPTY}
#设置代理,抓包
${proxy} Set Variable http://127.0.0.1:8888/
#根据tag来获取host
: FOR ${tag} IN @{TEST TAGS}
\ ${host} Evaluate ${hosts}.get($tag,"")
\ Run Keyword If "${host}"!="" Exit For Loop
log ${host}
#根据提交数据格式,设置Content-Type
${top} Run Keyword If "${type}"=="json" Create Dictionary Content-Type=application/json TT=${TT}
... ELSE IF "${type}"=="form" Create Dictionary Content-Type=application/x-www-form-urlencoded TT=${TT}
Create Session api ${host} ${top}
${respost} Post Request api ${apiurl} params=${params}
Should Be Equal As Strings ${respost.status_code} 200
${resj} To Json ${respost.content}
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. idea设置项目【非springboot项目】热部署

    1.首先打开Edit Configurations 或者 2.添加的项目一定是war: exploded,而不是war 3.server这边,On 'Update' action选Redeploy,O ...

  2. jqgrid重新加载后跳到指定页

    一般要求重新加载jqgrid后是跳到第一页 $("#jqgrid").jqGrid('setGridParam',{ datatype:'json', page:1 }).trig ...

  3. Java注解-注解处理器、servlet3.0|乐字节

    大家好,我是乐字节的小乐,上次给大家带来了Java注解-元数据.注解分类.内置注解和自定义注解|乐字节,这次接着往下讲注解处理器和servlet3.0 一.注解处理器 使用注解的过程中,很重要的一部分 ...

  4. 异常查错java.net.SocketException: Connection reset

    用httpclient访问后台接口报错java.net.SocketException: Software caused connection abort: recv failed,百度了一圈都说是由 ...

  5. hdu 5418 题解

    第一眼看到这题,哇,这不是我刚做完的题吗?大水题!然后 这题表面很水,实际上有点坑. 题意 求经过 $ 1 - n $(不能遗漏) 并且回到 $ 1 $ 的最短路. 在看这题之前我们可以来看下这题 最 ...

  6. vector 使用pair对

    pair是一种序偶结构<x,y> 如果我们希望使用pair但又不需要map对其排序,可以在vector中使用pair对 插入pair对使用make_pair<typename,typ ...

  7. 二十四、V4L2框架主要结构体分析和虚拟摄像头驱动编写

    一.V4L2框架主要结构体分析 V4L2(video for linux version 2),是内核中视频设备的驱动框架,为上层访问视频设备提供统一接口. V4L2整体框架如下图: 图中主要包括两层 ...

  8. consul客户端配置微服务实例名称和ID

    consul客户端必须配置微服务实例名称和ID,微服务启动的时候需要将名称和ID注册到注册中心,后续微服务之间调用也需要用到. 名称可以通过以下两种方式配置,优先级从高到低.两个都不配置则默认服务名称 ...

  9. C# EF 加密连接数据库连接字符串

    不多说,直接上代码 public partial class Model1 : DbContext { private static string connStr = ""; pu ...

  10. 转 实现类似QQ的窗体停靠

    [DllImport("User32.dll")] public static extern bool PtInRect(ref Rectangle Rects, Point lp ...