news 2026/9/7 8:58:44

Python+robotframework接口自动化测试实操

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python+robotframework接口自动化测试实操

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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

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请求获取response

4.should be qeual as strings 代表是是否等于期望值是个断言

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自动化

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 7:30:05

从恐惧到精通:技术小白的AI分类器成长日记

从恐惧到精通:技术小白的AI分类器成长日记 引言:一个零基础的AI探索之旅 记得第一次听说"AI分类器"这个词时,我的大脑一片空白。作为一个连GPU是什么都不知道的纯小白,那些专业术语就像天书一样令人望而生畏。但经过3…

作者头像 李华
网站建设 2026/8/27 20:22:36

单目图像测距实战:MiDaS模型部署与效果评测

单目图像测距实战:MiDaS模型部署与效果评测 1. 引言:单目深度估计的技术价值与应用场景 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂…

作者头像 李华
网站建设 2026/9/3 3:08:13

androidstudio配置本地gradle

修改gradle-wrapper.properties 打开项目根目录/gradle/wrapper/gradle-wrapper.properties修改distributionUrl为本地路径: distributionUrlfile:///D:/android-studio/gradle/gradle-7.5-all.zip 1. 下载Gradle压缩包- 从Gradle官网下载对应版本(如7.5…

作者头像 李华
网站建设 2026/9/3 3:45:03

基于RaNER模型的实体抽取实战|集成WebUI高效可视化

基于RaNER模型的实体抽取实战|集成WebUI高效可视化 1. 引言:从非结构化文本中释放信息价值 在当今信息爆炸的时代,大量有价值的数据以非结构化文本的形式存在——新闻报道、社交媒体内容、企业文档、客服对话等。如何从中自动提取关键信息&…

作者头像 李华
网站建设 2026/9/3 1:43:03

支持33种语言互译|HY-MT1.5系列模型技术全解析

支持33种语言互译|HY-MT1.5系列模型技术全解析 随着全球化进程的加速,跨语言交流已成为企业出海、内容本地化和国际协作的核心需求。传统翻译服务在面对复杂语境、混合语言或格式敏感场景时往往力不从心。腾讯混元团队推出的 HY-MT1.5 系列翻译大模型&a…

作者头像 李华
网站建设 2026/8/25 6:12:58

基于RaNER模型的中文NER实践|集成WebUI高效易用

基于RaNER模型的中文NER实践|集成WebUI高效易用 1. 背景与需求:中文命名实体识别的现实挑战 在信息爆炸的时代,非结构化文本数据(如新闻、社交媒体、客服对话)占据了企业数据总量的80%以上。如何从这些杂乱文本中快速…

作者头像 李华