【背景】:

公司目前有很多产品的接口自动化测试都是基于 robotframework 框架,每条产品的加密算法,接口的规则等等都不一样,故针对每个产品的接口底层封装都是自己写 library,目前每个 library 只能在 robot 中使用,如果需要提供一些其他的工具,底层的共享之前的 library,所以想到了 robot 的 remotserver 模块。

【问题】:

网上搜到的方法基本上都是下载 remotserver 模块,然后在 library 中起个 server 服务,将 library 中的类包进去即可在 robot 中调用,这些都无法满足当前自己的需求,需求是通过代码在其他项目中调用

【解决过程】

一、网上搜到的在 robotframwork 中调用的方法
1、将 Serverlibrary 类以 server 的方式起来

2、在 ride 中进行调用方法

3、直接运行结果如下:

二、很多网上讲解都是如何在 robot 框架中调用起来的服务,那么 1、如何在外部项目中调用 2、有很多这种 library 又如何起来在一台机器中同时起来呢,此 2 个问题一直没有找到答案,幸好 robotframework 有很全的文档以及源码开源,只要先翻看官方文档以及源码了,根据 robot 的 keywords 的思路去翻看源代码,其中 lib 中如果关键字为 Remote 时,调用的客户端实际用的是 Remote.py 类

可以参照此类或则导入此类,直接调用一些方法。
问题 1,在其他项目中调用方法实现方法:

问题 2:目前想到的方法是使用多线程开启每个服务,每个服务使用不同的端口号,类名和端口号可以整成一个配置文件进行共享(目前没有做,只是开启多线程)。


↙↙↙阅读原文可查看相关链接,并与作者交流