This is a follow up discussion from a presentation I gave at this year's ApacheCon2008 conference:
http://us.apachecon.com/presentation/materials/118/ApacheCon2008_SeleniumXml.pdf A few of us have been working on a test framework called SeleniumXml. It is an extension of Selenium RC (http://seleniumhq.org/projects/remote-control/) that uses XML to run Selenium tests (see the presentation above for more details). It is currently hosted on Sourceforge ( http://sourceforge.net/projects/seleniumxml/), but we would like to contribute it back into OFBiz to help develop a common framework for UI and functional testing of OFBiz applications. *The Problem* All of the SeleniumXml code was intentionally licensed with an Apache 2.0 license to be compatible with ofbiz, but there are some JavaScript files that are used in the Selenium-core that are LGPL licensed. These files are not necessary to compile the SeleniumXml code, but to execute a test you need to run the Selenium Server which requires the core files. As we have discussed in this ML, Apache will not host GPL like licensed files on their servers (including LGPL) which creates a problem for us contributing the code to OFBiz. Here are a couple solutions to this problem. *Proposed Solutions* 1. Create a custom ant target (e.g. install-selenium-xml) that downloads the selenium-server.jar from a non-Apache hosted website (e.g. SourceForge). For example, the Apache Velocity project does this with their build which may be to work around possible license problems as we have here. 2. Another possibility is to replace the LGPL JavaScript files with our own version and then get the Selenium project to adopt the Apache licensed version. There isn't a lot of code to change, but it would take an effort to test it thoroughly to make sure all the Selenium code still worked with the change. Solution 1 above will be the quickest to implement, but solution 2 may be a better long term strategy. Please provide your feedback if you think it would be sufficient to have "ant" do a download of any non-apache compliant libraries. This will keep us in compliance while still making it easy for the community to get access to the full test framework. The motivation behind this request is to help the community develop a functional testing framework that is easy to use by everyone. We believe Selenium is an excellent platform for UI and functional testing. We also believe that if the tools are not included with the framework and if they are difficult to use people will ignore them. Once we have agreement on how best to add these test tools to OFBiz we can start discussing other test topics such as: - common test data - automated test builds - new features - methods for data cleaning up after a test - how to contribute your test case to the community - etc Thanks in advance for your feedback. Brett