/ / Come configurare il vaso autonomo di Robot Framework con SwingLibrary? - swing, jar, robotframework, gui-testing

Come installare il vaso autonomo di Robot Framework con SwingLibrary? - swing, jar, robotframework, gui-testing

Sto usando Robot Framework con SwingLibrary sutestare un'applicazione basata su Java Swing. Poiché non sono abituato a Python e non voglio configurare l'ambiente Python, ho deciso di utilizzare la versione JAR standalone di Robot (versione corrente 2.8.4).

Il mio problema è la configurazione in combinazione con SwingLibrary (versione 1.8.0). Non so dove mettere la libreria in modo tale che venga riconosciuta da Robot.

Finora, ho il seguente test case (mytest.txt):

*** Settings ***
Library     SwingLibrary

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

Ho provato a inserire il barattolo autonomocongiunzione con il caso di test in una cartella e creato una sottocartella (chiamata Lib) dove ho inserito il JAR di SwingLibrary (e in seguito estratto anche il JAR). Ho aggiunto SwingLibrary e la mia applicazione al classpath, provando ad eseguire il robot nel seguente modo:

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

e anche con

java -jar robotframework-2.8.4.jar mytest.txt

Ottengo sempre uno dei seguenti errori:

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

o

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

risposte:

1 per risposta № 1

Puoi usare il barattolo autonomo senza il -jaropzione, che consente di specificare il classpath nel modo standard. La classe principale per il jar standalone è org.robotframework.RobotFramework, quindi la sintassi sarebbe

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

Leggermente più verboso ma standard e quindi evita qualsiasi stranezza causata dall'utilizzo dell'opzione -Xbootclasspath non standard.