python接口自动化测试应用_python+robot framework接口自动化测试

python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问

目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离!

robot framework 的安装不过多说明,网上资料比较太多~

实例:!!!!!

步骤一:新建项目

python接口自动化测试应用_python+robot framework接口自动化测试_第1张图片

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

步骤二:新建测试套

python接口自动化测试应用_python+robot framework接口自动化测试_第2张图片

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

步骤三:新建测试用例

python接口自动化测试应用_python+robot framework接口自动化测试_第3张图片

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

python接口自动化测试应用_python+robot framework接口自动化测试_第4张图片

下面介绍在此框架上如何创建一条用例!!!

我们知道!rf是由关键字驱动的,而且是由测试库识别测试对象、操作被测试对象的。

那么怎么使用关键字呢?首先我们需要导入测试库!!!

步骤四:添加lib,此次需要的应用到的测试库都在截图中,其实也可以用urllib2这个库获取url内容信息

ps:json和requests均为python导入的库!(queryPrdodcut.py为我个人封装的一个库)

python接口自动化测试应用_python+robot framework接口自动化测试_第5张图片

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

python接口自动化测试应用_python+robot framework接口自动化测试_第6张图片

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

python接口自动化测试应用_python+robot framework接口自动化测试_第7张图片

步骤六:输出一条场景的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

python接口自动化测试应用_python+robot framework接口自动化测试_第8张图片

用自带的是不是很繁琐,输入了那么多条才完成了一个请求,因此我封装了一个关于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基础知识就可以了~我也不说了~)

下面请个人封装的库上场~

python接口自动化测试应用_python+robot framework接口自动化测试_第9张图片

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

python接口自动化测试应用_python+robot framework接口自动化测试_第10张图片

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

运行rf结果如下:

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

python接口自动化测试应用_python+robot framework接口自动化测试_第11张图片

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

L3Byb3h5L2h0dHBzL2ltYWdlczIwMTUuY25ibG9ncy5jb20vYmxvZy8xMTIxNjg4LzIwMTcwMy8xMTIxNjg4LTIwMTcwMzMxMTYxMzA2MjQyLTE0ODY0NjY0MTgucG5n.jpg可以查看)结果如下:

python接口自动化测试应用_python+robot framework接口自动化测试_第12张图片

补充:目前只实现了接口的基础架构,后续会维护更多如发送报告,email 微信等 还有更多关键字的封装~~~

当然这个也支持ui自动化如web导入selenium库就可以实现ui自动化

我也是刚接触rf,希望大家以后多多相互交流交流!!!

python+request+robot framework接口自动化测试

python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

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 ...

python3+Robot Framework+PyCharm自动化测试框架设计

关于自动化测试框架的设计,笔者在前面的随笔里面有介绍和总结,这里结合实际的项目例子做个demo,环境部署参考笔者的的随笔

随机推荐

Ext小总结

titleCollapse:true,//高级搜索点击隐藏显示 添加按钮 >弹出页面 1.添加按钮 //核销  在控制层页面添加页面路径>添加操作按钮>window.allOrder ...

LeetCode Convert Sorted Array to Binary Search Tree(数据结构)

题意: 将一个有序的数组建成一棵平衡的BST树. 思路: 因为数组已经有序,每次可以从中点开始建根,再递归下去分别处理左/右子树. /** * Definition for a binary tree ...

(转)C++设计模式——观察者模式

转自:http://www.jellythink.com/archives/359 前言 之前做了一个性能测试的项目,就是需要对现在的产品进行性能测试,获得测试数据,然后书写测试报告,并提出合理化的改 ...

浅谈MIPS地址对齐问题

1.什么叫地址对齐? RISC 下使用访存指令读取或写入数据单元时,目标地址必须是所访问之数据单元字节数的整数倍,这个叫做地址对齐. 2.计算机主要的架构分哪两类?及其地址对齐在两者的区别? 计算机主 ...

ArcGIS API for Silverlight学习笔记

ArcGIS API for Silverlight学习笔记(一):为什么要用Silverlight API(转) 你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都 ...

(视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 1. 网站管理平台WordPress和云计算平台Azure简介 (6分 ...

20164318 毛瀚逸-----EXP5 MSF基础应用

1. 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_067; (成功) 1.2 一个针对浏览器的攻击, ...

Eclipse安装TestNG插件

TestNG按照其文档的定义是: TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便. TestNG是一个开源自动化测试框架;TestNG ...

自学MVC看这里——全网最全ASP.NET MVC 教程汇总(转)

自学MVC看这里——全网最全ASP.NET MVC 教程汇总   MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要 ...

STM32 变量无法赋值问题

STM32 在用JLink 调试的时候发现有一条将unsigned char赋值给int的语句始终不能执行,int类型变量的值始终为0: 查资料找到这个问题是编译器优化的原因,也就是说由于编译器优化, ...

你可能感兴趣的:(python接口自动化测试应用)