Is there any option to read data from an Excel on Selenium IDE? How does it work?
I have to call data from an Excel file (where data are stored).
Is there any option to read data from an Excel on Selenium IDE? How does it work?
I have to call data from an Excel file (where data are stored).
I don't think Selenium has this feature, and it wouldn't make sense anyway for many reasons.
On the other hand if you are using Java you can use Apache - POI to read in the data from excel in your unit test and then use that to do what you want to selenium testing suite. I just stumbled over this presentation a few minutes ago where someone does just that on slide 5.
For .NET here's how to read an excel file.
Selenium IDE can not easily do data-driven testing.
There are add-ons which can help; for example Sel Blocks, or datadriven.js.
However, I recommend you export your tests to a testing framework such as JUnit; that will make much more functionality available to you - not only data-driven testing, but many other techniques to make your tests more robust than is possible using only Selenium IDE.
You can easily perform data driven testing via Selenium IDE by the use of DataDriven and FlowControl 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