我正在使用带有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
答案 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选项导致的任何奇怪。