*** 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. 3.wxml特性之数据绑定

    WXML----显示 {{变量名}} JS----------变量名:”变量值” 所有属性和组件都必须小写

  2. linux软件安装习惯

    Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32./u ...

  3. LeetCode 100. 相同的树(Same Tree) 2

    100. 相同的树 100. Same Tree 题目描述 给定两个二叉树,编写一个函数来检验它们是否相同. 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 每日一算法2019/5 ...

  4. hdu 6609 区间条件前缀和 + 二分

    题目传送门//res tp hdu 目的 在尾部逐步插入n个元素,求插入第i个元素时,[1,i)内删去多少个元素,可使前缀和[1,i]不大于m 多测Q [1,15] n [1,2e5] m [1,1e ...

  5. Python13之元组(带上枷锁的列表)

    一.元组定义 元组一旦建立,元组内的元素不允许修改和删除,这就是元组和列表最大的区别 当元组中仅有一个元素时,需要将元素后面加上逗号,或者不用括号也可以. tuple1 = (12,3234,5435 ...

  6. Shell之监控cpu、内存、磁盘脚本

    #!/bin/bash #获取内存情况 mem_total=`free | awk 'NR==2{print $2}'` #获取内存总大小 mem_use=`free | awk 'NR==2{pri ...

  7. 接口缓存--把接口放在redis数据库中,减少访问量

    针对访问量大,且数据较固定的接口,建议建立接口缓存,建立了缓存之后,不会再直接去访问接口了. 比如下面的轮播图接口,每刷新一下首页都会访问一下轮播图接口,所以我们用接口缓存来处理,减少访问量. 视图模 ...

  8. fatfs系统的移植

    integer.h   FATFS的数据类型定义(一般不需要更改,其他的文件都需要引用这个文件的内容) ffcon.h FATFS的配置文件,配置项的各个参数都需要在这里修改 一个细致的讲解fatfs ...

  9. 安利一下stringstream

    关于实用的 stringstream 处理毒瘤输入数据 比如这个题 在输入的时候有很多问题,如果用scanf输入char型字符串,那么不好用map判断,并且读入整行判断换行会很麻烦 如果选择用stri ...

  10. Educational Codeforces Round 64 (Div. 2)

    A.3*3讨论即可,注意正方形套圆套三角形只有6个点. #include<cstdio> #include<cstring> #include<iostream> ...