在机器人框架测试用例中使用java从路径导入自定义库

时间:2018-01-05 08:38:27

标签: automated-tests robotframework

我创建了一个由机器人关键字组成的自定义库。为了使用这些关键字,我必须指定

MyModuleB

然而,这看起来并不干净。我想要

Library    abc.xyz.<Class_name>

这似乎是标准的方式。我如何让它工作?

2 个答案:

答案 0 :(得分:0)

您可以在PYTHONPATH环境变量中指定自定义库的路径 PYTHONPATH

然后像

一样使用它
*** Settings ***
Library    abc.java

有关更多选项和信息,您也可以参考以下答案

Import custom library from a different path in Robot Framework

答案 1 :(得分:0)

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