Ho una parola chiave implementata con Java e se la parola chiave non riesce ho bisogno di interrompere l'intera esecuzione del test con il messaggio: "ERRORE: messaggio di esempio".Come interrompere l'esecuzione del test in Robot Framework tramite parole chiave implementate con Java?
risposta
Date un'occhiata al manuale d'uso in Reporting keyword status:
Si può gettare alcuna eccezione nel metodo parola chiave. Il tipo di eccezione verrà utilizzato come prefisso ed è possibile aggiungere anche un messaggio.
Non sono riuscito a implementare la soluzione dalla guida dell'utente, ma ho risolto il problema con "lanciare nuovo AssertionError (" ERRORE: messaggio di esempio ");" – PavloSI
La guida per l'utente dice anche che sollevare le eccezioni è il modo corretto – binithb
Il collegamento alla pagina non funziona. – kame
vedo 2 soluzioni per questo:
- Prima soluzione:
Nella prova di sé è possibile utilizzare
Library Dialogs
(....)
pause execution myMessage
che mostrerà un popup sullo schermo e di pausa l'esecuzione fino alla chiamata del pulsante OK. È possibile, ad esempio, restituire un valore specifico dalla parola chiave java in caso di errore e mettere in pausa se tale valore viene restituito.
- seconda soluzione
preferisco questo uno: basta collegare un debugger al codice Java che esegue la parola e fermarsi quando si verifica un'eccezione. Permette anche di ispezionare lo stato della JVM in quel momento. This post mostra come collegare un debugger remoto alla jvm che esegue la parola chiave del robot.
Sollevare le eccezioni è il modo ufficialmente raccomandato.
Java (come ci nel commento alla risposta accettata)
throw new AssertionError("ERROR: example message")
Python
from exceptions import AssertionError
.
.
.
def rftest(self):
test_result = lib.runtest()
if (0 != test_result):
raise AssertionError("Test Failed")
postale po 'di codice. –
Questa è una domanda valida – janne