About character encoding (28May07 Markus)

CompleteSearch supports ISO-8859-1 and the multibyte character encoding UTF-8. UTF-8 is the default encoding with the following consequences:

We do the following depending on the defined encoding:

Note: The form attribute accept-charset

If the form attribute accept-charset is set to "UTF-8" the form variables are UTF-8 encoded before sent to server (even if the page encoding is not UTF-8).

The PHP Apache extension php_mbstring

The use of the mb_strtolower function (and other mb_ functions) requires the extension php_mbstring in php.ini:

In windows:
extension=php_mbstring.dll

or in linux:
extension=php_mbstring.so

(On geek, the mb_... functions were available by default, on Markus' laptop the line above had to be added.)

If this is the first extension you use be sure to have specified the location of the extension with the extension_dir directive.

Testing with Selenium remote control (short: SeleniumRC)

There are two ways to use SeleniumRC:

Selenium IDE

Testing with the Selenium IDE is the easiest way but only works with firefox, that means no cross browser testing. You have to open the following url with Selenium IDE extension installed in your firefox browser:

chrome://selenium-ide/content/selenium/TestRunner.html?baseURL=http://search.mpi-inf.mpg.de/markus/&test=http://search.mpi-inf.mpg.de/markus/tests/TestSuite.html&auto=true

where baseURL is the location of the web site to test and test is the start location of the test suite, means the code of the tests generated with the Selenium IDE

Selenium server

Install the following:

Selenium Java Server

The Selenium Server is written in Java, and requires the Java Runtime Environment (JRE) version 1.5.0 or higher in order to start. To use this package, you need to have selenium-server.jar. You can download selenium-server.jar from http://www.openqa.org/selenium-rc/

PHPUnit2

It's recommended that you use the PHP Client Driver together with a testing framework like PHPUnit (althought a testing framework is not required because you can use the PHP Client Driver with any program whatsoever to automate tasks in your browser). Note: a short overview about PHPUnit and Selenium you will find [http://www.phpunit.de/pocket_guide/3.0/en/selenium.html here].

The easiest way to install PHPUnit2 and the Selenium PHP client driver is using PEAR.

Insalling PEAR on Microsoft Windows

On Windows, go-pear uses stdin for user input, so you must download go-pear first and then run it:

Following an excerpt from the Selenium documentation:

First, make sure you've already started the Java Selenium Server separately in another process. The Selenium Server should remain up and running throughout this process; you shouldn't need to start/stop it each time you use the Client Driver. (Though, of course, if you need to start and stop the server, you certainly can, just by automatically starting it from the command line.)

Once you've installed the PHP Client Driver in one way or another, you'll need to require_once 'Testing/Selenium.php'; to get access to the Testing_Selenium class. (Make sure this path is in your include path!)

Then you can just create a new Testing_Selenium object, which is full of handy methods that handly your Selenium commands. You'll need to initialize the object using the hostname and port of the Selenium Server, the browser string to use with "getNewBrowserSession" (e.g. "*firefox"), and the base URL at which we'll start testing. When you're ready to begin, run the "start" method on your Testing_Selenium object; when it's time to close the browser, use the "stop" method. If one of the methods has an error, Testing_Selenium will throw a Testing_Selenium_Exception, which you can wrap up in a try/catch block if you like.

While we recommend that you use the PHP Client Driver together with a testing framework like PHPUnit, a testing framework is not required; you can use the PHP Client Driver with any program whatsoever to automate tasks in your browser. (Note that there's more than one project called "PHPUnit" out there; we recommend using the version by Sebastian Bergmann available at phpunit.de, the one available at sourceforge.net isn't as mature.)

To use this package, you need to have selenium-server.jar. You can download selenium-server.jar from http://www.openqa.org/selenium-rc/

To Start Selenium RC Server

$java -jar selenium-server.jar