Workshop - Automating phone-calls and SMS

Many apps such as Twitter, Uber, Facebook, etc. use your phone number as your main/only user ID. Those apps require from you to validate your phone number as part of the registration/login process.

If you do the same or consider doing so, you can't afford downtime of your automated phone calls / SMS service and you must have full, production grade end2end tests constantly monitoring those flows.

This workshop will provide you with the background, the tools and basic hands-on experience to fully automate any kind of registration/login/MFA flow that involves SMS and/or automated phone calls using few simple, ready-to-use, open-source samples.

 
 

Outline/Structure of the Workshop

  • Short intro
  • The usage of SMS & automated phone calls on web and mobile apps (15 minutes)
    • Phone number verification / registration process
    • Bot detection / blocking
    • User account security
  • Common practices (15 minutes)
    • SMS with code
    • SMS with link
    • Automated phone calls that read / receive an X-digit code
  • Automating the reception of SMS messages (5 minutes)
    • The tools: hardware vs. using an API
    • Live-demo of automating SMS reception
  • Automating the reception and transcription of automated phone calls (45 minutes)
    • The tools we use
      • Docker
      • Asterisk
    • Very short intro to VoIP and Asterisk
    • Live, hands-on, session (using provided code samples):
      • Setting up your Asterisk to receive a phone call
      • Recording a call
      • Transcribing a call
        • Using Google Speech API
        • Open source alternatives
      • Performing the above within a Selenium test case.
  • Summary + Q&A (10)
    • How to do this at scale?
      • Synchronizing resources
      • Using multiple phone numbers
    • Automating calls in a continuous-integration environment.

Learning Outcome

The attendees will finish the workshop with the basic foundations and tools to perform the following:

  • Programatically receive an SMS message
  • Programatically receive a phone call
  • Programatically record a phone call
  • Programatically transcribe a phone call using Google's Speech Recognition API
  • Do all the above within a Selenium/Appium test-case

Target Audience

People with automation experience who'd like to learn / add phone calls & SMS automation to their tool belt

Prerequisites for Attendees

  • Familiarity with Selenium
  • Intermediate coding skills in a language that has a Linux-based compiler/interpreter/VM (Python, Java, Node.JS, etc)
  • A laptop with:
    • Docker installed
    • An IDE to the attendee's liking
  • Preferable: A Google Cloud Platform account (not a must)
schedule Submitted 2 years ago

Public Feedback