【问题标题】:How to import Java Libraries in Robot Framework, If I am trying to test Java code from it如何在 Robot Framework 中导入 Java 库,如果我试图从中测试 Java 代码
【发布时间】:2022-01-21 06:27:27
【问题描述】:

我在 Mac OS(Intel 芯片)上制作了一个包含以下文件和代码(java)的整个项目,它们都在同一个目录中。我在终端上运行 example.robot(命令机器人 example.robot ) 但得到以下输出。

谁能建议我如何让它工作或我在代码中遗漏的任何内容?

example.robot

*** Settings ***
Documentation     A test suite for valid login.
...
...               Keywords are imported from the resource file
Resource          resource.robot

*** Test Cases ***
Valid Login
    Create Java Folder

resource.robot

*** Settings ***
Documentation     Reusable keywords and variables.
Library           SampleKeywordsLibrary

*** Keywords ***
Create Java Folder
    create_folder_java

SampleKeywordsLibrary.java

import java.io.File;



public class SampleKeywordsLibrary {

  public static final String ROBOT_LIBRARY_SCOPE = "GLOBAL";
  public void create_folder_java() {
    String currentDirectory = System.getProperty("user.dir");
    String path = currentDirectory + "/SampleFolderJava";
    //Instantiate the File class
    File f1 = new File(path);
    //Creating a folder using mkdir() method
    boolean bool = f1.mkdir();
  }

}

输出

[ ERROR ] Error in file 'robotTest/src/main/java/resource.robot' on line 3: Importing library 'SampleKeywordsLibrary' failed: ModuleNotFoundError: No module named 'SampleKeywordsLibrary'
Traceback (most recent call last):
  None
PYTHONPATH:
  /Library/Frameworks/Python.framework/Versions/3.7/bin
  /Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip
  /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7
  /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload
  /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
==============================================================================
Example :: A test suite for valid login.                                      
==============================================================================
Valid Login                                                           | FAIL |
No keyword with name 'create_folder_java' found.
------------------------------------------------------------------------------
Example :: A test suite for valid login.                              | FAIL |
1 test, 0 passed, 1 failed
==============================================================================
Output:  robotTest/src/main/java/output.xml
Log:     robotTest/src/main/java/log.html
Report:  robotTest/src/main/java/report.html

【问题讨论】:

  • 你安装robotframework是使用jython吗?普通python版机器人无法导入java代码。该错误表明您使用的是 python,而不是 jython。

标签: java macos automation robotframework jython


【解决方案1】:

库导入不成功,您无法使用关键字。查看有关如何import 的文档。 最简单的解决方案是使用库的绝对路径。 例如:

*** Settings ***    
Library    /absolute/path/JavaLibrary.java

尝试使用来自系统variables的当前目录变量

【讨论】:

  • 基于 python 的机器人框架安装将无法导入 java 文件。
  • @BryanOakley 这是一个很好的观点,我根本没有注意到。
猜你喜欢
  • 2020-02-05
  • 2015-11-12
  • 2018-10-07
  • 2015-10-10
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
  • 1970-01-01
相关资源
最近更新 更多