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 :

  1. L'utilisateur 1 lance l'appel et configure le microphone/la caméra.

  2. L'utilisateur 2 rejoint l'appel et configure le microphone/la caméra.

  3. Durée de l'appel (vidéoconférence ou audioconférence)

  4. (option 1) L'utilisateur 1 raccroche, déconnectant l'utilisateur 2

  5. (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