*** 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}

robot framework接口测试之一-完整的测试用例的更多相关文章

  1. robot framework 接口测试 http协议post请求json格式

    robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...

  2. Robot Framework(十三) 执行测试用例——创建输出

    3.5创建输出 执行测试时会创建几个输出文件,并且所有这些文件都与测试结果有某种关联.本节讨论创建的输出,如何配置它们的创建位置以及如何微调其内容. 3.5.1不同的输出文件 输出目录 输出文件 日志 ...

  3. Robot Framework(十一) 执行测试用例——后处理输出

    3.3后处理输出 在测试执行期间生成的XML输出文件可以在之后由rebot工具进行后处理,该工具是Robot Framework的组成部分.在测试执行期间生成测试报告和日志时会自动使用它,但在执行后也 ...

  4. Robot Framework(十) 执行测试用例——测试执行

    3.2测试执行 本节描述如何执行从解析的测试数据创建的测试套件结构,如何在失败后继续执行测试用例,以及如何正常停止整个测试执行. 3.2.1执行流程 执行套房和测试 设置和拆卸 执行顺序 3.2.2继 ...

  5. Robot Framework(九) 执行测试用例——基本用法

    3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3. ...

  6. Robot Framework(三)创建测试用例

    2.2.1测试用例语法 基本语法 测试用例由关键字在测试用例表中构建.关键字可以从测试库或资源文件导入,也可以在测试用例文件本身的关键字表中创建. 测试用例表中的第一列包含测试用例名称.测试用例从包含 ...

  7. Robot Framework接口测试(1)

    RF是做接口测试的一个非常方便的工具,我们只需要写好发送报文的脚本,就可以灵活的对接口进行测试. 做接口测试我们需要做如下工作: 1.拼接发送的报文 2.发送请求的方法 3.对结果进行判断 我们先按步 ...

  8. Robot Framework接口测试(4)

    现在我们已经做好了进行接口测试的必要准备:1.拼接发送的报文:2.发送报文的方法.现在我们实现RF上的接口测试. 我们先对发送的方法进行一下封装: 1.拼接报文方法: #coding : utf-8 ...

  9. Robot Framework接口测试(3)--http请求之post

    http请求更多的是post请求,我们可以:查看说明:很多网站在登录的时候需要加上头部信息即headers,这个信息可以通过抓包工具获得——fiddler,一个轻量级的抓包工具,大神用了都说好~这里模 ...

随机推荐

  1. MVC-READ1

    将具有不同稳定性的元素融为一体,具有最差稳定性的元素决定了整体的稳定性,这是“短板理论”在软件设计中的体现. MVC的创建者是Trygve M. H. Reenskau,他是挪威的计算机专家,同时也是 ...

  2. Add words to your picture

    [Add words to your picture] How to add text to your photo, and then style it with the Type tool. 1.O ...

  3. 实例: Java代码操作oracle数据库(JDBC+sevrlet+jsp+html)

    1, 注册页面 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.or ...

  4. C++实现:把一个文件夹里的冗余文件(.txt)删除

    代码很简单,调用了MFC里的几个函数.这里的冗余判断,是要遍历文件内容,进行两两比较. 需要注意的地方有两点: 1.源文件里头文件<afx.h>必须放在最前面.这里是为了避免nafxcwd ...

  5. Struts2拦截器概述

    --------------------siwuxie095 Struts2 拦截器概述 1.Struts2 框架封装的很多功能都在 Struts2 的拦截器中 2.Struts2 框架中有很多拦截器 ...

  6. python操作vmware

    import pysphere from pysphere import VIServer host_ip = "200.200.173.45" username = " ...

  7. HttpClient详解

    HttpClient:是一个接口 首先需要先创建一个DefaultHttpClient的实例 HttpClient httpClient=new DefaultHttpClient(); 发送GET请 ...

  8. 交互原型画得丑?29个优秀UI/UX线框草图

    现在越来越多UI设计师都需要画一些交互的线框图,然而作为视觉专家,当然要把它画得靓靓的嘛,是不是?所以很多用户会使用<5款高效的原型设计工具>来绘制,或者直接手绘更有逼格. 今天达人手工整 ...

  9. BETTER SUPPORT FOR FUNCTIONAL PROGRAMMING IN ANGULAR 2

    In this blog post I will talk about the changes coming in Angular 2 that will improve its support fo ...

  10. Alpha阶段测试报告(示例)

    http://www.cnblogs.com/Flamenco/p/7834393.html Alpha阶段测试报告