Versions Compared

Key

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

...

Qualitia users can add conditional blocks using the IfELSE-Else IF button.  

Task Level Conditional Blocks

...

On the task editor screen, click Image Added (Add Conditional Block button) to select any of the following conditions:

  • IF
  • Else IF
  • Else

Adding Expression for IF Step

  • Click the

...

  • Add Conditional Block button, select

...

  • IF.
  • You can add Else block within an IF block. 

Forming Expression for IF /ELSE IF:

Expressions can be entered for IF and ELSE IF conditional step. User can use stored variables, environment variables as expressions.

  1. Ensure that it is part IF/Else is added after an IF statement.
  2. You can use Numeric, Boolean comparisons, string values, and arithmetic operators.
  3. Environment variables and stored variables should be included in curly braces in expression.
  4. User can save the execution status of last executed step as anyone of the following.
    • Using $$_STATUS directly in expression
    • Saving status of step ({$$_STATUS) for } for use as an expression.
      User can save the execution status of a step in variable. This status can later be used as an expression of IF step.
    • Saving execution status for future reference. You need to use StoreVariable Action and in the second parameter column enter as "{$$_Status]}".  For more information about $$_Status and similar variables, refer to Qualitia System Variables

Examples of Expressions:

Anchor
Examples of Expressions
Examples of Expressions

Following The following are some examples of valid/invalid expressions, assuming var1 and var2 as stored variables.

...

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
  3. !({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
  3. {var1}&{var2}==12
  4. {var1}|{var2}==61
  5. ({var1}^{var2})==49
  6. {var1}^{var2}==49
  7. ~{var1}==-61
  8. ~~{var1}==-61
  9. ~~({var1})==-61
  10. {var1}<<2==240
  11. {var1}>>2==15
  12. {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

...

...


Adding the Task Step on the TC Screen

...

In case you want to avoid adding a task for a single step, you can add TC step. You can then add object, action, and parameters to a TC step just like a task step. 

...

The execution status of TC step can be stored the same as the task step.

ELSE IF

...

Blocks on the Test Cases Screen

On the Test Cases screen you can add conditional blocks to task and Test Case. The Test Case level ELSE-IF -ELSE blocks can contain tasks and the contained tasks in turn can have task level ELSE-IF -ELSE blocks.

Adding

...

the ELSE-

...

IFBlocks to Test Case

You can add the TC or Task condition using the IfELSE-Else IF button from the Test cases screen.

...

  1. Select TC Step/Task after which you wish to add TC level conditional block.
  2. Click Condition Add Conditional Block >TC Condition > IF.
  3. .Select IF step of block, click the TC Step button to add TC step.
  4. Select recently added TC Step:
    1. click Condition Click Add Condition Block >TC Condition >ELSE IF to add TC level ELSE IF block.click Condition 
    2. Click Add Condition Block >TC Condition > ELSE to add ELSE block.
      Note: If you want to add an Else-If or Else condition, it must be added after the If condition. 

Adding Tasks in Test Case Level ELSE-IF

...

Blocks

You can add new tasks or import tasks from the existing library of tasks inside the conditional blocks. 

To add tasks in TC level IfELSE-Else IF blocks:

  1. Select TC Step/Task after which you want to add TC level conditional block.
  2. Click Condition >TC Condition > IF.
  3. Select IF step of block and then click New to add new task or Import to add the existing task to the conditional block.
  4. To add Tasks to ELSE-IF or ELSE blocks, select the ELSE-IF or ELSE step of the conditional block and then click New or Import.

    Note: If you want to add an Else-If or Else condition, it must be added after If condition. 


Adding ELSE-IF

...

Blocks to Task in TC

You can add the conditional blocks particularly for task. 

Note: If you want to add an Else-If or Else condition, it must be added after If condition. 

To add conditional blocks to a task from the Test case:

  1. Create a new test case and add required tasks to it. 
  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 the If-Else Add Conditional Block button > 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 using the IfELSE-ElseIF button. 
  5. For adding expression, double-click IF or ELSE IF.
  6. Use the syntax of expression is as described earlier.

Execution flow of conditional (ELSE-IF-ELSE) blocks will be as follows:

  1. Qualitia validates expression entered by the user and checks if the expression is empty or contains assignment (for example, if 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 the actual execution of test case.
  3. You must enclose stored variables, environment variables in curly braces (for eg: {a}=={b}, or {($$_Status}==0.
  4. Consider the following test case level conditional block:
    1. OpenUrl
    2. IF {$$_Status}==0
      Task1
      Task2
    3. ELSE IF {$$_Status}==1
      Task3
    4. ELSE
      Task4
    5. END IF

...

  • If the expression 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 an error and Qualitia will stop execution of test case.
  • When execution is triggered using the Dry Run button from the Develop tab and if the expression is invalid, Qualitia stops execution of test case.
  • When execution is triggered using the Run Now button from the Execute tab and if the expression is invalid, Qualitia executes next test case. If there is only one test case, execution will be stoppped. 

...