美文网首页
gRPC 接口编写流程

gRPC 接口编写流程

作者: lvxy_js | 来源:发表于2019-05-05 16:05 被阅读0次

一. gRPC介绍

在gRPC中,客户端应用程序可以直接在不同机器上的服务器应用程序上调用方法,就像它是本地对象一样,使您更容易创建分布式应用程序和服务。

二. 如何生成gRPC代码

概述

手动编写proto文件,然后通过gRPC的程序生成C++/Python代码

使用 protocol buffers 去定义 gRPC 的 service 的方法和request 以及 response 的类型

参考TalkLogicRpc\TalkLogicRpc.proto文件

gRPC service 方法

service Call {
rpc GetTalkData (GetTalkDataReq) returns (GetTalkDataResp);
}

request 以及 response 的类型

message GetShareHandleReq {
}
message GetShareHandleResp {
uint32 result = 1;
}

三. 接口编写基本流程

    1. 找到要写的接口,例如创建会议,在开发给的描述文档查找接口方法名以及 request 请求参数
    1. 创建通道(channel)
    1. 实例化conf/cal模块接口的对象(这个对象就叫存根)
    1. 定义请求参数request
    1. 调用对应模块对象里的方法(makeCall: 创建通话,createConference: 创建会议等等),获取返回参数 response
    1. 备注:各个接口 request
      response 参数的具体属性,请查看:TalkLogicRpc\TalkLogicRpc.proto文件

实例

  • 创建一个存根

为了能调用服务的方法,我们得先创建一个存根

with grpc.insecure_channel('localhost:50006') as channel:

返回的对象实现了定义在 ConfStub 接口中的所有对象。

  • 定义 request 请求
request = TalkLogicRpc_pb2.CreateConferenceReq(listInviteMember=listInviteMember, 
                                                   videoCall=videoCall, 
                                                   groupId='')
  • 返回 responese 数据
response = stub.CreateConference(request)

以上则完成了单个接口,单个请求参数的接口用例编写介绍

四. 接口用例自动生成框架

背景

  1. 一个接口往往存在多种入参,例如建立通话的号码,可以呼各种情况【‘5061’,‘空’,‘特殊字符’等等】,而同一个接口的方法体基本相同
  2. 为了方便统计,需要使用unittest框架生成测试报告统计测试结果

需求
为了满足1和2,需要可以在同一个接口,根据参数配置,自动生成测试用例,因此封装了框架

1. 目录结构

API-Python
├─common                # 存放公共方法:包括开发给的接口,自己写的公共方法
├─result               # 执行脚本
├─testcase            # 存放用例
│      ├──call
│      └──meeting
├─config.ini                  # 工具类
├─runAll.py                  # 工具类
└─errorcode_config.xls      # 存放接口入参及期望值,一个接口一个页签

2. 注意事项

在testCase/模块的目录下新增接口测试py文件时(例如建立通话接口测试——test_make_call.py)

    1. 函数名和类型不能改变,只要改变interface_func()的方法体
    1. errorcode_config.xls 配置入参和期望值
    1. runAll.py配置
module_str = 'testCase.meeting' # 要运行的接口模块
interface_list=['test_disable_member_speaker'] # 要运行的接口名称
    1. 运行runAll.py即可测试

备注

当前的多接口运行,暂时只支持单模块多接口,后面会继续修改成 多模块多接口可配

相关文章

  • gRPC 接口编写流程

    一. gRPC介绍 在gRPC中,客户端应用程序可以直接在不同机器上的服务器应用程序上调用方法,就像它是本地对象一...

  • RChain Dapp 开发手册(四):如何与 Rnode 通信

    gRPC接口 RNode向终端用户(开发人员)开放了 gRPC 接口,此外,RNode 也使用gRPC与其他节点进...

  • 调数据主要流程

    主要流程 1.查看接口文档: 2.根据接口文档的参数编写services 3.根据接口文档返回的数据编写model...

  • 软件测试--接口流程化测试

    在接口编写完成之后,需要就行接口流程化测试,查看接口之间的数据关联性,apipost自带接口流传测试功能 点击流程...

  • 接口测试 - 测试流程

    接口测试流程逐步分为: 接口需求调研 -> 接口测试工具选择 -> 接口测试计划 -> 接口测试的用例编写...

  • Vue应用框架整合与实战--前后端分离后的开发模式篇

    开发流程 后台编写和维护接口文档,在 API 变化时更新接口文档 后台根据接口文档进行接口开发 前端根据接口文档进...

  • GRPC

    首先,GRPC是基于HTTP2来实现的网络传输协议 使用示例 编写IDL(接口描述语言),通过IDL来定义我们的服...

  • 后端接口编写流程

    1 前端页面发起请求 (测试时接口参数写死了,参数data=1,请求h5自动化测试结果的全部数据) 2 在urls...

  • 2018-10-30接口规范&接口入门

    熟悉项目业务流程 一、编写报文 编写XML使用notepad++根据接口规范编写xml请求正文 XML 指可扩展标...

  • gRPC学习笔记2 - 示例

    0. 背景 编写一个 gRPC 的示例。 1. gRPC 简介 gRPC 是谷歌开源的轻量级 RPC 通信框架,...

网友评论

      本文标题:gRPC 接口编写流程

      本文链接:https://www.haomeiwen.com/subject/rvqhoqtx.html