robot framework接口测试之一-完整的测试用例

*** 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接口测试之一-完整的测试用例的更多相关文章
- robot framework 接口测试 http协议post请求json格式
robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...
- Robot Framework(十三) 执行测试用例——创建输出
3.5创建输出 执行测试时会创建几个输出文件,并且所有这些文件都与测试结果有某种关联.本节讨论创建的输出,如何配置它们的创建位置以及如何微调其内容. 3.5.1不同的输出文件 输出目录 输出文件 日志 ...
- Robot Framework(十一) 执行测试用例——后处理输出
3.3后处理输出 在测试执行期间生成的XML输出文件可以在之后由rebot工具进行后处理,该工具是Robot Framework的组成部分.在测试执行期间生成测试报告和日志时会自动使用它,但在执行后也 ...
- Robot Framework(十) 执行测试用例——测试执行
3.2测试执行 本节描述如何执行从解析的测试数据创建的测试套件结构,如何在失败后继续执行测试用例,以及如何正常停止整个测试执行. 3.2.1执行流程 执行套房和测试 设置和拆卸 执行顺序 3.2.2继 ...
- Robot Framework(九) 执行测试用例——基本用法
3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3. ...
- Robot Framework(三)创建测试用例
2.2.1测试用例语法 基本语法 测试用例由关键字在测试用例表中构建.关键字可以从测试库或资源文件导入,也可以在测试用例文件本身的关键字表中创建. 测试用例表中的第一列包含测试用例名称.测试用例从包含 ...
- Robot Framework接口测试(1)
RF是做接口测试的一个非常方便的工具,我们只需要写好发送报文的脚本,就可以灵活的对接口进行测试. 做接口测试我们需要做如下工作: 1.拼接发送的报文 2.发送请求的方法 3.对结果进行判断 我们先按步 ...
- Robot Framework接口测试(4)
现在我们已经做好了进行接口测试的必要准备:1.拼接发送的报文:2.发送报文的方法.现在我们实现RF上的接口测试. 我们先对发送的方法进行一下封装: 1.拼接报文方法: #coding : utf-8 ...
- Robot Framework接口测试(3)--http请求之post
http请求更多的是post请求,我们可以:查看说明:很多网站在登录的时候需要加上头部信息即headers,这个信息可以通过抓包工具获得——fiddler,一个轻量级的抓包工具,大神用了都说好~这里模 ...
随机推荐
- 一步一步学习Android开发
一步步踏入Android的阵营. 疑惑篇: gravity和layout_gravity的区别
- Liunx 解压篇
解压完 却不知道到哪里去了这时
- Spring中的AOP(五)——定义切入点和切入点指示符
定义切入点 在前文(点击查看)中使用到的AdviceTest类中同一个切点(即* com.abc.service.*.advice*(..)匹配的连接点)却重复定义了多次,这显然不符合软件设计的原则, ...
- Entity Framework 6.0 对枚举的支持/实体添加后会有主键反回
实验 直接上代码,看结果 实体类 [Flags] public enum FlagsEnum { Day = , Night = } public class EntityWithEnum { pub ...
- 简单拼接图像的tile_images和tile_images_offset算子
有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图.tile_images和tile_images_offset就是用于简单拼图的2个算子. 谈到拼图,肯定有以下问题 ...
- Linux汇编与C互相调用
一.简介 C语言调用汇编有两种方式:1.通过内嵌汇编 2.通过编译链接. 二.基础知识 对于C和汇编语言的接口主要有两个问题需要解决 1.调用者与被调用者的参数传递 正常的,定义一个函数总是希望它完 ...
- Laravel/Homestead storage:link -> symlink(): Protocol error
I'm trying to run the following artisan command: php artisan storage:link I get this error: [ErrorEx ...
- [IIS] 测试的产品登陆之后有个引用外部站点js的请求半天都无法返回,导致网页一直在打转,Selenium的driver也无法对页面进行下一步的操作
测试的产品登陆之后有个引用外部站点js的请求半天都无法返回: https://cdn.heapanalytics.com/js/heap-3497400264.js 这个js如果是在美国的机器上就可以 ...
- vue生命周期小笔记
一张图谨记vue每个生命周期的获取状态 beforecreate :可以在这加个loading事件 created :在这结束loading,还做一些初始化,实现函数自执行 mounted : 在这发 ...
- 常见gcc编译问题解决方法集
除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词):用"-Wl,-Bstatic"指定链接静态库,使用 ...