Provide discrete and randomized data to testers

Built-in variables can be used anywhere within your test steps to automatically generate discrete values for testers to enter.

Within a signup test, for example, you might use the built-in variables for random first name, random last name, and random email to give testers real, randomized data to enter. 

How to add built-in random variables into a test step

Within the step editor, click '{} step variables' to bring up the step variables menu:

Click on any of the step variable groups to reveal all the step variables within it:

Finally, click the variable you wish to insert.

Types of built-in variables

Rainforest has a large number of ready-to-use variables.

  • random.email: Unique character string ending in domain @e.rainforestqa.com; ex: aff9a400-3939-433f-a065-239514a9ee25@e.rainforestqa.com
  • random.inbox: Static URL paired with random.email in the format: rainforestqa.com/{{unique character string}}; ex: e.rainforestqa.com/aff9a400-3939-433f-a065-239514a9ee25   Note: Within a test, each tester will be assigned a paired random.inbox to the random.email value. These must be used together within a test for random.inbox to work properly.
  • random.first_name: exactly how it sounds!; ex: Korbin
  • random.last_name: exactly how it sounds!; ex: Cartwright
  • random.full_name: exactly how it sounds!; ex: Korbin Cartwright
  • random.password: Random 8 character combinations of lowercase letters and capital letters; ex: yGehSMZt
  • random.image: a URL link to an image hosted on AWS S3. You could ask testers to save or copy the image to test an image upload functionality; ex: https://s3.eu-central-1.amazonaws.com/rainforest-random-images/001.jpeg Note: The image is a hosted file, and when the link is opened in a new tab you'll be shown the image. To have tester download the image, see below for sample test instructions:
  • Sample step that contains a random image
    Action: In a new tab open {{random.image}}. Right-click on the image and click Save as and then click the Save button in the modal that appears.
    Question: Was the image downloaded and saved successfully?
  • random.number: a number in the range of 1 to 1,000,000,000 (inclusive of 1 and 1,000,000,000); ex: 848598698
  • random.phone_number: 10 digit phone number including area code; ex: 561-470-3549
  • random.address_line1: exactly how it sounds!; ex: Serenity Estates 
  • random.address_line2: Apartment, Suite, Office number; ex: Apt. 992
  • random.address_city: exactly how it sounds!; ex: Lake Astridton
  • random.address_state: exactly how it sounds!; ex: Georgia
  • random.address_zip: 9 zip code; ex: 93661 or 93661-0123
  • random.address_zip5: 5 zip code; ex: 93661
  • random.address_country: exactly how it sounds!; ex: Colombia
  • random.ssn: 8 digit fake social security number; ex: 306-18-8104
  • random.company: exactly how it sounds!; ex: Schoen LLC Inc

Common Use Cases

The most obvious way to use step variables is for discrete sign-up credentials, such as name, email and password.

Testing how emails are sent by your app and received by an end-user

There's a {{random.inbox}} variable to go along with the {{random.email}} step variable that can be used to test email verification.


This step variable gives each of your testers a globally unique email address. It's great for testing signup flows and the like. Any email sent to {{random.email}} will be shown in its corresponding {{random.inbox}}.


This is a temporary, web-based email inbox (similar to Mailinator). It looks like this:

Testing sent and received emails:

Inject the step variable, {{random.email}}, wherever testers are required to enter an email in your product (like the signup flow). When you need them to check whether an email was successfully sent by your product (welcome or verification email after signup, for example), you can direct them to {{random.inbox}} and have them check for the existence of that email.

Testers can also reply to emails through the inbox view (once per email). To instruct a tester to reply to an email, say something along the lines of 'Reply to the email with the message "Hello"'.

Any emails that were sent > 30 days ago will be cleared by default.

Lastly, you can instruct the test to clear the inboxes in your test case. To do so instruct the tester to open up the {{random.inbox}} and select the clear inbox button.

For information about the other variables types you can make use of in your tests, please visit our Step Variables Overview page. 

Did this answer your question?