| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <section xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://docbook.org/ns/docbook ../../../../applications/content/dtd/docbook.xsd"> |
| <title><anchor xml:id="OFBizSeleniumXml"/>OFBiz SeleniumXml</title> |
| <para> This is a short document to help you get started using SeleniumXml to test your OFBiz application. Here is a <link |
| xl:href="http://www.kenfuse.com/forum/material-regarding-seleniumxmlTh">copy of the presentation</link> that was given |
| at the ApacheCon2008 OFBiz Conference that describes more about the project. </para> |
| <section> |
| <title>Installing SeleniumXml</title> |
| <para> |
| <orderedlist> |
| <listitem> |
| <para>From the ofbiz directory run the following ant command to download the needed selenium- server.jar file.</para> |
| </listitem> |
| <listitem> |
| <para>ant download-selenium</para> |
| </listitem> |
| <listitem> |
| <para>ant run-install-extseed (For run install help data and example test)</para> |
| </listitem> |
| <listitem> |
| <para>Build the source by running "ant" in the testtools directory or your OFBIZ_HOME</para> |
| </listitem> |
| </orderedlist> |
| </para> |
| <para>You should now have everything you need to run a seleniumXml test.</para> |
| </section> |
| <section> |
| <title>Running the Example Test</title> |
| <para>SeleniumXml requires the selenium server to be running. The selenium server uses a default proxy port of 4444. The default port can be |
| changed when you start the server. Selenium tries to automatically change the proxy settings in the testing browser. If you are getting |
| communication errors with the server you may have to manually change your proxy settings in your browser.</para> |
| <section> |
| <title>1. Start ofbiz as normal.</title> |
| <para>Note: Before run ofbiz with selenium should changes ofbiz to use HTTP as the default at file |
| (framework/webapp/config/url.properties) . Instead everything just works through port 8080. Selenium supports https but it is more |
| complicated so for this introduction I have turned https off.</para> |
| </section> |
| <section> |
| <title>2. Start the selenium server:</title> |
| <para>runSeleniumServer.bat / runSeleniumServer.sh </para> |
| </section> |
| <section> |
| <title>3. Change the configuration for your preferred browser</title> |
| <para>In the testtools/config/seleniumxml.properties file: the default is firefox (e.g. browser=*firefox) but you can change it to any of |
| the selenium supported browsers.</para> |
| <para> |
| <link xl:href="http://seleniumhq.org/about/platforms.html#browsers">Selenium supported browsers you can find here</link> |
| </para> |
| </section> |
| <section> |
| <title>4. Run the Example test</title> |
| <section> |
| <title>4.1 run the Example test .bat/.sh file</title> |
| <para>runSeleniumXml.bat / runSeleniumXml.sh testdef/seleniumxml/example/example_testsuite.xml</para> |
| <para>The above test combines three different tests into a single test suite. Data is passed from one test to another to allow you to |
| share generated data.</para> |
| <para>You will get an assertion (or other exception) if the test fails.</para> |
| <para>The test uses a .5 second delay for demo purposes. (see example_testsuite.xml and the setSpeed value="500" command). You can |
| remove this at the start of the test if you don't want the delay</para> |
| <para>- Here are some screen shots of what you should be seeing.</para> |
| <para> |
| <mediaobject> |
| <imageobject> |
| <imagedata fileref="/images/help/ofbizSeleniumSetup1.png" width="638" depth="478"/> |
| </imageobject> |
| <textobject><phrase>Selenium server in action</phrase></textobject> |
| <caption>This is a screen capture when Selenium server is launched</caption> |
| </mediaobject> |
| </para> |
| </section> |
| <section> |
| <title>4.2 run the Example test webtools/Run Selenium</title> |
| <para> First you need to open the file example_testsuite.xml and comment out first part.. and enable the bottom one Here is another |
| way to run the selenium test suite and you can create new test suite for your web application. Scroll up on this page then you |
| will see the link "Run Selenium" next to "Selenium Intro" click on that link. On that page you will see the list of available test |
| suites. So you can click on "Run" to run the test suite you want but please remember that the Selenium server should be started |
| before you "run" any test. You can also create new test suite by fill in the information to the form and put the directory |
| location of your test suite in the field "Test Suite Path" then submit. If you want to know how the test is created you can take a |
| look at the file example_testsuite.xml for more info. </para> |
| </section> |
| </section> |
| </section> |
| <section> |
| <title>Creating New Tests :</title> |
| <para>The easiest way to create a new test is to use the Selenium IDE plugin for Firefox. This allows you to records your own Selenium tests. |
| You can then save the test and convert it to a seleniumXml test easily.</para> |
| <para> |
| <orderedlist> |
| <listitem> |
| <para>Install <link xl:href="http://seleniumhq.org/projects/ide/">the latest plugin</link></para> |
| </listitem> |
| <listitem> |
| <para>Record your steps as you run through your ofbiz application.</para> |
| </listitem> |
| <listitem> |
| <para>Then convert the saved XML file using the convertSeleniumIDE.bat script.</para> |
| </listitem> |
| </orderedlist> |
| </para> |
| </section> |
| <section> |
| <title>For example:</title> |
| <para> |
| <orderedlist> |
| <listitem> |
| <para>convertSeleniumIDE.bat testdef/seleniumxml/example/recorded/AjaxExample.html |
| testdef/seleniumxml/example/recorded/AjaxExample.xml</para> |
| </listitem> |
| <listitem> |
| <para>Manually modify the commands to suit your needs.</para> |
| </listitem> |
| </orderedlist> |
| </para> |
| </section> |
| </section> |