Python+Robot Framework实现接口自动化测试

news2024/11/15 6:26:15

最近在研究Python+Robot Framework的接口自动化,摸清了一些套路,想着总结一下,分享给大家,希望对做自动化的同学有所启发。

主要用到了Python的requests,json,hashlib库,下面以登录和开启文档/目录的外链接口为例,介绍下实现步骤。

一、接口文档

1、登录接口getnew

请求参数:

account:用户登录账号,必填项,string类型

password:加密后的密文,密码加密方式,采用rsa加密的RSA_PKCS1_PADDING填充,并将加密的结果base64编码,必填项,string类型

ostype:操作系统类型,1:Web,2:IOS,3:Android,非必填项,int类型

返回参数:

userid:唯一标识用户的ID,string类型

tokenid:与userid一起验证请求的合法性,string类型

expires:获取到的token有效期,单位为秒,int64类型

2、开启外链接口open

请求参数:

docid:待开启外链的对象gns路径,必填项,string类型

open:如果true,返回密码,false,密码空,非必填项,boolean类型

endtime:到期时间,例如2023-10-16,15:30:33,非必填项,int64类型

perm:权限值,值域为[1,7],非必填项,int32类型

limittimes:外链使用次数,-1为无限制,非必填项,int32类型

返回参数:

link:外链唯一标识,如FC5E038D38A5,string类型

password:空表示没有,string类型

endtime:到期时间,如果为-1,表示无限期,in64类型

perm:按位存储的权限值(返回的是十进制),获取该值后,需要转化成二级制,检查对应的位码是否被设置,in32类型

limittimes:外链使用次数,-1为无限制,int32类型

result:0,请求已生效,返回为最新信息,1,请求正在审核,返回为创建前信息,int32类型

二、编写Python脚本

一)新建一个名为DocAPI.py的Python文件

1、新建一个类,命名与文件同名:

2、对于登录接口和开启外链接口,各写一个发送请求的函数

用到的主要是Python的requests库,发送请求,解析返回内容

二)将DocAPI.py导入Robot Framework的资源文件中

导入后,编写用户关键字

三)编写用例

调用登录接口,返回tokenid和userid,调用新建目录接口,返回docid,调用开启共享邀请接口,返回开启链接后的外链link、密码password、到期时间endtime、权限perm、外链使用次数limittimes。

最后断言这些返回的字段是否正确,会用到用户关键字should be equal、should contain等。

四)执行测试用例,查看结果

点击Start后,用例执行完成后,再点击Log查看日志

这样,一个完整的自动化测试用例就完成了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/835680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“云教室”来了! 麒麟信安打造晋城市红星小学多媒体教室建设新标杆

当前,教育行业正面临教育信息化的重大变革。随着信息技术的发展,集声音、图像、视频动画等多种功能于一体的信息技术课逐渐成为学生群体最受欢迎的课程之一。 近日,麒麟信安为晋城市红星小学量身打造的“云教室”全新上线。据悉,…

IDEA如何生成 serialVersionUID

序列化和反序列化 Java是面向对象的语言,与其他语言进行交互(比如与前端js进行http通信),需要把对象转化成一种通用的格式比如json(前端显然不认识Java对象),从对象到json字符串的转换&#xff…

【css】css实现字母大小写转换

text-transform 属性用于指定文本中的大写和小写字母。 uppercase&#xff1a;将字母转为大写lowercase&#xff1a;将字母转为小写capitalize&#xff1a;将每个单词首字母转为大写 代码&#xff1a; <style> p.uppercase {text-transform: uppercase; }p.lowercase …

Mendix Excel导出介绍

一、前言 之前我们聊到企业实现应用现代化是一项长期的任重道远的工作&#xff0c;通过Excel导入组件可以作为一个好的起点把企业的业务从线下迁移到线上&#xff0c;当把应用迁移之后&#xff0c;最终结果会有各种的报表展示&#xff0c;这时基于实际业务的需求&#xff0c;我…

springboot jekins打包

新建Item 选择freestyle 配置下拉框 This project is parameterized 配置git 构建shell脚本 脚本 BUILD_IDDONTKILLME . /etc/profile export PROJ_PATHpwd export TOMCAT_APP_PATH/root/local/apache-tomcat-8.5.45 export BASE_PATH/root/localecho $PROJ_PATH echo $TO…

ESP32-C2开发板 ESP8684芯片 兼容ESP32-C3开发

C2是一个芯片采用4毫米x 4毫米封装&#xff0c;与272 kB内存。它运行框架&#xff0c;例如ESP-Jumpstart和ESP造雨者&#xff0c;同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统&#xff0c;受到了全球用户的信赖。它由支持Espressif以及所有…

IDEA的实用快捷键大全

目录 1.常规快捷键 1.1通用类 1.2注释类 1.3操作类 1.4展开与关闭 2.智能补全类快捷键 3.程序结构类快捷键 4.统一操作快捷键 1.常规快捷键 1.1通用类 像 Ctrl C 复制&#xff0c; Ctrl V 粘贴&#xff0c; Ctrl S保存文件&#xff0c; Ctrl X剪切&#xff0c;这种…

HCIP 打破BGP水平分割-反射器、联邦

