python调用robotframework api_python+robot framework接口自动化测试
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问
目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离!
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调用robotframework api_python+robot framework接口自动化测试相关推荐
- python+robotframework_python+robot framework接口自动化测试
转载:http://www.cnblogs.com/nzg-noway/p/6651957.html python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 目前我们需要 ...
- python调用高德api_python 高德api接口
骚操作 !用 Python 偷偷抓取女朋友的行踪(女朋友在哪里) 阅读文本大概需要 5 分钟. 1 目 标 场 景 有时候女朋友一个人在外面玩耍,问她在哪个地方,就是不告诉我.但是,你又很想知道女朋友 ...
- Python 调用有道翻译api接口翻译外文网站的整篇西班牙文实战演示
Python 调用有道翻译 api 接口翻译整篇西班牙文实战演示 第一章:翻译效果展示 ① 翻译文章示例一[阿尔卡拉门的无海摩纳哥:"不到4万欧元,你就不能在这里租任何东西."] ...
- Python调用周立功CAN接口卡接口库函数(接收数据)
上篇博文<Python调用周立功CAN接口卡接口库函数>仅做了发送数据例程,有网友在测试接收时出现了问题,在此给出自己的接收数据代码. 在此需要强调的是,因为经济水平有限,自己所使用的CA ...
- python调用linuxapi_Linux上使用python调用WPS二次开发接口
原文链接Linux上使用python调用WPS二次开发接口 - C++ Programerwww.cryfeifei.cn 环境Ubuntu18.04 WPS For Linux Python3 简 ...
- Robot Framework接口自动化框架
Robot Framework简介 1.什么是Robot Framework 由Nokia Siemens Networks(诺基亚西门子)开发. Robot Framework是一款基于python ...
- python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...
configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...
- python locust post 参数拼接md5_HttpRunner接口自动化测试框架
HttpRunner 简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试 ...
- Python基于python实现的http+json协议接口自动化测试框架源码(实用改进版)
转载地址:https://www.cnblogs.com/clarke/p/5752527.html 1.写在前面 抛转引玉,仅供参考 2.开发环境 win7 64位 JetBrains PyChar ...
最新文章
- cntos7 安装Anaconda3 和Jupyter notebook
- 利用pyinstaller打包Python程序为一个可执行文件
- 深度学习(三)之LSTM写诗
- java实现ListObject转List实体类,java实现Object转对象,java实现Object转实体类
- mongodb 监听不到端口_干货|MongoDB简单操作和通过python进行操作
- 【渝粤教育】国家开放大学2018年春季 8616-22T食品营养卫生 参考试题
- Visual Basic 2010中文版从入门到精通pdf
- 电子通讯录的基本模板
- easytrader 量化交易平台连接同花顺软件使用平安证券
- 再见,爬虫!直接上手的200数据源合集~
- exp oracle 904,9i exp时出现ORA-904、ORA-1003的解决过程
- Android 手机震动功能实现
- html改游戏聊天字体颜色,html点击按钮改变字体颜色怎么实现
- C++编程第一课《编程是一门技术——认识C++》
- linux xmanager使用教程,Xmanager企业版中各软件功能简介
- 新东方有计算机课么,计算机课程的翻译
- Win10更改账户类型为标准改不了怎么办
- Android 底层知识拾零,字节跳动Android高级工程师
- 国产CI/CD工具Commander
- 宝塔面板重启mysql命令_宝塔linux面板命令大全
热门文章
- mysql set names没反应_MYSQL使用的时候遇到的一些问题
- php 实时更新内容_PHP+Redis 有序集合实现 24 小时排行榜实时更新
- 修改list中对象的值_怎样在S7-200 SMART中监控和修改变量的值?
- 信息技术与计算机文化达标卷,初中信息技术试卷
- url参数拼接 php,PHP解析url并得到url参数方法总结
- html语言创建无序列表的标记是,【HTML】 三、文档设置标记
- 基于JAVA+SpringMVC+MYSQL的网上人才招聘系统
- 基于JAVA+SSH+MYSQL的外卖点餐系统
- 作业帮:字符串反转(头部插入)
- Go程序的一生是怎样的?