Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


1 - Introduction

The behaviour of your application or website can be random sometimes. For example, a window pop up to activate notifications or the cookies preferences window can appear at the beginning of the functional journey.

The functional journey can contains dynamic content or the need of a repetitive action.

For that, you can use the instruction if and the loop while.

2 - Focus condition “if”

When you want to test your application or your website, it sometimes happens that the actions to be performed are not exactly the same at each measurement iteration. You can use the "if" command to execute GDSL commands only if a condition exists or does not exist.

List of if commands

# exists text
if,exists,text,Votre vie privée

# not exists text
if,notExists,text,Votre vie privée

# exists id
if,exists,id,0_183215-toggle-cookie

# not exists id
if,notExists,id,0_183215-toggle-cookie

Use case

We want to configure “airbnb” cookies options.

If the popup “Votre vie privée” is displayed, we click on button “Préférences de cookies”

Then we scroll and select cookie “sécurité” and “ cookie “ Airbnb”

Then we click on button “Enregistrer”

Example :

if,exists,text,Votre vie privée
clickByText,Préférences de cookies
waitUntilText,Votre confidentialité
swipeDownward
clickByText,Sécurité
clickByText,Airbnb
clickByText,Enregistrer
fi

You could use measureStart and measureStop inside or outside the if/if but be careful to stop all started measurements.

3 - Focus loop “while”

You can use a while command to repeat some actions

List of while commands

# exists text
while,exists,text,Message

# not exists text
while,notExists,text,Message

# exists id
while,exists,id,com.google.android.apps.messaging:id/message_text_and_info

# not exists id
while,notExists,id,com.google.android.apps.messaging:id/message_text_and_info

Use case

We want to delete all sms from the conversation. For this, as long as there is a message, we long click on it and we click on delete it.

Example :

while,exists,id,com.google.android.apps.messaging:id/message_text_and_info
do
longClickById,com.google.android.apps.messaging:id/message_text_and_info
waitUntilByIdBeforeClick,com.google.android.apps.messaging:id/action_delete_message
waitUntilGoneId,com.google.android.apps.messaging:id/action_delete_message
done

The while loop runs 20 laps maximum. At the end of the 20 laps, if the while condition is not find, an error is launched

  • No labels