How to Use Selenium IDE – Quick Tips

In our previous posts on Selenium IDE, you must have seen its download instructions and read about some additional add-ons you can use on top of it. Now, it’s time to give you some cracking tips so that you can use Selenium IDE for the maximum benefit.

Some of these can be surprisingly handy for the testers to perform quick testing. For best results from this post, please try to use Selenium IDE while reading this post. It’ll be a good learning experience.

How to Use Selenium IDE – Quick Tips.

The most obvious way to use Selenium IDE is through its record and play feature. But there are certain actions, accessors, and assertions which you can use to edit the recorded test cases. So that you can speed up automation and increase test coverage.

1- Selenium IDE Action Commands.

You can perform many browser actions using the Selenese commands. Examples are clicking a hyperlink or filling out a form. Can be done by running the IDE in “record mode”.

Purpose Command Example
1- Navigate to a website.  open target:
2- Type into a text field. type target: //input[@name=’name’]
value: techbeamers
3- Click on a radio button. click target: xpath=(//input[@name=’category’])[4]
4- Select a language. click target: //select[@name=’Java’]
value: label=Langugage
5- Locate an input element using a partial string. type target: //input[contains(@ref, ‘author_’)]
value: 15
6- Add a wait command. pause target: 5000
7- Check for a text to appear on a page. waitforText target: css=label
value: Selenium
8- Switch to a new window. selectWindow target: null


2- Selenium IDE Accessors Commands.

You can use accessors commands to fetch and save the state of web elements.

Purpose Command Example
1- Generate a random number and store. store target: javascript{Math.floor((Math.random()*10)+1)}
value: random_num
2- Pick a random option from a drop-down. storeXpathCount target: //select[@name=’category’]/option
value: default
store target: javascript{Math.floor(storedVars[‘counter’]*Math.random())}
value: rand
select target: //select[@name=’category’]
value: index=${rand}
3- Choose a random radio button. storeXpathCount target: //select[@name=’recent posts’]/option
value: default
store target: javascript{Math.floor(storedVars[‘counter’]*Math.random()) +1}
value: rand
click target: xpath=(//input[name=’recent posts’])[${rand}]
4- Log a variable for debugging. echo target: ${var}
5- Capture inner text of a web element of a table column. storeText target: //table/tbody/tr[3]/td[3]
value: date


3- Selenium IDE Assertions Commands.

like Webdriver, you can place assert commands in Selenium IDE test cases to check the state of web elements.

Purpose Command Example
1- Assert for a text present on the web page. verifyText target: xpath=(//html/body/div[2]/h2/span)
value: Selenium
2- Use regEx in the above example. verifyText target: xpath=(//html/body/div[2]/h2/span)
value: regexp:[Se]enium
3- Search using a glob. storeXpathCount target: xpath=(//html/body/div[4]/h2/span)
value: glob:*nium


4- Selenium IDE Test Case/Test Suite.

In Selenium IDE, it’s easy to create test cases and convert then into test suites. Add them to version control system for use in nightly automation.

4.1- Start writing a test case.
4.2- Save the test case.
4.3- Prepare to save it as a test suite.
4.4- Add it to version control.

Above sequence of operations works best for Selenium IDE.


Final Thought.

Hopefully, you can now use Selenium IDE better than you were doing earlier. Though it’s always best to run the IDE test cases at top-speed but they may fail for the slow websites. So, you need to control the speed in such cases.





One Response

  1. Sean E Reply