Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Saving execution status for future reference.

More about $$_Status

  • $$_Status is not case sensitive
  • It gets overridden after each step is executed, hence can store the status of last executed step only.
  • Values of $$_STATUS variable

...

Data type

Example

Valid/Invalid

Any

  1. var1=2
  2. var1=var2
  3. var1*=1
  4. var1+=2
  5. var1++
  6. var1=var2+2==10

All are invalid as assignment operator is not allowed in expression

String

  1. ""India"=="India""
  2. ""{var1}"=="{var2}""
  3. India==India
  4. {var1}=={var2}


    (var1 and Var2 are stored variables containing string values)

  1. Valid
  2. Valid
  3. Invalid

    (The string data passed not specified in quotes "" also the whole expression is not inside "")
  4. Invalid
    (Variables containing string data are not specified in quotes "" also the whole expression is not inside "")

Integer

  1. 1==1
  2. {var1}=={var2}
  3. ""1"=="1""
  4. ""{var1}"=="{var2}""


    (var1 and Var2 are stored variables containing integer values or numbers)
  1. Valid
  2. Valid
  3. Valid
  4. Valid

Float

  1. 1.254==1.345
  2. {var1}=={var2}


    (var1 and Var2 are stored variables containing Float values)
  1. Valid
  2. Valid

Boolean

  1. true==true
  2. false==false
  3. TRUE==TRUE
  4. FALSE==FALSE
  5. {var1}=={var2}


    (where var1 and var2 can have value either true or false)
  1. Valid
  2. Valid
  3. Invalid

    (Boolean values are case sensitive. Boolean values should be passed in small case).
  4. Invalid
  5. Valid

Logical operators

(var1=true , var2=false)

  1. {var1}&&{var2}==false
  2. {var1}

{var2}==true

  1. !({var1}&&{var2})==true


  1. Valid
  2. Valid
  3. Valid

Arithmetic
Operators

  1. 1+1==2
  2. 1-1==0
  3. 2*2==4
  4. 8/2==4
  5. 9%2==1
  1. Valid
  2. Valid
  3. Valid
  4. Valid
  5. Valid

Relational Operators

  1. 1==1
  2. 1!=2
  3. {Var1}<{var2}
  4. {var1}>{var2}
  5. {Var1}<={var2}
  6. {var1}>={var2}
  1. Valid
  2. Valid
  3. Valid
  4. Valid
  5. Valid
  6. Valid

Bitwise Operators

(var1=60 , var2=13)

  1. ({var1}&{var2})==12
  2. ({var1}

{var2})==61

  1. {var1}&{var2}==12


  2. {var1}|{var2}==61


  3. ({var1}^{var2})==49
  4. {var1}^{var2}==49
  5. ~{var1}==-61


  6. ~~{var1}==-61


  7. ~~({var1})==-61
  8. {var1}<<2==240
  9. {var1}>>2==15
  10. {var1}>>>2==15


  1. Valid
  2. Valid
  3. Invalid

    (Outer () are required,otherwise interpretation goes wrong and it may return false)
  4. Invalid

    (Outer () are required,otherwise interpretation goes wrong and it may return false)
  5. Valid
  6. Valid
  7. Invalid

    (~ itself is a qualitia special character)
  8. Valid

    (escape character ~ is followed by complement operator ~)
  9. Valid
  10. Valid
  11. Valid
  12. Valid

Special Characters





Using Qualitia Special characters:

  1. ""a~xyz"== "a~xyz""
  2. ""a~^xyz"== "a~^xyz""
  3. ""a~{xyz"== "a~{xyz""
  4. ""a~{xyz"== "a~{xyz""


    Always use escape character ~ before qualitia special characters ~,^,{,}

    For any other character no escape character is required.
    e.g ""as#gh%ff"==" as#gh%ff""




All are valid







...

      1. Create a new test case, add task to this test case
      2. Select the step after which the conditional block needs to be added, or the task row to which the block needs to be added.
      3. Click on Condition->Task Condition->IF
      4. Once If block is added to task, ELSE IF or ELSE blocks can be added by selecting proper task step and clicking on Condition->Task Condition->ELSE IF or Condition->Task Condition->ELSE.
      5. For adding expression, double click IF or ELSE IF
      6. Syntax of expression is as described earlier.

Anchor
_Toc481578423
_Toc481578423
Execution flow of conditional (IF-ELSE) blocks

  1. Qualitia validates expression entered by user and checks if expression is empty or contains assignment (for Example user entered a=b which is invalid). Expressions should not have assignment, users should use "==" operator instead. Hence {a}={b} is invalid expression.
  2. Rest of the syntax and semantics is checked during actual execution of test case.
  3. Users must enclose stored variables, environment variables in curly braces (for eg: {a}=={b}, or {$$_Status}==0.
  4. Consider following test case level conditional block:
  5. OpenUrlurl
  6. IF {$$_Status}==0

...

Anchor
_Toc481578424
_Toc481578424
Qualitia behavior in case of invalid expression:

  • In case if the expression entered by user is invalid, for example expression has stored variables referred but not declared, or the syntax of expression is invalid then the test case is considered to have error and Qualitia will stop execution of test case.
  • In case of dry run (run from Develop screen), Qualitia stops execution of test case
  • In case of Suite execution, Qualitia will execute next Test case in sequence. If suite has only one test case, suite execution will be stopped.
  • In all such cases, Error log in reports will explain the reason of execution failure so that users can take corrective actions.

...