Réaliser une visio ou audio-conférence entre 2 appareils
Pour lancer un appel en audio ou visioconférence, il est tout d’abord nécessaire de disposer de deux comptes : un sur l’appareil qui lance l’appel et un autre sur le second appareil qui décroche.
Le scénario se déroule dans beaucoup de cas comme présenté dans le schéma ci-dessous (avec parfois de légères modifications) :
L’utilisateur 1 lance l’appel et configure son micro/ sa caméra
L’utilisateur 2 rejoint l’appel et configure son micro/ sa caméra
Temps d’appel (visio ou audio conférence)
(possibilité 1) L’utilisateur 1 raccroche, ce qui déconnecte l’utilisateur 2
(possibilité 2) L’utilisateur 1 raccroche, puis l’utilisateur 2 raccroche
Le principe essentiel dans la rédaction de ces scénarii en GDSL est d’être capable d’attendre des éléments ou des événements déclenchés par l’autre scénario.
Suivant ce schéma, voici un exemple de deux scripts d’appel via une application en audioconférence entre deux utilisateurs. Ce script est à adapter selon les applications.
Utilisateur 1
##############################################################################
# Lancer appel
#############################################################################
waitUntilGoneText,record
measureStart,CHRGT_joinCall
clickByText,btnLancerAppel
waitUntilText,record
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_joinCall
pause,${PAUSEDURATION}
measureStop
################################################################################
# Appel
#Accepter utilisation camera & micro
# Attendre second utilisateur
# Appel
################################################################################
#accepte accès camera & micro
measureStart,ACTION_callAutorisation
clickByText,Allow
pause,${PAUSEAFTERACTION}
waitUntilText,camera
pause,${PAUSEAFTERLOAD}
measureStop
waitUntilGoneText,btnRaccrocher
measureStart,CHRGT_callWaitPractitionerJoin
clickByText,Allow
waitUntilText,btnRaccrocher
pause,${PAUSEAFTERLOAD}
measureStop
#Attendre l'arriver du second utilisateur
while,notExists,text,User2
do
pause,10000
done
#Temps d'appel
measureStart,PAUSE_call
pause,${PAUSEDURATION}
measureStop
################################################################################
# Fin d'appel
#raccrocher
################################################################################
#Raccrocher
waitUntilGoneText,Home
measureStart,CHRGT_quitCall
clickByText,btnRaccrocher
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,btnDécrocher
do
pause,10000
done
#rejoindre l'appel
measureStart,CHRGT_joinCall
clickByText,btnDécrocher
waitUntilText,record
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_joinCall
pause,${PAUSEDURATION}
measureStop
################################################################################
# Appel
#Accepter utilisation camera & micro
# Appel
################################################################################
#Accepter utilisation camera & micro
measureStart,ACTION_callAutorisation
clickByText,Allow
pause,${PAUSEAFTERACTION}
waitUntilText,camera
pause,${PAUSEAFTERLOAD}
measureStop
waitUntilGoneText,btnRaccrocher
measureStart,CHRGT_callWaitPractitionerJoin
clickByText,Allow
waitUntilText,btnRaccrocher
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_call
pause,${PAUSEDURATION}
measureStop
################################################################################
# Fin d'appel
#Attentre que le premier utilisateur part
#(Fin ou raccrocher)
################################################################################
#Attentre que le premier utilisateur raccroche
while,exists,text,User1
do
pause,10000
done
# (Possibilité 1) Dans le cas où l'appel est stoppé automatiquement.
#waitUntilText,Home
# (Possibilité 2) Dans le cas où le second utilisateur doit raccrocher aussi
waitUntilGoneText,Home
measureStart,CHRGT_quitCall
clickByText,btnRaccrocher
waitUntilText,Home
pause,${PAUSEAFTERLOAD}
measureStop
measureStart,PAUSE_quitCall
pause,${PAUSEDURATION}
measureStop