打破IBGP的水平分割的条件 IBGP水平分割---避免IBGP环路---从一个IBGP邻居处学习到的路由条目不能传递给本地的其他IBGP邻居&#xff1b; 因为BGP可以非直连建邻&#xff0c;故正常一台运行了BGP协议的路由器&#xff0c;均存在EBGP邻居&#xff0c;需要从其他AS学习路由条目…

MySQL数据库如何实现AX规范

本文我们来讨论 MySQL 的 XA 规范有哪些应用相关的内容。 MySQL 为我们提供了分布式事务解决方案&#xff0c;在前面的内容中 聊一聊分布式事务的解决方案 提到过 binlog 的同步&#xff0c;其实是 MySQL XA 规范的一个应用&#xff0c;那么 XA 规范是如何定义的&#xff0c;具…

2023牛客暑期多校训练营4

A.Bobo String Construction s取全0串或者全1串,至少有一者满足题述条件 大致感受一下 随便举几个例子: t s t 0000|0000|0000 s为全0不符合,但s为全1符合 1001|00|1001 s为全0不符合,但s为全1符合 101|000000|101 s为全0或为全1均符合 所以只需判断全0串或者全1串哪个符合题述…

redis原理 3:未雨绸缪 —— 持久化

redis原理 3&#xff1a;未雨绸缪 —— 持久化 Redis 的数据全部在内存里&#xff0c;如果突然宕机&#xff0c;数据就会全部丢失&#xff0c;因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失&#xff0c;这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种…

超越年龄限制:保持体能与积极心态的重要性(AI)

机器人和人工智能&#xff0c;没有年龄限制&#xff0c;并且越来越强&#xff0c;代表了最先进的生产力方向。 AI&#xff1a; 机器人和人工智能的发展代表了最先进生产力的方向&#xff0c;它们可以帮助人们更高效地完成各种任务&#xff0c;从而推动经济和社会的发展。机器人…

SpringDataJPA框架使用笔记

SpringDataJPA框架使用笔记 什么是JPA jpa概念 JPA是Java中用于实现对象关系映射ORM的API标准&#xff0c; JPA提供了一种将JAVA对象映射到关系数据库的方式&#xff0c; 使开发人员可以使用面向对象的方式操作数据库&#xff0c;而不需要编写繁琐的SQL语句。 jpa中的一些概…

牵手科瑞物业,合合信息智能文字识别技术助力企业沉淀数据资产

名片是商务场景中信息传递的重要载体。比起传统的纸质名片&#xff0c;可动态化呈现个人及企业信息&#xff0c;洞察访客偏好的数字名片已成为企业对外展示、拓展客户的重要工具。近期&#xff0c;合合信息旗下名片全能王与科瑞物业达成合作。通过推动企业数字名片在科瑞物业各…

【若依管理系统】开发功能流程总结

1.在菜单管理中&#xff0c;新增需要创建的菜单&#xff0c;如图 并添加查询、新增、修改、删除等按钮和对应的权限和路径 例如如果没有添加查询按钮&#xff0c;那么在修改的时候&#xff0c;会存在报错&#xff1a;没有权限。上图对应后台代码 2.domain中创建设计的表结构及操…

优化全域广告投放效果的方法与技巧

好久不见&#xff01;不少读者催更的《企业广告投放逻辑精讲》系列继续更新啦&#xff01;感谢各位忠实读者的支持&#xff01; 经过前两章的学习&#xff0c;想必你已经了解了广告投放的正确方式&#xff0c;但事实上&#xff0c;掌握方法只是基础&#xff0c;相当于你要学习…

【计算机视觉】干货分享:Segmentation model PyTorch(快速搭建图像分割网络)

一、前言 如何快速搭建图像分割网络&#xff1f; 要手写把backbone &#xff0c;手写decoder 吗&#xff1f; 介绍一个分割神器&#xff0c;分分钟搭建一个分割网络。 仓库的地址&#xff1a; https://github.com/qubvel/segmentation_models.pytorch该库的主要特点是&#…

Python web实战之Django用户认证详解

关键词&#xff1a; Python Web 开发、Django、用户认证、实战案例 概要 今天来探讨一下 Django 的用户认证吧&#xff01;在这篇文章中&#xff0c;我将为大家带来一些有关 Django 用户认证的最佳实践。 1. Django 用户认证 在开发 Web 应用程序时&#xff0c;用户认证是一个…

Android系统APP之SettingsProvider

前言 SettingsProvider顾名思义是一个提供设置数据共享的Provider&#xff0c;SettingsProvider和Android系统其它Provider有很多不一样的地方&#xff0c;如&#xff1a; SettingsProvider只接受int、float、string等基本类型的数据&#xff1b;SettingsProvider由Android系…

喜讯!箱讯AnyCase荣获“2023年度苏州市服务型制造示范平台”

近日&#xff0c;苏州市工业和信息化局公示了“2023年度苏州市服务型制造示范企业&#xff08;平台&#xff09;”名单。箱讯科技&#xff08;上海&#xff09;有限公司子公司苏州箱讯供应链管理有限公司荣耀上榜。 ​ 添加图片注释&#xff0c;不超过 140 字&#xff08;可选…