User:Dan Nessett/Technical/Notes on Regresssion Testing: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Dan Nessett
(New page: ==Selenium== ==SeleniumFramework== ==General Notes== * For linux wmctrl allows the manipulation of windows from the command line. This is useful for running tests that start up a brow...)
 
imported>Dan Nessett
No edit summary
Line 10: Line 10:


<pre>sudo apt-get install wmctrl</pre>
<pre>sudo apt-get install wmctrl</pre>
==Notes on getting MW Selenium worked examples to work==
===Installing the necessary software===
* Need to install PHPUnit. Use pear (comes installed with latest version of PHP)
<pre>sudo pear upgrade pear
sudo pear channel-discover pear.phpunit.de
sudo pear install phpunit/PHPUnit</pre>
Pear files are in (Ubuntu): /usr/share/php/PEAR
PHPUnit files are in (Ubuntu): /usr/share/php/PHPUnit
* Need to install Selenium
:* Selenium Remote Control (RC) is found at: http://seleniumhq.org/download/
:* Need java jvm installed (at least version 1.5)
:* Selenium RC only requires running selenium-server:
:* <pre>java -jar /path/to/selenium-server.jar</pre>
:* Selenium-IDE is also found at: http://seleniumhq.org/download/
:* It is a plugin for Firefox (only works on Firefox).
* Need to install Testing/Selenium:
<pre>sudo pear install Testing_Selenium</pre>
* You may need to specify a specific version. To find out the most recent verion:
<pre>pear remote-info Testing_Selenium</pre>
===Setting up RunSeleniumTests.php (for Ubuntu)===
* Edit RunSeleniumTests.php and uncomment the line:
<pre>set_include_path( get_include_path() . PATH_SEPARATOR . '/usr/share/php/PEAR' );</pre>
* Create the file: LocalSeleniumSettings.php and insert:
<pre>// Hostname of selenium server
$wgSeleniumTestsSeleniumHost = 'http://localhost';
// URL of the wiki to be tested.
$wgSeleniumTestsWikiUrl = 'http://localhost';
// Wiki login. Used by Selenium to log onto the wiki
$wgSeleniumTestsWikiUser      = '';
$wgSeleniumTestsWikiPassword  = '';
// Common browsers on Windows platform
// Use the *chrome handler in order to be able to test file uploads
$wgSeleniumTestsBrowsers['firefox']  = '*firefox c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe';
$wgSeleniumTestsBrowsers['ff-chrome']  = '*chrome c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe';
$wgSeleniumTestsBrowsers['iexplorer'] = '*iexploreproxy';
// Actually, use this browser
$wgSeleniumTestsUseBrowser = 'ff-chrome';</pre>
Edit this text and insert the name ($wgSeleniumTestsWikiUser) and password ($wgSeleniumTestsWikiPassword) of the wiki user under which the tests will run.
===Some useful URLs===
* Netbeans, Selenium and PHPUnit: <pre>http://netbeans.org/kb/docs/php/phpunit.html</pre>
===Selenium meeting notes 5/14/2010===
* The Selenium framework testing code in the latest trunk of MW (r66751 ) is designed to work with 1.13 and has been tested on 1.13 and 1.15.
* In order to allow tests to dynamically configure the wiki, create an extension that is called by a hook at the end of LocalSettings. This extension then sets any necessary global variables and returns.
* Each test needs to establish the db in a state suitable for testing. How this will be accomplished is yet undefined.
* Discussion of the Selenium Framework for MW will be conducted on Wikitech-l
* There exists RC scripts for the Selenium-Grid machines. These will be checked into the main trunk.
* Some relevant links from Ryan Lane:
:* http://grid.tesla.usability.wikimedia.org/console
:* http://grid.tesla.usability.wikimedia.org:4444
:* http://www.mediawiki.org/wiki/Selenium
:* http://www.mediawiki.org/wiki/SeleniumFramework

Revision as of 13:59, 1 June 2010

Selenium

SeleniumFramework

General Notes

  • For linux wmctrl allows the manipulation of windows from the command line. This is useful for running tests that start up a browser window (and console, such as Selenium), since it is possible to create a wrapper that starts up the browser and then immediately minimizes its window. This keeps the main window uncluttered during test runs. To install wmctrl on Ubuntu:
sudo apt-get install wmctrl

Notes on getting MW Selenium worked examples to work

Installing the necessary software

  • Need to install PHPUnit. Use pear (comes installed with latest version of PHP)
sudo pear upgrade pear
sudo pear channel-discover pear.phpunit.de
sudo pear install phpunit/PHPUnit

Pear files are in (Ubuntu): /usr/share/php/PEAR PHPUnit files are in (Ubuntu): /usr/share/php/PHPUnit

  • Need to install Selenium
  • Selenium Remote Control (RC) is found at: http://seleniumhq.org/download/
  • Need java jvm installed (at least version 1.5)
  • Selenium RC only requires running selenium-server:
  • java -jar /path/to/selenium-server.jar
  • Selenium-IDE is also found at: http://seleniumhq.org/download/
  • It is a plugin for Firefox (only works on Firefox).
  • Need to install Testing/Selenium:
sudo pear install Testing_Selenium
  • You may need to specify a specific version. To find out the most recent verion:
pear remote-info Testing_Selenium

Setting up RunSeleniumTests.php (for Ubuntu)

  • Edit RunSeleniumTests.php and uncomment the line:
set_include_path( get_include_path() . PATH_SEPARATOR . '/usr/share/php/PEAR' );
  • Create the file: LocalSeleniumSettings.php and insert:
// Hostname of selenium server
$wgSeleniumTestsSeleniumHost = 'http://localhost';
 
// URL of the wiki to be tested.
$wgSeleniumTestsWikiUrl = 'http://localhost';
 
// Wiki login. Used by Selenium to log onto the wiki
$wgSeleniumTestsWikiUser      = '';
$wgSeleniumTestsWikiPassword  = '';
 
// Common browsers on Windows platform
// Use the *chrome handler in order to be able to test file uploads
$wgSeleniumTestsBrowsers['firefox']   = '*firefox c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe';
$wgSeleniumTestsBrowsers['ff-chrome']   = '*chrome c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe';
$wgSeleniumTestsBrowsers['iexplorer'] = '*iexploreproxy';
 
// Actually, use this browser
$wgSeleniumTestsUseBrowser = 'ff-chrome';

Edit this text and insert the name ($wgSeleniumTestsWikiUser) and password ($wgSeleniumTestsWikiPassword) of the wiki user under which the tests will run.

Some useful URLs

  • Netbeans, Selenium and PHPUnit:
    http://netbeans.org/kb/docs/php/phpunit.html

Selenium meeting notes 5/14/2010

  • The Selenium framework testing code in the latest trunk of MW (r66751 ) is designed to work with 1.13 and has been tested on 1.13 and 1.15.
  • In order to allow tests to dynamically configure the wiki, create an extension that is called by a hook at the end of LocalSettings. This extension then sets any necessary global variables and returns.
  • Each test needs to establish the db in a state suitable for testing. How this will be accomplished is yet undefined.
  • Discussion of the Selenium Framework for MW will be conducted on Wikitech-l
  • There exists RC scripts for the Selenium-Grid machines. These will be checked into the main trunk.
  • Some relevant links from Ryan Lane: