Monday, November 11, 2013

How Storing information from the page in the test

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.
This 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 it is within Selenium internals.

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.




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:



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


We have successfully created a number of tests and have seen how we can work against
AJAX applications but unfortunately creating tests that run perfectly first time can be
difficult. Sometimes, as a test automator, you will need to debug your tests to see
what is wrong.
To work through this part of the chapter you will need to have a test open in Selenium IDE.


These two steps are quite useful when your tests are not running and your want to execute a
specific command.
1. Highlight a command.
2. Press the X key, this will make the command execute in Selenium IDE.



When a test is running you can press the Pause button to pause the test after the step that is
currently being run. Once the test has been paused the Step button is no longer disabled and
you can press it to step through the test as if you were stepping through an application.
If you are having issues with elements on the page you can type in their location and then
click on the Find button. This will surround the element that you are looking for with a green
border that flashes for a few seconds.

The echo command is also a good way to write something from your test to the log. This is
equivalent to Console.log in JavaScript. For example, echo | ${variableName}.
Also remember that if you are trying to debug a test script that you have created with
Selenium IDE, you can set breakpoints in your test. You simply right-click on the line and
select breakpoint from the list.


No comments:

Post a Comment