You can easily perform data driven testing via Selenium IDE by the use of DataDriven and FlowControl plugin plugins.
Please find detailed instructions in this Sauce Labs article.
Below is the quote from that article:
Download the flowcontrol extension for IDE. (“Download” is a bit of a misnomer here, as the download link takes one to an HTML page. Simply copy/paste only the JavaScript contents of that page into a file named
goto_sel_ide.js
.)Download the 1.1 version of the includeCommand4IDE extension. (The just-released 1.2 version appears to have a serious bug.)
Download the most recent version (0.2) of the
datadriven.js
extension. Install these 3 extensions in IDE via the Selenium Core extensionsfield (accessible via Options=>Options=>General). They must be specified in the order above!!!Re-start IDE so that all 3 extensions will get read in.
Create an .xml file
<testdata> <test linkText="How It Works" title="Sauce OnDemand: Cross browser testing with hosted Selenium testing in the cloud - Sauce Labs"/> <test linkText="Downloads" title="Sauce Labs Downloads"/> <test linkText="Pricing" title="Sauce Labs Pricing For Hosted Selenium in the Cloud"/> <test linkText="Support" title="Support: Sauce RC (Selenium RC) - Sauce Labs"/> <test linkText="Forums" title="Sauce Labs Forums"/> <test linkText="Blog" title="Selenium Testing? Do Cross Browser Testing with Sauce Labs"/> <test linkText="Flash/Flex Solution" title="Automate testing of your Flex and Flash Web Apps - Sauce Labs"/> <test linkText="Documentation" title="Documentation - Sauce Labs"/> <test linkText="About" title="About - Sauce Labs"/> <test linkText="Team" title="The Sauce Labs Team"/> <test linkText="News" title="Selenium News & Events - Sauce Labs"/> <test linkText="Webinars" title="Webinars - Sauce Labs"/> <test linkText="Contact us" title="Support Contact - Sauce Labs"/> <test linkText="Service Status" title="Status - Sauce Labs"/> </testdata>
linkText
andtitle
are variable names of my choice. You can use any names you want, and also any number of variables you want. The critical thing is that each container must contain all the data–input and output–for a single test case.View your .xml file in the browser to ensure that it does not contain any errors (only necessary if you did not use an XML editor to create the file).
Utilize your .xml file via creating an HTML test case:
loadTestData file:///Users/mamp/Desktop/BLOG/saucelabs-footer.xml open http://www.saucelabs.com while !testdata.EOF() nextTestData clickAndWait link=${linkText} verifyTitle ${title} goBackAndWait endWhile