Storing information from the page in the test

Sometimes, there is a need to store elements that are on the page to be used later in a test. It could be that your test needs to pick a date that is on the page and use it later so that you do not need to hardcode values into your test.

Once the element has been stored, you will be able to use it again by requesting it from a JavaScript dictionary that Selenium keeps track of. To use the variable, it will take one of the following two formats: it can look like ${variableName} or storedVars['variableName']. I prefer the storedVars format as it follows the same format as within Selenium internals. To see how this works, let's work through the following example:

  1. Open up Selenium IDE and switch off the record button.
  2. Navigate to http://book.theautomatedtester.co.uk/chapter1.
  3. Right-click on the text Assert that this text is on the page and go to the storeText command in the context menu and click on it.
  4. A dialog will appear as shown in the following screenshot. Enter the name of a variable that you want to use. I have used textOnThePage as the name of my variable.
    Storing information from the page in the test
  5. Click on the row below the storeText command in Selenium IDE.
  6. Type type into the Command textbox.
  7. Type storeinput into the Target box.
  8. Type ${textOnThePage} into the Value box.
  9. Run the test. It should look like the following screenshot:
    Storing information from the page in the test

Once your test has completed running, you will see that it has placed Assert that this text is on the page into the textbox.