python实现基于RPC协议的接口自动化测试

这篇具有很好参考价值的文章主要介绍了python实现基于RPC协议的接口自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是RPC

RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议。从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程的。

RPC 是一种软件通信协议,一个程序可以用来向位于网络上另一台计算机的程序请求服务,而不必了解网络的细节。RPC 被用来像本地系统一样调用远程系统上的其他进程。过程调用有时也被称为函数调用或子程序调用

02 RPC框架

RPC本身是一套协议规范,遵循这一套规范实现的框架比较流行的有以下几个:

grpc框架

gRPC是由 google开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言。gRPC基于 HTTP/2协议传输

dubbo框架

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:

① 面向接口的远程方法调用

② 智能容错和负载均衡

③ 服务自动注册和发现

thrift框架

Thrift是一种接口描述语言和二进制通讯协议。原由Facebook于2007年开发,2008年正式提交Apache基金会托管,成为Apache下的开源项目。

Thrift是一个RPC通讯框架,采用自定义的二进制通讯协议设计。相比于传统的HTTP协议,效率更高,传输占用带宽更小。另外,Thrift是跨语言的

Hetty 框架

Hetty 是一款构建于 Netty 和 Hessian 基础上的高性能的 RPC 框架

Hessian 是一款基于 HTTP 协议的 RPC 框架,采用的是二进制 RPC 协议,非常轻量级 ,且速度较快。

Netty 是一款基于事件驱动的 NIO 框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Hetty 客户端完全由 Hessian 实现,只是使用 Netty 重新实现了服务端

03 基于grpc框架服务的接口测试

01 创建一个grpc服务接口

注意在公司里你们的grpc服务可能并不是采用python去实现的,课上咱们为了测试grpc的接口,使用python先创建grpc的服务接口。

安装依赖库

python实现基于RPC协议的接口自动化测试

创建grpc接口协议文档

在项目下创建一个grpc_study包,包下创建一个add.proto文件,将下述内容复制进去

python实现基于RPC协议的接口自动化测试

生成服务代码

终端下进入proto文件所在目录,执行下述命令:

python实现基于RPC协议的接口自动化测试

创建服务端

python实现基于RPC协议的接口自动化测试

02 调用grpc接口客户端

以下代码就是调用第一步中的grpc接口的

python实现基于RPC协议的接口自动化测试

03 接口框架中适配grpc封装

1、封装底层channel初始化

在config目录下创建grpc.yml,其中写上grpc接口的地址:

python实现基于RPC协议的接口自动化测试

在common目录下的client中增加下述代码:

python实现基于RPC协议的接口自动化测试

在conftes.py中增加下述代码:

python实现基于RPC协议的接口自动化测试

2、封装grpc接口调用

在api包下创建一个grpcapi的包,将grpc的定义proto文件拷贝进去,然后在终端下进入grpcapi目录执行下述命令

python实现基于RPC协议的接口自动化测试

该目录下文件如下:

python实现基于RPC协议的接口自动化测试

修改add_pb2_grpc.py中的导入如下:

python实现基于RPC协议的接口自动化测试

根据上述代码封装接口调用,创建一个api_client.py,写上如下代码就是grpc提供的add接口的调用方法

python实现基于RPC协议的接口自动化测试

3、编写grpc接口测试用例

在testcases包下创建一个grpcapi包,创建一个test_grpc_api.py,编写针对add接口的测试用例如下:

python实现基于RPC协议的接口自动化测试

执行测试

04 基于dubbo框架服务的接口测试

dubbo服务管理地址:

http://...:**/dubbo-admin-2.6.0

用户名和密码都是root

01 dubbo服务管理简单使用

先设置为中文,右侧选择语言

python实现基于RPC协议的接口自动化测试

选择服务治理 — 服务
python实现基于RPC协议的接口自动化测试

python实现基于RPC协议的接口自动化测试

点开MarketService,再点ip和端口,打开如下:

python实现基于RPC协议的接口自动化测试

02 实战接口说明

第1步里我们看到了两个接口,exchange和lottery,下面是这两个接口的业务说明

exchange

业务是积分兑换,该接口的参数是一个对象,对象类型对应后台java代码中的某个类cn.testfan.dubbo.model.ExchangeRequest,这个类对象对应的属性如下,这些属性其实就是我们的参数

python实现基于RPC协议的接口自动化测试

lottery

