1
edit
Changes
→Cygwin Setup
=Introduction=
<b>This documentation is still in progress.</b> *This document assumes that you have the following:** [http://www.driverskit.com/dll/msvcp71.dll/2371.html msvcp71.dll] (NOTE: If you have Visual Studio 2003 installed, you've already got it.)***Microsoft® C Runtime Library, v. 7.10.3077.0***You need a copy of this file to run Python with all the libraries.*Put it in your C: directory if you have to download [http://www.driverskit.com/dll/msvcp71.dll/2371.html msvcp71.dll] *This documentation is the revised version of Annie Sullivan's [[Readme.txt]] for the Firefox Performance Testing. *Unfortunately, the Firefox Performance Testing is only catered to Windows users at this time. =Quick start=3 easy steps to run Firefox Performance Testing:* [[#Cygwin_Setup | Install Cygwin]]* [[#Save_the_script | Save the script]]* [[#Run_the_script | Run the script]]
=Cygwin Setup=
* [http://www.cygwin.com/setup.exe Cygwin]
**Download cygwin. **Install cygwin with the DOS-style line endings.(Use the default root directory, which is C:\)
**At minimum, you are required to have the following additional tools:
***unzip (Archive category)
Note: For some reason, we can't get output from Firefox unless it's wrapped in a Cygwin sh shell. So we use cygwin for that, and to sync between Firefox runs.
=Automated Configuration=
==Save the script==
*Save this script at a desired location
** Script: [http://www.yorku.ca/abel/liz/mozilla/perfconfig.sh Script to configure Firefox Performance Testing Framework]
*Edit the script to your own choosing. You may provide a list of extensions to install and test in the [[#Config_File_.28config.yaml.29 | config.yaml]] section.
*Note: <b>This script will run the performance testing.Running performance testing will close all opened Firefox browsers</b> ! If don't wish for that to happen, simply comment out the last line of the script (to comment out, use #):
<pre>
#./run_tests.py config.yaml;
</pre>
*Refer to [[#Run_Firefox_Performance_Tests|Run Firefox Performance Tests]] if you wish to run the performance tests later.
==Run the script==
*In cygwin, browse to the location where you saved your script.
*Before you run the script, refer to [[#What_happens_when_you_run_Firefox_Performance_Tests | What happens when you run Firefox Performance Tests]]
*From cygwin, run the script.
For example:
<pre>$./perfconfig.sh</pre>
==What the script does==
*Creates directories needed for the performance testing
** Directory that holds the files for the performance testing
** Reports directory to hold the results generated
*Downloads and installs pre-requisites
*Write to config.yaml
==Config File (config.yaml)==
===Config File Info===
When you run the perfconfig.sh script, a config.yaml file will be written to <b>C:\mozilla\testing\performance\win32\</b> by default.
Your config.yaml should consist of these items. *filename*title*(Test Profile name) - any name**firefox**preferences**extensions Refer to [[sample.config]]:
<pre>
# Filename will be appended to the timestamp in the report filename.
firefox: C:\Program Files\Mozilla Firefox 2 Beta 1\firefox.exe
# Preferences to set in the test (use "preferences : {}" for no prefs)
preferences:
javascript.options.showInConsole : true
2. '''preferences''':
* If you don't have '''preferences''', change to: <pre>preferences : {}</pre> (make sure there is a space between ":" and "{" or else it will cause a syntax error)
* If you do have '''preferences''', refer to [[sample.config]]
4. Change '''filename''' and '''title''' to whatever you desire
<br />
<b>DOS</b>
<pre>$run_tests.py config.yaml<anotherConfig.yaml></pre>
<br />
<b>Cygwin</b>
<pre>./run_tests.py config.yaml<anotherConfig.yaml></pre> =Things you can configure manually===What Configuring the script doespaths (paths.py)==*Creates directories needed You may set up the appropriate paths for the framework manually. *The current paths are set by default*After you run [[perfconfig.sh]], the <b>[[paths.py]]</b> file is located in '''C:\mozilla\testing\performance \win32\''' by default*The following are the constants in [[paths.py]]:**[[#CYGWIN | CYGWIN]]**[[#SYNC | SYNC]] **[[#BASE_PROFILE_DIR | BASE_PROFILE_DIR]]**[[#REPORTS_DIR | REPORTS_DIR]]**[[#INIT_URL | INIT_URL]]**[[#TS_URL | TS_URL]]**[[#TP_URL | TP_URL]] ===CYGWIN===By default: '''CYGWIN = r'c:\cygwin\bin\bash.exe -c''''*The path to cygwin bash to get output from dump() in Firefox*If you didn't specify a different root directory for the Cygwin to be installed, it will be installed in '''C:\''' by default ===SYNC===By default: <b>SYNC = r'c:\cygwin\bin\sync'</b>*Runs sync between Ts runs*If you didn't specify a different root directory for the Cygwin to be installed, it is in '''C:\''' ===BASE_PROFILE_DIR===By default: <b>BASE_PROFILE_DIR = r'C:\mozilla\testing\performance\win32\base_profile'</b>*IMPORTANT: Check that there is content in the '''base_profile''' directory *(Optional) For the page load test to work, modify the '''hostperm.1''' file**Set to allow urls with scheme:file to open in new windows**Set the preference to open new windows in a tab should be off. ===REPORTS_DIR===By default: <b>REPORTS_DIR = r'C:\mozilla\testing\performance\win32\extension_perf_reports'</b>*The [[perfconfig.sh]] script creates a '''extension_perf_reports''' dir in '''C:\mozilla\testing\performance\win32\''' ===INIT_URL===By default: <b>INIT_URL = 'file:///c:/mozilla/testing/performance/win32/initialize.html'</b>*The path to the file url to load when initializing a new profile*'''Note: Don't change the local file url to a file path''' ===TS_URL===By default: <b>TS_URL = 'file:///c:/mozilla/testing/performance/win32/startup_test/startup_test.html?begin='</b>* Directory that holds The path to the files file url to load for startup test (Ts)*'''Note: Don't change the local file url to a file path''' ===TP_URL=== By default: <b>TP_URL = 'file:///c:/mozilla/testing/performance /win32/page_load_test/cycler.html'</b>*The path to the file url to load for page load test (Tp)*'''Note: Don't change the local file url to a file path''' ==Configuring Config file==*If you run the [[perfconfig.sh]] script, a config.yaml file will be written to '''C:\mozilla\testing\performance\win32\''' config.yaml or refer to [[sample.config]]*You may have as many config files as you need to use for your Performance Testing* Reports directory The framework takes as many arguments as you provide when you run [[run_tests.py]]** Refer to [[#Run_Firefox_Performance_Tests | Run Firefox Performance Tests]]*For more information, refer to hold [[#Config_File_.28config.yaml.29 | Config File (config.yaml)]] =What happens when you run Firefox Performance Tests=*<b>All opened browser windows will be closed automatically!</b>*You might run into this message on your browser: '''This page should close Firefox. If it does not, please make sure that the results generateddom.allow_scripts_to_close_windows preference is set to true in about:config''' *Downloads *Type '''auto:config''' in the address bar and installs pre-requisitesdouble click on '''dom.allow_scripts_to_close_windows''' to change it to true* If you see '''processing... Performance Testing is starting''', performance testing is running.. * You can check the progress by the progress bar* After the performance testing is done, your reports will be placed in the [[#REPORTS_DIR | REPORTS_DIR]] directory you specified in [[paths.py]]*Write * <b>By default, it your reports will go to : C:\mozilla\testing\performance\win32\extension_perf_reports</b>* You can use a space-separated list of configfiles, to generate a report of startup and page load times.yaml** Refer to [[#Run_Firefox_Performance_Tests | Run Firefox Performance Tests]]