如何使用SwingLibrary设置Robot Framework独立jar?

时间:2014-02-11 07:56:45

标签: swing jar robotframework gui-testing

我正在使用带有SwingLibrary的Robot Framework来测试基于Java Swing的应用程序。由于我不熟悉Python而且也不想设置Python环境,所以我决定使用Robot独立JAR版本(当前版本2.8.4)。

我的问题是与SwingLibrary(版本1.8.0)结合使用的设置。我不知道将库放在何处以便机器人识别它。

到目前为止,我有以下测试用例(mytest.txt):

*** Settings ***
Library     SwingLibrary

*** Test Cases ***
MyTestCase
     Start Application     MyApp

我尝试将独立jar与测试用例一起放在一个文件夹中,并创建了一个子文件夹(称为Lib),我放置了SwingLibrary JAR(后来还提取了JAR)。 我将SwingLibrary以及我自己的应用程序添加到类路径中,尝试通过以下方式执行机器人:

java -Xbootclasspath/a:Lib/swinglibrary-1.8.0.jar:Lib/MyApp.jar -jar  robotframework-2.8.4.jar  mytest.txt

以及

java -jar robotframework-2.8.4.jar mytest.txt

我总是遇到以下错误之一:

[ WARN ] Imported library 'SwingLibrary' contains no keywords
==============================================================================
Mytest
==============================================================================
MyTestCase                                                           | FAIL |
No keyword with name 'Start Application' found.

[ ERROR ] Error in file 'mytest.txt': Importing test library 'SwingLibrary' failed: ImportError: No module named SwingLibrary

1 个答案:

答案 0 :(得分:1)

您可以使用不带-jar选项的独立jar,允许您以标准方式指定类路径。独立jar的主要类是org.robotframework.RobotFramework,所以语法是

java -cp robotframework-2.8.4.jar:Lib/swinglibrary-1.8.0.jar:Lib/MyApp.jar org.robotframework.RobotFramework

稍微冗长但它是标准的,因此避免了使用非标准-Xbootclasspath选项导致的任何奇怪。