如何在基于Python的Robot框架中包含Java测试库

我正在尝试基于Python获得一个Robot框架。 在测试块框的一侧是一个Python模拟器,我已经编写了与之交互的测试库。 另一方面,有一个Java库。

关于如何从基于Python的Robot框架中的Java类进行交互,我有以下问题:

  • 选项A:
    Robot Framework(基于Python)无缝地包括Python测试库和Java测试库。 阅读完机器人文档后,我不相信这是可能的吗? 或者也许它可能并且没有在任何地方明确提及? 我的理解是用户需要Jython才能在Robot框架中包含Java类,但我目前正在使用Python。

  • 选项B:
    使用Python测试库并使用JNI和任何可能的选项(py4j,pyjnius,javbridge等)包含Java类。

  • 选项C:
    我目前正在使用所需的选项(更像CLI)从Python测试库中调用Java可执行文件,然后解析日志以匹配相关测试。

最后一个选项是有效的,但我想知道这三者之间的最佳方法。

要直接使用java编写的关键字,您需要使用jython。

另一种选择是使用远程库接口 。 您设置了一个小型XML-RPC服务器(在java中),然后通过向robot提供服务器的地址来导入库。

好消息是有人已经编写了一个基于java的服务器。 请参阅https://github.com/ombre42/jrobotremoteserver