python+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问
python+request接口自动化框架
目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离!
robot framework 的安装不过多说明,网上资料比较太多~
实例:!!!!!
步骤一:新建项目

测试项目可以目录或文件存储,格式可以用TXT,TSV或HTML格式, 建议项目选择目录和TXT,这样便于管理
步骤二:新建测试套

测试套与测试项目一样,也可以目录和文件存储,格式也可以用TXT,TSV或HTML格式,建议测试套选择文件存储和TXT
步骤三:新建测试用例

————————这一系列的基础支撑组件创建结束后————目录结构为————————

下面介绍在此框架上如何创建一条用例!!!
我们知道!rf是由关键字驱动的,而且是由测试库识别测试对象、操作被测试对象的。
那么怎么使用关键字呢?首先我们需要导入测试库!!!
步骤四:添加lib,此次需要的应用到的测试库都在截图中,其实也可以用urllib2这个库获取url内容信息
ps:json和requests均为python导入的库!(queryPrdodcut.py为我个人封装的一个库)

可以通过F5件查询lib下的方法,看自己需要使用哪个就选应用哪个

步骤五,方法应用,按住ctrl就有可以介绍的方法

步骤六:输出一条场景的case,下面就是我个人创建的一个case(目前以第三库和自己带的方法输出的case)
1.set variable 代表设置变量2. catenate代表把多个参数组装在一起3.requests.get代表使用resquests库通过get请求获取response4.should be qeual as strings 代表是是否等于期望值是个断言(可以参考http://blog.sina.com.cn/s/blog_7f66d4ea0101k3fl.html)
5.log代表查看内容
特别说明:通过这个方法可以使用rep.status_code和rep.content

用自带的是不是很繁琐,输入了那么多条才完成了一个请求,因此我封装了一个关于http的get请求库(当然checkValue也是我个人封装的一个函数~)
具体实现如下:
__author__ = 'niuzhigang'
#!/usr/bin/env python
#*- coding: UTF-8 -*-
#encoding=utf-8 import json
import requests class queryProduct(object): @classmethod
def interfacetest(self,reqadress,reqinterface,reqc,reqd, floattimeout):
requrl = reqadress + reqinterface
print "print requrl --->"+requrl
header={"content-type":"application/json"}
reqparams = {'c':reqc, 'd': reqd}
reqparam = json.dumps(reqparams,encoding='utf-8',ensure_ascii=False)
print 'print reqparams --->'+reqparam
timeout = float(floattimeout)
# get request result
getrep = requests.get(url=requrl,headers=header, params=reqparams,timeout=timeout)
print "get req result --->"+getrep.text
return getrep.text
那么问题来了?怎么使用自己定义的一个库呢?(具体如何开发有点python基础知识就可以了~我也不说了~)
下面请个人封装的库上场~

PS:自己封装的库可以根据自己需求打印日志~实现方法就是函数中 print即可!!!!

说明:为什么写了timeout = float(floattimeout)---->timeout转float,因为通过rf输入后为字符串型,因此需要转float
运行rf结果如下:

步骤七:查看判定结果,执行play键或者F8

ps蓝色的均是超链接可以打开,如:想看具体每个场景case的失败or通过 ------>点击
可以查看)结果如下:

补充:目前只实现了接口的基础架构,后续会维护更多如发送报告,email 微信等 还有更多关键字的封装~~~
当然这个也支持ui自动化如web导入selenium库就可以实现ui自动化
我也是刚接触rf,希望大家以后多多相互交流交流!!!
python+robot framework接口自动化测试的更多相关文章
- python+request+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...
- robot framework 接口自动化测试和关键字开发
https://www.cnblogs.com/laoqing/p/10787593.html 1.实战-接口自动化测试实例 1.1 接口测试 接口测试通常是系统之间交互的接口,或者某个系统对外提供的 ...
- python+robot framework实现测报告定制化和邮件发送
前面已经介绍了python+robot framework自动化框架和基本原理的实现,详情请看 python+robot framework接口自动化测试 本章主要讲解报告已经产生那如何以自动化的方式 ...
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- 基于Python的HTTP接口自动化测试框架实现
今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...
- 【转】robot framework + python实现http接口自动化测试框架
前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测试框架,以至于后期rd每修改一个bug,经常导致之前没有问题的case又产生了 ...
- robot framework + python实现http接口自动化测试框架
https://www.jianshu.com/p/6d1e8cb90e7d 前言 下周即将展开一个http接口测试的需求,刚刚完成的java类接口测试工作中,由于之前犯懒,没有提前搭建好自动化回归测 ...
- Robot Framework 接口自动化介绍
接口测试的重要性大家应该都清楚,就不多说了,本文中主要介绍接口测试如何在robot framework自动化测试框架中进行. 一.环境依赖 1.安装robot framework环境,本文中不做讲解 ...
- Linux CentOS下Python+robot framework环境搭建
转载自:http://blog.sina.com.cn/s/blog_13cc013b50102vof1.html 操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.c ...
随机推荐
- 动态样式语言—LESS
博客原文地址:Claiyre的个人博客 https://claiyre.github.io/ 博客园地址:http://www.cnblogs.com/nuannuan7362/ 如需转载,请在文章开 ...
- MASM32快速起步
MASM32是一个免费的软件程序,让您编辑Microsoft宏汇编程序(MASM)代码从一个基本的文本界面.它强调MASM代码各部分以不同的颜色,使其更容易扫描和检测错误.它提供了一个简单的布局程序员 ...
- Ant学习总结5(配合Ant视频8,9)
重点: Ant的属性介绍: <property name="build.dir" value="build"/>注意:一般对于常量都会定义成为属性 ...
- IOS缓存管理之YYCache使用
前言: 最近一直在致力于为公司app添加缓存功能,为了寻找一个最佳方案,这几天先做个技术预研,经过这两天的查找资料基本上确定了两个开源框架进行选择,这两个开源框架分别是:PINCache.YYCach ...
- C++_运算符重载
什么是运算符的重载? 运算符与类结合,产生新的含义. 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义) 怎么实现运算符的重载? 方式:类的成员函数 或 友元函数(类外 ...
- python2.7学习笔记-split用一个分隔符分割、多个分隔符分割、在有汉字存在的情况下split分割
还是直接上程序吧,暂且就叫它为程序吧: ''' 按照多个分隔符分割,split的用法 ''' import re s='hi!chu?lan!heihei' re.split('[!?]',s) '' ...
- htmlunit 导致高cup占用的坑
原文:http://blog.csdn.net/qq_28384353/article/details/52974432#reply 将爬虫部署到服务器上运行后,在查看服务器的状态监控时发现,天猫爬虫 ...
- 使用 Bitbucket Pipelines 持续交付托管项目
简介 Bitbucket Pipelines 是Atlassian公司为Bitbucket Cloud产品添加的一个新功能, 它为托管在Bitbucket上的项目提供了一个良好的持续集成/交付的服务. ...
- eclipse中注释常用关键字
关键词列表: @author 作者名 @date 日期 @version 版本标识 @parameter 参数及其意义 @since 最早使用该方法/类/接口的JDK版本 @return 返回值 @t ...
- 第十二篇 C# 将HTML 直接转成Excel
前些天写项目的时候,客户要求用HTML表格把信息展示出来,后面还要用展示的内容要导出Excel.本来想想在后台操作的话估计是要做死了,但是经过细想,Excel能够发布成HTML,一定也可以由HTML转 ...