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

时间:2015-09-28 10:27:58

标签: java python robotframework

我正在尝试基于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:
    我目前正在Python测试库中使用所需选项(更像CLI)调用Java可执行文件,然后解析日志以匹配相关测试。

最后一个选项正在运作,但我想知道这三者之间的最佳方法。

1 个答案:

答案 0 :(得分:1)

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

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

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