Vidéo/audio-conférence entre 2 appareils
Pour lancer une audioconférence ou une vidéoconférence, vous devez d'abord disposer de deux comptes :
Un sur l'appareil qui lance l'appel
Un autre sur le deuxième appareil qui prend l'appel.
Dans de nombreux cas, le scénario se déroule comme indiqué dans le diagramme ci-dessous :
L'utilisateur 1 lance l'appel et configure le microphone/la caméra.
L'utilisateur 2 rejoint l'appel et configure le microphone/la caméra.
Durée de l'appel (vidéoconférence ou audioconférence)
(option 1) L'utilisateur 1 raccroche, déconnectant l'utilisateur 2
(option 2) L'utilisateur 1 raccroche, puis l'utilisateur 2 raccroche.
Le principe clé de l'écriture de ces scénarios en GDSL est de pouvoir attendre des éléments ou des événements déclenchés par l'autre scénario.
En suivant ce schéma, voici un exemple de deux scripts d'appel via une application d'audioconférence entre deux utilisateurs.
Utilisateur 1
##############################################################################
# Lancement appel
#############################################################################
waitUntilGoneText,record
measureStart,CHRGT_joinCall
clickByText,btnLancerAppel
waitUntilText,record
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_joinCall
pause,${PAUSEDURATION}
measureStop
################################################################################
# APPEL
# Accepter l'utilisation de la caméra et du microphone
# Attendre le deuxième utilisateur
# Appeler
################################################################################
# Accepter l'utilisation de la caméra et d'un microphone
measureStart,ACTION_callAutorization
clickByText,Allow
pause,${PAUSEAFTERACTION}
waitUntilText,camera
pause,${PAUSEAFTERLOAD}
measureStop
waitUntilGoneText,btnHangUp
measureStart,CHRGT_callWaitPractitionerJoin
clickByText,Allow
waitUntilText,btnHangUp
pause,${PAUSEAFTERLOAD}
measureStop
# Attendre le deuxième utilisateur
while,notExists,text,User2
do
pause,10000
done
# Temps d'appel
measureStart,PAUSE_call
pause,${PAUSEDURATION}
measureStop
################################################################################
# FIN APPEL
# Raccrocher
################################################################################
# Raccrocher
waitUntilGoneText,Home
measureStart,CHRGT_quitCall
clickByText,btnHangUp
waitUntilText,Home
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_quitCall
pause,${PAUSEDURATION}
measureStop
Utilisateur 2
##############################################################################
# ATTENTE DE L'APPEL
# Attendre que le premier utilisateur lance l'appel
# Rejoindre l'appel
#############################################################################
while,notExists,text,btnAnswer
do
pause,10000
done
# Rejoindre l'appel
measureStart,CHRGT_joinCall
clickByText,btnAnswer
waitUntilText,record
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_joinCall
pause,${PAUSEDURATION}
measureStop
################################################################################
# APPEL
# Accepter l'utilisation de la caméra et du microphone
# Appel
################################################################################
# Accepter l'utilisation de la caméra et du microphone
measureStart,ACTION_callAutorisation
clickByText,Allow
pause,${PAUSEAFTERACTION}
waitUntilText,camera
pause,${PAUSEAFTERLOAD}
measureStop
waitUntilGoneText,btnHangUp
measureStart,CHRGT_callWaitPractitionerJoin
clickByText,Allow
waitUntilText,btnHangUp
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_call
pause,${PAUSEDURATION}
measureStop
################################################################################
# FIN APPEL
# Attendre le départ du premier utilisateur
# Fin ou raccrocher
################################################################################
# Attendre le départ du premier utilisateur
while,exists,text,User1
do
pause,10000
done
# (Option 1) Si l'appel est automatiquement terminé.
#waitUntilText,Home
# (Option 2) Si le deuxième utilisateur doit également raccrocher
waitUntilGoneText,Home
measureStart,CHRGT_quitCall
clickByText,btnHangUp
waitUntilText,Home
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_quitCall
pause,${PAUSEDURATION}
measureStop