【发布时间】:2018-01-09 01:01:39
【问题描述】:
我创建了一个包含机器人关键字的自定义库。为了使用这些关键字,我必须指定
Library abc.xyz.<Class_name>
然而这看起来并不干净。我只想拥有
Library <class_name>
这似乎是标准的方式。我如何让它发挥作用?
【问题讨论】:
标签: automated-tests robotframework
我创建了一个包含机器人关键字的自定义库。为了使用这些关键字,我必须指定
Library abc.xyz.<Class_name>
然而这看起来并不干净。我只想拥有
Library <class_name>
这似乎是标准的方式。我如何让它发挥作用?
【问题讨论】:
标签: automated-tests robotframework
您可以在 PYTHONPATH 环境变量中指定自定义库的路径
然后像使用它一样
*** Settings ***
Library abc.java
有关更多选项和信息,您也可以参考以下答案
Import custom library from a different path in Robot Framework
【讨论】:
Robot Framwork 中的库名称由两部分组成:
Library <Package Path>.<Class_name>
在许多情况下,这意味着类似:
Library org.company.application.<Class_name>
这在 Java 代码中通常体现为:
package org.company.application;
public class SampleKeywordLibrary {
为了仅在 Robot Framework 中使用类名,您的类中必须没有定义包路径。根据您的编辑器,它可能还需要对您的项目设置进行一些更改。
Java:
public class SampleKeywordLibrary {
public static final String ROBOT_LIBRARY_SCOPE = "GLOBAL";
public void MyCustomJavaKeyword() {
}
}
然后机器人文件看起来像:
*** Settings ***
Library SampleKeywordLibrary
*** Test Cases ***
TC
My Custom Java Keyword
当您将其导出/编译为 Jar 文件后,将其放置在您想要存储它的位置并从 Jython 上下文中启动 Robot Framework,如下所示:
C:\Python\jython2.7.0\bin\jython.exe -
J-Dpython.path=C:\Python\jython2.7.0\Lib\site-packages
-J-cp .;C:\TA\Workspace\StackOverflowJython\SampleKeywordLibrary.jar
-m robot.run
-s StackOverflowJython.Test
C:\TA\Workspace\StackOverflowJython
【讨论】: