Selenium: Difference between revisions
(→Setting up Selenium IDE: Added initial setup proceedure) |
No edit summary |
||
Line 33: | Line 33: | ||
* [http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/ Selenium Tips: CSS Selectors in Selenium Demystified] | * [http://saucelabs.com/blog/index.php/2010/01/selenium-totw-css-selectors-in-selenium-demystified/ Selenium Tips: CSS Selectors in Selenium Demystified] | ||
=Testing AJAX applications= | |||
The main things you'll need to test AJAX calls is the waitFor... commands. Here are a few of the most useful ones: | |||
* waitForCondition(script, timeout) | |||
**Arguments: | |||
***script - the JavaScript snippet to run | |||
***timeout - a timeout in milliseconds, after which this command will return with an error | |||
**Runs the specified JavaScript snippet repeatedly until it evaluates to "true". The snippet may have multiple lines, but only the result of the last line will be considered. | |||
**Note that, by default, the snippet will be run in the runner's test window, not in the window of your application. To get the window of your application, you can use the JavaScript snippet selenium.browserbot.getCurrentWindow(), and then run your JavaScript in there | |||
=Selenium Resources= | =Selenium Resources= |
Revision as of 22:36, 9 December 2011
This is mostly a place holder while we develop more content. Here are some useful links...
The Basics
- Testing Ajax apps with Selenium using waitForCondition - note that waitForCondition is now part of Selenium core (not a plugin as this article mentions).
Setting up Selenium IDE
1. Download/install Selenium IDE for Firefox
2. Open Selenium IDE from Firefox under the Tools pulldown menu
3. Once IDE is open, go to: Options > Options... > Locator Builders and reorder them to (from top down): id, name, link, css, ui, ...then everything else...
Ordering them like this makes for faster running tests, as finding unique elements (id, name, link) is faster (and easier to read) than hunting for them using another method. The fallback is using css selectors, as css selectors have proven to be faster than xPath.
Element Locators
A common way to find elements on a page using Selenium is xPath, however, we should use CSS selectors when possible, as the tests run faster - especially in IE. Here's some info:
Testing AJAX applications
The main things you'll need to test AJAX calls is the waitFor... commands. Here are a few of the most useful ones:
- waitForCondition(script, timeout)
- Arguments:
- script - the JavaScript snippet to run
- timeout - a timeout in milliseconds, after which this command will return with an error
- Runs the specified JavaScript snippet repeatedly until it evaluates to "true". The snippet may have multiple lines, but only the result of the last line will be considered.
- Note that, by default, the snippet will be run in the runner's test window, not in the window of your application. To get the window of your application, you can use the JavaScript snippet selenium.browserbot.getCurrentWindow(), and then run your JavaScript in there
- Arguments:
Selenium Resources
- The Official Selenium Blog
- Selenium Users Group (Google) - highly recommended, very active
- Selenium Wiki
- OpenQA Selenium Wiki
- SauceLabs Selenium Blogs Posts
- Selenium Examples blog - examples and tips for Selenium
- Selenium Conference
General Automated Testing Resources
- The Testing Blog
- Software Testing Best Practices blog
- Web application testing checklists: