1. Home
  2. Docs
  3. OpKey Help
  4. 17. Keywords in Opkey Test Surge
  5. 17.3 Control Flow Construct

17.3 Control Flow Construct

Comment Keywords

Comment

This keyword is used to write comments for any Test flow or Test scenarios. This keyword is mostly used in situations where you want to mention any explanations for testers or users regarding the testing scenarios. Comments are always user defined.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Data

No

This keyword doesn’t take any data input argument.

Example

If you have created a Test flow and you want to mention comment for it, then you can use the Comment keyword as follows:

# Comment

This test flow is created to test the proper flow of execution of login process.

 

Common Error conditions

There are no error conditions for this keyword.

Condition Keywords

Else

This keyword is used to provide an alternative scenario to be executed; when IF condition fails. It is always executed along with “If” keyword. It does not take any Object or data  input arguments.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Data

No

This keyword doesn’t take any data input argument.

Output

True

If the keyword passes successfully

False

It does not displays any thing when the keyword is not executed

Example

Let us consider a test flow where you have to click on an object if (5>6) otherwise an image will get clicked, then you can use “else” keyword as follows:

1.jpg

Common Error conditions

Scenarios

Error Message

Debug Information

When Else keyword is used without using If

Dangling Else (-9901500)

DESCRIPTION:

An ELSE keyword is not properly matched to an IF/ENDIF keyword pair. Every ELSE keyword must be properly surrounded by IF and ENDIF keywords.

An ELSE keyword is not properly matched to an IF/ENDIF keyword pair. Every ELSE keyword must be properly surrounded by IF and ENDIF keywords.

EndIf

This keyword is used to declare End of If block in your test case. This keyword is always used with If statement.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Data

No

This keyword doesn’t take any data input argument.

Note: It is mandatory to use If statement while using EndIf.

Output

True

If the keyword passes successfully

It does not display anything when the keyword is not executed

Example

Let us consider a test flow where you have to apply a condition that If 50 > 10 then an Image will be clicked then “if” keyword can be used as shown below:

To declare End of If block in your test case you need to use EndIf statement.

Common Error conditions

Scenarios

Error Message

Debug Information

When EndIf Keyword is used without using If

Endif Without If (-9901400)

DESCRIPTION:

An ENDIF keyword is not properly matched to an IF keyword. Every ENDIF keyword must be properly matched with its conjugate IF and vice versa. Also the ENDIF keyword must appear after the IF keyword

An ENDIF keyword is not properly matched to an IF keyword. Every ENDIF keyword must be properly matched with its conjugate IF and vice versa. Also the ENDIF keyword must appear after the IF keyword

If

This keyword is used to use conditional logic in your test case. This keyword is mostly used in situations where you want make a test flow in which the Test steps are based on some conditions.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Operands

Yes

Specify  the operands to be compared.

Note: You can specify maximum two operands for a single condition.

Operator Yes It is a dropdown from where you can select the conditional/relational (And/OR) operator.

Output

 

True

If the condition is true

False

If the condition is false  or the keyword fails

Example

Let us consider a test flow where you have to apply a condition that If 50 > 10 then an Image will be clicked then “if” keyword can be used as shown below:

This keyword will test the condition whether 50 is greater than 10. If the result will be true then it will execute the test steps further otherwise it will directly execute the EndIf statement.

Common Error conditions

Scenarios

Error Message

Debug Information

When If Keyword is used without using EndIf

If Without Endif (-9901300)

DESCRIPTION:

An IF keyword is not properly matched to an ENDIF keyword. Every IF keyword must be properly matched with its conjugate ENDIF and vice versa. Also the ENDIF keyword must appear after the IF keyword.

An IF keyword is not properly matched to an ENDIF keyword. Every IF keyword must be properly matched with its conjugate ENDIF and vice versa. Also the ENDIF keyword must appear after the IF keyword

When  Data Input Arguments are not provided

Argument Data Missing (-13200)

 

DESCRIPTION:

A step could not be executed because one or more of the arguments have not been provided a value. Of all the arguments a keyword accepts, some arguments might be compulsory. As opposed to the non-compulsory ones, the compulsory argument must be provided some data. The data may be provided through one of many sources like statically entering, output of a previous step, a global variable etc; but it must not be left blank.

All the expressions cannot be blank

Iteration Keywords

Exit Loop

This keyword is breaks out of For-Loop.It Supports breaking out of multi level nested loops. This keyword is mostly used in situations where you need to take exit from one of the loop among several nested for loops.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

levels

Yes

