*** 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. vim调整粘贴时的文本缩进

    解决办法: 1. 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而只是纯拷贝粘贴)2. 拷贝完成之后,输入:set nopaste (关闭paste) 在 Vim 中粘贴文本 ...

  2. 使用.sig签名验证文件

    Linux下载文件的时候,由于网络等原因,下载的文件可能不完整,对于别有心机的人可以更改文件,这就需要我们对文件的完整性进行验证.这里以securityonion-14.04.5.2.iso为例进行验 ...

  3. Spring boot 、swagger、c3p0、mybatis和redis 整合

    文件路径                添加依赖 <?xml version="1.0" encoding="UTF-8"?> <projec ...

  4. Hadoop2.2.0多节点分布式安装及测试

    众所周知,hadoop在10月底release了最新版2.2.很多国内的技术同仁都马上在网络上推出了自己对新版hadoop的配置心得.这其中主要分为两类: 1.单节点配置 这个太简单了,简单到只要懂点 ...

  5. Get The Client Info From PHP SERVER Arrary

    Get The Client Info From PHP SERVER Arrary <?php date_default_timezone_set( "Asiz/Shanghai&q ...

  6. gsm

    libosmocore Osmocom-BB wireshark 拦截一个短信内容

  7. c# 解释器模式与sping.net表达式的结合应用(金融里经常需要用到公式,这个公式是抽象的需要自己解释)

    .代码 using Spring.Expressions; using System; using System.Collections.Generic; using System.Linq; usi ...

  8. MDK5使用技巧

    1.文本美化 修改 修改字体以及颜色如下: 修改用户自定义的关键字,如下: 代码编辑技巧 1.TAB键的妙用 使用TAB键可以整体向右移动相应位,使用SHIFT+TAB键整体左移相应位. 2.快速定位 ...

  9. python 中feedParser

    转载于https://www.cnblogs.com/bbn0111/p/7056366.html.学习使用 参考链接:http://blog.csdn.net/lanchunhui/article/ ...

  10. Scheduling the Delivery of Local Notifications

    [Scheduling the Delivery of Local Notifications] Apps can use local notifications to display alerts, ...