What is Rainforest Automation?

Rainforest Automation is our proprietary technology and process that enables automated test execution within the Rainforest platform. By using Rainforest Automation, execution costs and runtimes can be greatly reduced. Unlike other forms of test automation, Rainforest Automation tests can be written by non-technical users.

How is Rainforest Automation different from other Test Automation?

What is different in the Rainforest platform?

Rainforest Automation accomplishes two things:

  1. Enhances the way test instructions are written within the Rainforest platform, removing the parts of the sentence that can often be lost to interpretation.
  2. Automatically interprets and executes those test instructions within the application, removing the need for manual testing in many (but not all) test cases.

Instructions are written in the Rainforest Test Language format focus on three components of a sentence:

  1. The action word, or verb;
  2. The UI element, or noun, associated with the action word;
  3. Assertions that Rainforest Automation (or the tester) check for.

How to Create a Rainforest Automation test:

Click “New Test” then select “Rainforest Automation” from the dropdown. This will create a new test that can be written using the Automation Language and viewed in plain English.

Rainforest Test Language: Verbs, nouns, and assertions:

Currently available verbs (i.e. actions) and how each will be interpreted by RF Automation:

Currently available nouns (i.e. UI elements) and how each will be interpreted by Rainforest Automation: 

Currently available assertions and how each will be interpreted by RF Automation: 

Writing tests in the Automation Language:

The Test Builder UI:

Rainforest Automation Example Test:

  • Start by adding the first “action” you’ll need in step instructions. To do so, select an action (e.g. Click, Fill, Type, etc) from the menu on the right-hand side of your screen.
  • Clicking on an action will populate the screen with the first part of your instruction, as well as the blue words Select Element. For example, this what you will see if you select the action Click from the right-hand side menu.
  • Note: You’ll notice a red “Schema is not valid…” message at the top above your instruction block. This is not a bug, it simply means you haven’t finished writing the instruction yet. Once your instruction block has all the required elements for the step instruction to be considered complete this red message will disappear.
  • Now that you’ve selected your action (e.g. Click), you need to give the action a target (i.e. noun, UI element) to carry out the action upon. In simpler terms, you need to tell Rainforest Automation what it needs to Click (or whatever other action you’ve selected).
  • To select something from the sidebar menu, you must click the blue words “Select Element” in the instruction block. It will prompt you to select a target (i.e. noun, UI element) from the right-hand side menu. You must do this step in order to select a target from the side hand menu.
  • Now that you’ve clicked Select Element, toggle the sidebar menu to Targets and select your desired target. Remember you can always use the filter feature if you want to quickly access the element you are looking for.

  • Select the target you desire. In this example, let’s select button: “login” from the sidebar menu. Upon selecting a target, you should see this information populate within the instruction block, like the screenshot below.
  • You’ve now created your first step instruction in Automation Language format which tells the user (i.e. Rainforest Automation, or in some cases, a tester) it/they need to Click the button labeled “login.”
  • To create your next step, click the plus sign beneath the instruction block.
  • After you click the plus sign, a new instruction block should appear beneath the step you already created.

Preview Mode and Screenshots

Now that you know how to create instructions in Rainforest Test Language and add new elements to the sidebar menu, you’re ready to learn about previewing your test and adding screenshots. You can add screenshots as you create each instruction block, or once you’ve created all the instruction blocks needed for the test flow. The scenario in the example below is from an email sign-in flow, but the same instructions on how to add a screenshot can be followed no matter what type of step instruction you have created.

  • Click the grey Preview button in the upper right-hand corner of the test writing interface. This will open up a Preview modal (pictured in next step).
  • Make sure you are previewing your instructions in the right environment and preferred browser. In this example, we will preview the test in Staging (default) environment and on Google Chrome HD. Once you confirm you are previewing with the right settings, hit the blue Preview button in the Preview Modal.
  • Follow the instructions and browse to the provided URL. This will take you to the application being tested. In this case, we are testing Gmail.
  • Below the instructions and above the VM, text appears instructing you to take screenshots of specific elements. In this case, text_field: “Email or phone” and button: “Next”
  • Click the blue text for the element we want to take a screenshot of first (i.e. text_field: “Email or phone”). The text should become bold and green, and a blue “Save” button appears below.
  • Find the element within the application that you need a screenshot of.
  • Click and hold down your mouse as you drag it to create a transparent black box over the element you need to take a screenshot of. Release your mouse once the black box is the desired size. It should look like the screenshot below.
  • Once you are satisfied with the placement of this black screenshot box, scroll up and click the blue “Save” button mentioned above in Step 5. After clicking “Save” the bold, green text_field: “Email or phone” will disappear and only button: “Next” will remain.
  • Click the blue text button: “Next” and repeat the same steps:
  • Click and drag until the black screenshot box of the desired size is over the element you need a screenshot of.
  • Once you are satisfied with the placement of this black box, scroll up and click the blue Save button mentioned above in Step 8.
  • Repeat this process for every step within a test flow until you have all your screenshots. This example only had two steps, but any tests you write will probably have more.
  • Exit out of the tab where you are previewing the test when you are done saving your screenshots.
  • Refresh the tab where you are writing the instructions.
  • Your step instruction block(s) should now be populated with the screenshots you just took and saved in Preview.

Troubleshooting and FAQ:

How do I delete a step I don’t want to use?

You can delete a step by clicking the trash can icon in the upper right hand corner of the instructions block.

What if I want to edit a specific section of my instruction block, but don’t want to trash the entire block?

  • You can edit specific sections of an instruction block by clicking the blue pencil icon next to the section you wish to edit.
  • After you click the blue pencil icon, the element you wish to edit will disappear and be replaced with the blue text Select target - UI element from the sidebar
  • Add an existing element from the sidebar menu, or create a new one if needed.

Can I easily rearrange steps within a test flow I’ve created if the need arises?

Yes, you can rearrange steps by holding down on the dots in the upper right-hand corner of the instruction block then drag and drop them to your desired location within the test flow. However, if you rearrange steps, make sure that the new arrangement makes sense for the test flow before you consider it finalized.

How do I delete an element I’ve created?

If you want to completely delete an element you’ve created (i.e. not just remove from a certain step), you can do so by going to your UI library and clicking the trash icon on the element you wish to delete. You will not be able to delete an element from your UI library if it is currently being used in any tests.

Did this answer your question?