Specify the number of levels to break out. By default, it’s value is Null=0=1; all the three means breaking out of the current for loop.

Output

 

True

If the keyword passes successfully

False

If an error is there

Example

Let us consider a test flow where you have used two nested for loops with “String Concat” keywords upto 2 iterations.Now, you wish to exit from loop 1 after the first iteration then “ExitLoop” keyword can be used as shown below:

1.jpg

ExitLoop

 

levels

1

Common Error conditions

Scenarios

Error Message

Debug Information

When invalid data input argument is provided.

Levels : -2

Argument Data Invalid (-13300)

DESCRIPTION:

The data value for one or more input arguments was not what was expected. This might happen when the input is expected in a specific format or should be chosen from a predefined set of values. Check for spell errors and capsing.

Number of levels cannot be less than 1. Given : -2

For

This keyword is used for looping or repeating a set of keywords for some specific number of iterations(repetitions). It is always executed along with “Next” keyword. It takes number of “Iterations” as the data input arguments.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Iterations

Yes

Specify the number of times( repetitions) for which you want to repeat the Test steps.

Output

 

Number of iterations completed

If the keyword passes successfully

It does not displays any thing when the keyword is not executed

Example

Let us consider a test flow where you have to click on an object 5 times. Then instead of using “click” keyword 5 times, you can create a for loop by using “for” keyword as follows:

1.jpg

For

Number of iterations completed

5

Common Error conditions

Scenarios

Error Message

Debug Information

When for keyword is used without using Next

For Without Next (-9901100)

DESCRIPTION:

A FOR keyword is not properly matched to a NEXT keyword. Every FOR keyword must be properly matched with its conjugate NEXT and vice versa. Also the NEXT keyword must appear after the FOR keyword.

A FOR keyword is not properly matched to a NEXT keyword. Every FOR keyword must be properly matched with its conjugate NEXT and vice versa. Also the NEXT keyword must appear after the FOR keyword.

Next

This keyword is used to end the “for” loop iteration. It is always executed along with “For” keyword. It does not take any Object or data  input arguments.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Data

No

This keyword doesn’t take any data input argument.

Output

 

True

If the keyword passes successfully

It does not displays any thing when the keyword is not executed

Example

Let us consider a test flow where you have to click on an object 5 times. Then instead of using “click” keyword 5 times, you can create a for loop by using “for” keyword along with “Next” as follows:

1.jpg

Common Error conditions

Scenarios

Error Message

Debug Information

When Next keyword is used without using for

Next Without For (-9901200)

 

DESCRIPTION:

A NEXT keyword is not properly matched to a FOR keyword. Every NEXT keyword must be properly matched with its conjugate FOR and vice versa. Also the NEXT keyword must appear after the FOR keyword.

A NEXT keyword is not properly matched to a FOR keyword. Every NEXT keyword must be properly matched with its conjugate FOR and vice versa. Also the NEXT keyword must appear after the FOR keyword.

Obstruction Keywords

Pause Execution

This keyword is used to pause the ongoing execution. This keyword is mostly used in situations where you want to pause the ongoing execution after certain Test Steps.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Data

No

This keyword doesn’t take any data input argument.

Output

True

If the keyword passes successfully

Example

Let us consider a test flow where the user has logged in to a website and now want to pause the execution then “pause execution” keyword can be used as shown in the screenshot below:

This keyword will pause the ongoing execution and then the execution can be resumed manually.

Common Error conditions

There are no error conditions for this keyword.

Sleep

This keyword is a static sleep and it waits (sleeps) for specified time (sec). This keyword takes seconds as Data input arguments

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Seconds

Yes

This keyword doesn’t take any data input argument.

Output

True

If the keyword passes successfully

Example

If you want to wait for a while after Opening any browser then use “Sleep” keyword as shown below

Sleep

Seconds

10

Common Error conditions

There are no error conditions for this keyword.

Stop Execution

This keyword is used to stops the ongoing execution. The Final PASS/FAIL status would depend on steps executed until this point is reached.

Input Arguments

Object Input Arguments

Required?

Description

Object

No

This keyword doesn’t take any object input argument.

Data Input Arguments

Required?

Description

Reason

No

It is optional to specify the reason why the session is being stopped.

Output

 

True

If the keyword passes successfully

Example

Let us consider a test flow where the user has logged in to a website and now want to stop the execution then “stop execution” keyword can be used as shown below:

StopExecution

Reason

Simply wanted to test the login process

Common Error conditions

There are no error conditions for this keyword.

Print Friendly, PDF & Email
Was this article helpful to you? Yes No