如何将java类导入到Robot框架之类的库中

我无法理解如何在Robot Framework中导入.jar文件。

这是代码:

*** Settings *** Library MyLibrary *** Test Cases *** My Test Do Nothing Hello world 

和Java:

 public class MyLibrary { public void hello(String name) { System.out.println("Hello, " + name + "!"); } public void doNothing() { } } 

在.jar中解压后,我输入了C:\ Python27 \ Lib \ site-packages \ MyLibrary,我创建了空的__init__.py文件。 在我执行我的Robot文件后: pybot TestJavaLibrary.robot我得到这个警告:

 [ WARN ] Imported library 'MyLibrary' contains no keywords. ============================================================================== TestJavaLibrary ============================================================================== My Test | FAIL | No keyword with name 'Do Nothing' found. 

如何使用这个jar,就像外部库一样?

我也参与过同样的项目,需要通过机器人框架调用Java类。 以下是导入Java库的简短示例:

文件myJavaLibrary.java

 public class myJavaLibrary{ public void my_java_add(int i, int j, int k) { if(i+j == k) return; System.out.println("Invalid Sum"); assert false; } } 

使用命令:javac myJavaLibrary.java

这将在同一目录中创建一个.class文件:myJavaLibrary.class

在机器人文件中导入:

文件:test.robot.txt

 *** Settings *** Library myJavaLibrary.java *** Test Cases *** User defined Java Test My Java Add 5 7 12 

您可能会注意到库myJavaLibrary.java已添加到设置部分,因为机器人文件与.class文件位于同一目录中。 您可以添加相同的绝对路径。

您可能需要安装jython来运行机器人文件。

最后使用命令:

jython -m robot test.robot.txt。

最终输出可以在run文件夹的log.html文件中看到

对于JAR导入:

环境变量中包含.jar文件的绝对路径:

变量名称 :CLASSPATH

变量值 :“包含Jar的目录的绝对路径”\ *;

在这种情况下,该过程对于运行机器人文件是相同的,并且不需要包括任何库。

希望这有效。

参考: http : //robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html

你必须使用jython(jybot)。 还有其他设置,如JYTHONPATH。