Submit and vote on feature ideas.

Welcome to the new Parasoft forums! We hope you will enjoy the site and try out some of the new features, like sharing an idea you may have for one of our products or following a category.

ScriptingContext.setValue syntax error in Jythlon

Options
dwhitehouse
dwhitehouse Posts: 6

In the script below, the last line using "ScriptingContext.setValue" is returning an error in Details stating that:
" File "", line 7, in setTestFlowLogicVar
TypeError: setValue(): expected 3 args; got 2"

The api doc state the syntax is:
"boolean setValue(String variableName, String value)"

Where is this third arg coming from? The "Evaluate" scripting function does not return any error messages.

from com.parasoft.api import *

def setTestFlowLogicVar(input, context) :
rowCount = context.getValue("One time test prep (Delete failed user logins; get planned attempts)", "DeleteFailedLogins: updatedRows")
if (rowCount >= 0) :
# clear the FailedLoginAttempts DB flag indicating a successful reset if the SQL result does not return a null
success = ScriptingContext.setValue("bClearFailedLoginAttempts","false")

Comments

  • tmejia
    tmejia Posts: 2 admin
    Options

    Hello,

    I believe you need to use the context variable instead of the ScriptingContext class when calling the setValue method. Please try the following:

    from com.parasoft.api import *

    def setTestFlowLogicVar(input, context) :
    rowCount = context.getValue("One time test prep (Delete failed user logins; get planned attempts)", "DeleteFailedLogins: updatedRows")
    if (rowCount >= 0) :
    # clear the FailedLoginAttempts DB flag indicating a successful reset if the SQL result does not return a null
    success = context.setValue("bClearFailedLoginAttempts","false")

    Also, for your if statement, I believe rowCount is a String since that's the return value of the getValue method. I'm not sure if you're trying to do a condition statement for a String or int, but I just wanted to let you know.

    Hope this helps.

  • dwhitehouse
    dwhitehouse Posts: 6
    Options

    Thank you, I had been using setVariable, which was deprecated to ScriptingContext.setValue according to the api doc. I'll give this a go.