0

I have an automation flow where there is a need retrieve a code from an email and input it into as a verification code.

As its a demo I could use any temp email and grab it but I am wondering now what is the simplest way.

I've tried it via outlook but company seems to lock down too much and I can't get the exchange server working.

What would work here?

1

1 Answer 1

0

This question is just another form of one that comes up pretty often: "How can I get past a CAPTCHA or 2FA using automation tools?"

First, you can't! This would be a violation of CAPTCHA and 2FA! If you can get past it using Selenium or other like tools, so can any nefarious actor for illegitimate reasons!

The best option for you to do is to disable CAPTCHA or 2FA in your Dev and Test environments. This gives you control over your testing. Remember that not every test needs to be automated, and this is one of those use cases!

Now, let's look at the Selenium documentation on this topic! They have page full of discouraged practices which include CAPTCHAs, 2FAs, and logins to web-based email/social media sites

I recommend reading those links. while this comes from Selenium, it applies to any similar UI test tools like Cypress, Playwright, etc!

To sum them up:

CAPTCHAs

CAPTCHA, short for Completely Automated Public Turing test to tell Computers and Humans Apart, is explicitly designed to prevent automation, so do not try! There are two primary strategies to get around CAPTCHA checks:

  • Disable CAPTCHAs in your test environment
  • Add a hook to allow tests to bypass the CAPTCHA

2FA

Automating this seamlessly and consistently is a big challenge in Selenium. There are some ways to automate this process. But that will be another layer on top of our Selenium tests and not as secure. So, you should avoid automating 2FA.

There are a few options to get around 2FA checks:

  • Disable 2FA for certain Users in the test environment, so that you can use those user credentials in the automation.
  • Disable 2FA in your test environment.
  • Disable 2FA if you login from certain IPs. That way we can configure our test machine IPs to avoid this.

Email/Social Media

Logging into sites like Gmail and Facebook using WebDriver is not recommended. Aside from being against the usage terms for these sites (where you risk having the account shut down), it is slow and unreliable.

The ideal practice is to use the APIs that email providers offer, or in the case of Facebook the developer tools service which exposes an API for creating test accounts, friends, and so forth. Although using an API might seem like a bit of extra hard work, you will be paid back in speed, reliability, and stability. The API is also unlikely to change, whereas webpages and HTML locators change often and require you to update your test framework.

Based on your question, you'll need to use the API from an email provider to get access to an email message.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.