如何将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。