业务是抽奖,参数有两个,都是数字,没有参数名称,按照顺序,第一个表示参与的活动id,第二个表示用户id

03 python调用dubbo接口

安装第三方库

python实现基于RPC协议的接口自动化测试

dubbo接口调用

python实现基于RPC协议的接口自动化测试

04 接口框架中适配dubbo封装

1、封装底层dubbo初始化

在config目录下创建dubbo.yml文件,写上如下内容

python实现基于RPC协议的接口自动化测试
在client.py里增加下述代码

python实现基于RPC协议的接口自动化测试

2、封装api层

dubbo接口通常是按照服务进行划分,一个服务下有多个接口,针对该服务创建对象,然后调用各个接口。

在api包下创建dubboapi的包,针对market服务创建一个market_api.py文件,写上如下代码:

python实现基于RPC协议的接口自动化测试

3、测试用例层

在testcases包下创建dubboapi包,在其下创建test_market_service.py,写上如下代码

python实现基于RPC协议的接口自动化测试

执行测试


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

python实现基于RPC协议的接口自动化测试

python实现基于RPC协议的接口自动化测试文章来源地址https://www.toymoban.com/news/detail-443139.html

到了这里,关于python实现基于RPC协议的接口自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (基于python)简单实现接口自动化测试

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年02月08日
    浏览(45)
  • 基于Python 简易实现接口测试自动化

    目录 实现思路 统筹脚本 请求封装  日志封装 结果比对 结果邮件 用例获取及数据格式化 请求url转换 测试用例excel结构 测试报告 邮件接收结果 资料获取方法 使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能 目录结构如下: 下

    2024年02月13日
    浏览(42)
  • 基于Python简单实现接口自动化测试(详解)

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年01月20日
    浏览(48)
  • 简单实现接口自动化测试(基于python+unittest)

    本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Python自带的Unittest框架调用,期望各位可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景

    2024年02月07日
    浏览(70)
  • 基于 python 的接口自动化测试,让你轻松掌握接口自动化

    目录 目录 一、简介                ​编辑二、引言 三、环境准备 四、测试接口准备 接口信息 五、编写接口测试 六、优化 封装接口调用   本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势; 然后简单讨论了一下接口测试框架的要点; 最后介绍了一下

    2023年04月19日
    浏览(72)
  • Python实现接口自动化

    接口自动化是指通过编写脚本来实现对接户外Web服务的测试和验证,可以提高测试效率、缩短测试周期。以下为Python实现接口自动化的基本步骤: 1. 确定接口地址 首先需要明确需要测试的接口地址,可以使用Python中的requests库向该地址发送get/post请求获取返回结果。 ``` pyth

    2023年04月20日
    浏览(39)
  • 基于 Junit 的接口自动化测试框架实现

    目录 前言: 分层的自动化测试 接口测试的意义 接口测试框架选型 我们封装的接口测试框架 接口测试关键实践 测试代码规范 (仅供参考) 前言: 基于JUnit的接口自动化测试框架可以实现对接口进行自动化测试,并提供了丰富的断言和报告功能。JUnit是一个流行的Java单元测试

    2024年02月16日
    浏览(54)
  • 基于Python接口自动化测试框架(初级篇)附源码

    目录 引言 框架设计思路 框架结构 运行程序 总结 总结:   很多人都知道,目前市场上很多自动化测试工具,比如:Jmeter,Postman,TestLink等,还有一些自动化测试平台,那为啥还要开发接口自动化测试框架呢? 相同之处就不说了,先说一下工具的局限性: 1.测试数据不可控

    2024年02月11日
    浏览(74)
  • 基于Python的接口自动化-JSON模块的操作

    目录 引言 一、JSON是啥? 二、JSON的有效数据类型 三、Python JSON库的使用 结语         在使用Python进行接口自动化测试脚本时,一般都是脚本只写接口测试逻辑实现, 而执行脚本时需要的测试用例数据都是写入excel、数据库或者指定的配置文件中,脚本通过读取这些测试数据

    2024年02月08日
    浏览(49)
  • 如何实现基于场景的接口自动化测试用例?

    自动化本身是为了提高工作效率,不论选择何种框架,何种开发语言,我们最终想实现的效果,就是让大家用最少的代码,最小的投入,完成自动化测试的工作。 基于这个想法,我们的接口自动化测试思路如下: 1.不变的内容全部通过配置化来实现,比如:脚本执行的环境、

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包