I've heard a lot of Selenium, and I really want to know more about it, so I made up this little survey. Iíve been asked to search for a tool that can satisfy the following requirements (if you can, please answer with optimum/partially/no, and/or add comments if possible. It would be nice if these brief comments should be able to tell me why Selenium stands out from the rest of the tools on the feature being commented). Thanks a lot!

1. Selenium supports the test recording on different screens, specifically:
1.1) Visual Basic 6
1.2) ASPx

2. Selenium supports different Windows platforms (from-to).

3. Selenium is able to generate scripting code in different programming languages.

4. It is possible to integrate Selenium in different software development environments, such as Visual Studio. e.g as a .NET reference.

5. Selenium is capable of generating tests without having to manipulate scripts, for easiness of use (just using a recorder/playback system).

6. On the other hand, the test allows the manipulation of test scripts, for flexibility and maintenance.

7. Selenium captures properties of objects (controls) which are being used on the mouse-keyboard recording, so the test will not get tied to the pixel coordinates of them for future replays.

8. Selenium is capable of verifying the behavior and functionality of the app during test running, using checkpoints for this purpose. Checkpoints should be defined visually, and they should let me compare text files, images and verify database tables or query results, amongst others. Also, is it necessary to write my own code to create the checkpoints, or Selenium supports out of the box configuration of data connectors through wizards and dialogs?

9. Selenium provides a detailed log after the test is run, containing text and screenshots, which can be stored easily in different formats.

10. Selenium contains a streamline debugging environment, with breakpoints and the possibility of viewing local variables.

11. Selenium contains a repository, which is able to detect, store and manage the information related to the application on test: different controls it may have (and their properties), actions it may have done, etc.

12. Selenium supports Data-driven testing, so it can run a test and use the suitable data in the meanwhile (inputs, expected values, etc.), getting it from different external data sources, such as:
12.1) A Data Base (query)
12.2) A Notepad (batch file)
12.3) Excel

Is it necessary to write my own code just to access external files or data bases, or Selenium supports out of the box configuration of data connectors through wizards and dialogs?

13. Selenium gives the possibility to schedule nightly testing, letting the test being run in an unattened mode.The tool should let me create a flexible set of instructions, particulary a workflow through different subtests. e.g, if there is an error in some point of the flow, the test can go to some other point of it with a predefined set of data.

14. Selenium supports distributed testing among any number of remote computers to more quickly run through test suites, offering features for synchronizing distributed test runs.

15. Selenium support and maintenance:
15.1) Enough documentation and audiovisual tutorials
15.2) Active support forum and unlimited email support
15.3) Bugs and errors maintenance

16. Does Selenium have guarantee?

17. Price of the version of Selenium which covers all/great part of the funciontalities above.

Thanks again,

Best regards,
Thomas Wolf