2017 bis heute 2016 2015 2014 | 2013 | 2012 | 2011 2010 2009 | 2008 | 2007

(ältere Archiveinträge vor 2007 nicht dargestellt, aber in der Suche enthalten)

Mailingliste - Einträge 2017 bis heute


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QF-Test] Exception thrown in a procedure is not catched properly in the calling Jython script


  • Subject: Re: [QF-Test] Exception thrown in a procedure is not catched properly in the calling Jython script
  • From: Gregor Schmid <Gregor.Schmid@?.de>
  • Date: Wed, 25 Jan 2017 13:59:35 +0100

Hello Bernhard,

The problem is that the script can catch the UserException, but in
contrast to Try/Catch nodes QF-Test doesn't know about that at the
time when the exception is thrown an logged.

You implemented a clever workaround which, however, is needlessly
complex. The easiest solution is

+ Try
  + Script
  + Catch UserException

In that construct you can use try:/except: in your script and react to
the exception in the except: clause as you would expect. The outer
Try/Catch with QF-Test nodes suppresses the exception state in the
run-log.

Of course you can also write a plain script and handle the exception
in the Catch node. Both ways are possibly and may be applicable
depending on the context.

The same applies to try {...} catch {...} in Groovy scripts.

Best regards,
    Greg


Bernhard Schmitt <bernhard.schmitt@?.de> writes:

> Hello,
>
> ok, I could answer my question on my own. I just created a wrapper function to handle the exception.
>
> The call of this wrapper function is done in the original jython script:
>
> Name = ‚first‘
>
> Paras  = {‚p1‘:1,‘p2‘,2}
>
> rc.callProcedure(„wrap“,{„procName“:Name,“procParas“:Paras})
>
> The procedure „wrap“ with parameters „procName“ and „procParas“ hast the following content:
>
> Try
>
>       Jython Server Script 1
>
> Catch User Exception
>
>      Jython Server Script 2    # log the exception
>
> The Jython Server Script 1 comes here:
>
> import ast
>
> paras = ast.literal_eval(rc.lookup("procPara"))
>
> rc.callProcedure(rc.lookup("procName"),paras)
>
> Maybe it is not the smartest solution but it seems tob e working.
>
> BR
>
> Bernhard
>
> ========================================================================
>
> Bernhard Schmitt
>
> Consultant Softwaretest
>
> E-Mail: bernhard.schmitt@?.de
>
> ------------------------------------------------------------------------
>
> imbus Rhein-Main GmbH, Kirschgartenstraße 15, 65719 Hofheim, DEUTSCHLAND
>
> Tel. +49 6192 92192-0, Fax +49 6192 92192-50
>
> info@?.de http://www.imbus.de
>
> Geschäftsführer: Frank Schmeißner, Tilo Linz, Thomas Roßner
>
> Sitz der Gesellschaft: Hofheim
>
> Registergericht: Frankfurt am Main, HRB 52155
>
> ========================================================================
>
> _______________________________________________
> qftest-list mailing list
> qftest-list@?.de
> http://archive.qfs.de/mailman/listinfo/qftest-list

--
Gregor Schmid

E: gregor.schmid@?.de
T: +49 8171 38648-11
F: +49 8171 38648-16

Quality First Software GmbH | www.qfs.de
Tulpenstr. 41 | 82538 Geretsried | Germany
GF Gregor Schmid, Dr. Martina Schmid, Karlheinz Kellerer
HRB München 140833