一、背景:
有些接口是http协议的,也就是可以用http://...这种网址的方式访问这个接口,然后在此基础上使用post或者get请求、带上参数等等。这个时候如果要对这个接口做自动化测试,只需要用postman等做常规的接口测试,检查他的请求参数和返回结果是否是我们想要的。
但是,也有一些接口是纯后台的接口,比如后台用java写的,但没有写成http的接口,java服务里只有接口定义、返回参数。这时候怎么办呢?答案是使用脚本来请求这个实现方法,然后获得返回。这个时候,涉及的知识点就包括:python脚本(也可以用java或者其他语言实现)、RPC、hession、代理、序列化和反序列化。。。
二、原理
1、RPC是什么?
远程过程调用(Remote Procedure Call,缩写为RPC),是一种用于构建基于C/S(客户端/服务器)的分布式应用程序技术。调用者与被调用者可能在同一台服务器上,也可能在由网络连接的不同服务器上,对于他们来说,网络通信是透明的,就是像调用本地方法一样调用远程方法。可以说,RPC是一种编程模型
2、RPC具体要干嘛?
(1)服务端如何确定客户端要调用的函数?
在远程调用中,客户端和服务端分别维护一个【ID->函数】的对应表, ID在所有进程中都是唯一确定的。客户端在做远程过程调用时,附上这个ID&