Changes

Jump to: navigation, search

Firefox Performance Testing : A Python framework for Windows

29,100 bytes added, 14:22, 17 April 2013
m
Reverted edits by Saoagent (Talk) to last revision by Elichak
= Project Contributor(s) =
 
[[User:dwwoodsi|Dean Woodside]] (dean)
* Submitted an sh file that automates the tedious performance testing framework configuration
 
Alice Nodelman
*Discussed on the things that need to be fixed to improve and strengthen the framework
*Gave suggestions on the new Performance Testing framework
[[User:Bhearsum | Ben Hearsum]] (bhearsum)
*Set up the VM for performance testing
*Helped get me started with the debugging process for report.py, run_tests.py and ts.py [[User:Mylau | Michael Lau]] (mylau)*Added comments on the documentation for setting up Performance Testing framework for Windows*Tested the new and improved Performance Testing framework (version 1)*Gave constructive feedback on documentation (version 1) [[User:Eor | Eva Or]] (eor)*Tested the new and improved Performance Testing framework (version 1)*Gave constructive feedback on new documentation (version 1) [[User:djhamp-g | David Hamp Gonsalves ]] (inveigle)*Gave pointers on flushing buffer*Helped with some grammar and sentence structuring for documentation (version 1)*Tested and gave constructive feedback on the framework (version 1)*Looked into a batch file for automating configuration, gave pointers*Tested and commented on the new framework (version 2) [[User: robcee | Rob Campbell]] (robcee)*Gave me a number of python tips :)
[[User:Themystic | Tom Aratyn]] (mystic)
*Introduced Closures in Python
Alice Nodelman
*Discussion on the things that need to be fixed to improve and strengthen the framework
==In-Class Contributors==Please let me know if I missed you out. I've only listed the people whom I've received comments from. Those of you who participated but isn't listed as an in-class contributor, please list your comments [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#In_class_Firefox_Performance_Testing | here]]* [[User:Mylau Mdsouza| Michael LauMark D'Souza]] (mylaumdsouza)*Added comments on the documentation for setting up Performance Testing framework for Windows[[User:Sherman|Sherman Fernandes]] (sjfern)* [[User:Ankuswan|Aditya Nanda Kuswanto]] (vipers101)* [[User:dmmanley|Dave Manley]] (seneManley)* [[User:Cbguy1|Colin Guy]] (Guiness)* [[User:mattar1|Mohamed Attar]] (mojo)* [[User:mckwan|Man Choi Kwan]] (mckwan)* [[User:RealMarkP|Mark Paruzel]] (RealMarkP or FakeMarkP)* [[User:jbmossop|Jeff Mossop]] (JBmossop)* [[User:melz|Melissa Peh]] (melz)* [[User:Paul|Paul Yanchun Gu]] (gpaul)* [[User:Vpmirand|Vanessa Miranda]] (vanessa)* [[User:Pcvitori|Philip Vitorino]] (philly)* [[User:PStD|Paul St-Denis]] (pstdenis)* [[User:moe|Mohammad Tirtashi]] (moe)* [[User:Cdolivei|Cesar Oliveira]] (cesar)* [[User:Andrew|Andrew Smith]] (andrew)* [[User:Bhearsum | Ben Hearsum]] (bhearsum)* [[User:Eldavey|Erin Davey]] (davey_girl)* [[User:themystic| Tom Aratyn]] (mystic)* [[User:djhamp-g | David Hamp]]* [[User:dwwoodsi|Dean Woodside]] (dean)
= Project Details =
 
==Improved Documentation==
===Latest===
[[New_Firefox_Performance_Testing_Documentation | New Firefox Performance Testing Documentation]]
===First Attempt===
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]
==Details==
*Second, it measures performance characteristics while it's running the pageload tests--you can track cpu speed, memory, or any of the other counters listed [http://technet2.microsoft.com/WindowsServer/en/Library/86b5d116-6fb3-427b-af8c-9077162125fe1033.mspx?mfr=true here].
 
==Web logs==
*[http://weblogs.mozillazine.org/qa/ Mozilla Quality Assurance and Testing Blog for Mozilla Firefox and Thunderbird]
*[http://wiki.mozilla.org/MozillaQualityAssurance:Performance_Testing Mozilla Quality Assurance Performance Testing]
 
==Submission==
Still in progress!<br />
While it's sizzling, try out the Firefox Performance Testing Framework (version 2) at [[New_Firefox_Performance_Testing_Documentation#Quick_start| New Firefox Performance Testing Documentation Quick Start section]] - 3 easy steps
<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0>
<th style="width: 20%; background-color:#333333; color:#F3F3F3">Artifact</th>
<th style="width: 30%%; background-color:#333333; color:#F3F3F3">Details</th>
<th style="width: 20%; background-color:#333333; color:#F3F3F3">Links</th>
<tr>
<td valign="top">run_tests.py</td>
<td valign="top">
*Python file used to execute the Firefox Performance Testing
*Some of the things it does:
** Validates files and directories needed for Performance Testing
** Displays informative messages to allow users to fix any invalidity in files or directories
** Displays an informative progress/status bar that informs users how far into the testing they are
*Things that Alice and I discussed are reflected in this file:
** Configuration checker
*** yaml file validator
*** paths.py validator
**** checking the paths for existance
***** notify user if path doesnt exist and ask user if they want it created
**** checking if the directories have contents
 
</td>
<td valign="top">
[[run_tests.py]]
</td>
</tr>
<tr>
<td valign="top">perfconfig.sh</td>
<td valign="top">This script is used to automate the tedious Firefox Performance Testing Configuration
*Main Contributor
** [[User:dwwoodsi|Dean Woodside]] (dean)
*With this script:
** Configuration of python framework is eased
 
</td>
<td valign="top">
[[perfconfig.sh]]
</td>
</tr>
<tr>
<td valign="top">Progress bar class</td>
<td valign="top">
*Modified open source code to be used for this project
*Displays a progress/status bar so users will know at which stage of the Performance Testing they are at (by percentage%, sort of)
</td>
<td valign="top">
[[pb.py]]
</td>
</tr>
<tr>
<td valign="top">paths.py</td>
<td valign="top">
*This is the file that contains all the paths that are needed for the Performance Testing
*Fixed the paths and modified some documentation</td>
<td valign="top">
[[paths.py]]
</td>
</tr>
<tr>
<td valign="top">Firefox Performance Testing Documentation (Version 1)</td>
<td valign="top">
*This was the first documentation that was written to improve the documentation provided in the initial
Firefox Performance Testing Framework (Refer to [[Readme.txt]])
*It was deemed to be too elaborative and needed to be more concise
*Needed work
*Users didn't like the configuration steps they had to take
** For more ranting:[[#Comments_on_the_Firefox_Performance_Testing_Framework | DPS909 Student comments]]
</td>
<td valign="top">
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]
</td>
</tr>
<tr>
<td valign="top">Firefox Performance Testing Documentation (Version 2)</td>
<td valign="top">
*<b>To try Firefox Performance Testing out, go to this documentation</b>
*This the new documentation that is improved with the [[#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]]
*Building a user base.. some comments on this NEW framework
**[[New Firefox Performance Testing Framework comments]]
 
<b>Goals achieved:</b>
* Effective
**Easy-to-use
**Free from confusion
**Informative and helpful
*Efficient
**Takes almost no time to set up the framework
**Captures <b>most</b> user errors through validation and saves user time and frustration to fix an error while running the framework
***Informs user of the directory/file invalidity or if they ran an invalid config file etc.
 
Additional:
*Users don't have to know the whole framework to configure it
** Documentation helps
*Users are not left staring at the console wondering what is happening when they run the Performance Tests
** Progress bar and informative messages
*Users don't have to waste hours/days/weeks debugging the code to find out why they are having problems configuring the framework
** I spent 2 weeks configuring the <strike>bloody</strike> framework
 
</td>
<td valign="top">
[[New_Firefox_Performance_Testing_Documentation | New Firefox Performance Testing Documentation]]
</td>
</tr>
 
<tr>
<td valign="top">Status Documentation</td>
<td valign="top">
*Here are the progress charts for this project
*They are divided into 3:
** Performance Testing Framework First Version
** Performance Testing Framework Second Version
** More details of things to fix for the framework
 
</td>
<td valign="top">
*[[Things to fix for Performance Testing Framework | More details of things to fix for Performance Testing Framework]]
*[[#Extended_Progress_Chart_.28Version_2.29 | Version 2]]
*[[#Progress_.28Version_1.29 | Version 1]]
</td>
</tr>
<tr>
<td valign="top">
Firefox Performance Testing Framework Directory Structure
</td>
<td valign="top">
*Here is an overview of the Firefox Performance Testing Framework Directory Structure.
*The directory structure is revised
*There were too many extra libraries to load which caused too many dependencies
*Directory structure was difficult to keep track due to redundant directories and extra libraries
*All configuration is in one place!
** config.yaml
** paths.py
** constants
</td>
<td valign="top">
[[#Directory_Structure_of_Framework| Performance Testing Framework Directory Structure]]
</td>
</tr>
<tr>
<td valign="top">
Screen shots
</td>
<td valign="top">
*Here is a screen shot of the program when it is doing a performance testing:
 
[[Image:Perftesting running.png | Firefox Performance Testing running]]
 
</td>
<td valign="top">
Not Applicable
</td>
</tr>
<tr>
<td valign="top">
Next Steps
</td>
<td valign="top">
*Am I done? Not quite
</td>
<td valign="top">
[[#Next_Steps | Next Big Steps]]
</td>
</tr>
<tr>
<td valign="top">
Reflections
</td>
<td valign="top">
*Some thoughts
</td>
<td valign="top">
[[#Reflections_on_the_project | Reflections]]
</td>
</tr>
</table>
 
==Next Steps==
<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0>
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Task</th>
<th style="width: 30%; background-color:#333333; color:#F3F3F3">Details</th>
<th style="width: 10%; background-color:#333333; color:#F3F3F3">Priority</th>
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Contributors</th>
<th style="width: 20%; background-color:#333333; color:#F3F3F3">Status</th>
<tr>
<td valign="top">Porting framework to other OSes</td>
<td valign="top">
* <b>What good is a performance testing framework if it only runs on Windows??</b>
* This has been a pending task for awhile.
* Since several students made a point that it should port to other OSes, I should look into that
* Students who use OS X, Unix Oses etc. couldn't test this framework
</td>
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
 
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div>
</td>
</tr>
<tr>
<td valign="top">Run both ts and tp at the same time</td>
<td valign="top">
*Will have a discussion with Alice Nodelman in regards to this
</td>
 
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div>
</td>
</tr>
 
<tr>
<td valign="top">Create and execute new tests</td>
<td valign="top">
*New test case(s) for performance
*Will have a discussion with Alice Nodelman in regards to this
</td>
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div>
</td>
</tr>
 
</table>
 
==Extended Progress Chart (Version 2)==
<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0>
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Task</th>
<th style="width: 30%; background-color:#333333; color:#F3F3F3">Details</th>
<th style="width: 10%; background-color:#333333; color:#F3F3F3">Priority</th>
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Contributors</th>
<th style="width: 20%; background-color:#333333; color:#F3F3F3">Status</th>
<tr>
<td valign="top">Read all student comments about framework and improve it</td>
<td valign="top">
* On Nov 29th, students of DPS909 contributed by testing the framework
* They have listed constructive feedback and many great suggestions to help improve the setup of the framework
** [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | Student comments about framework]]
</td>
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
* I've read some comments but I need some time to drill down ones that will help to improve the framework.
* Nevertheless, all the comments are really REALLY helpful to facilitate in improving this framework.
 
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">100% completed</div>
</td>
</tr>
<tr>
<td valign="top">Drill and narrow down the student comments to improve framework</td>
<td valign="top">
*Improve framework as per suggested by the students: [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | Student comments about framework]]
*Only pick the important ones
*[[Things to fix for Performance Testing Framework | More details]]
</td>
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
* Working on some of the comments that helps make the framework stronger and more robust
* Some tasks might be redundant. Nonetheless, I'm clear about what should be fixed
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">In progress</div>
</td>
</tr>
<tr>
<td valign="top">Fix [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]] and framework configuration</td>
<td valign="top">
* From the [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | student comments about the framework]], I have gathered that the documentation have to be fixed as some parts are vague and some important areas are not highlighted.
* Some Items ([[Things to fix for Performance Testing Framework | More details]]):
** Make the ''Create extension_perf_reports directory''' part bold
*** Maybe ask the user if they want it to be generated if it doesn't exist (will be done in framework)
*** Should it be created from the sh script??
** '''config.yaml''' file
*** If user chooses to test with no preferences or extensions, should mention about commenting the lines beneath them.
** Additional details regarding Framework Prerequisites would reduce confusion.
*** Comment from student: There isn't any harm in "dumbing it down" a level.
 
*[[Things to fix for Performance Testing Framework | More details]]
 
</td>
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
<b>New status</b>
 
[[New Firefox Performance Testing Documentation]]
 
 
<b>Older status</b>
 
Will start on this after drilling down the [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]]
 
 
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">In progress</div>
</td>
</tr>
<tr>
<td valign="top">Pre-requisites: Python, Cywin and .dll Installation Guidelines</td>
<td valign="top">
* Order of installations
* Cygwin
**Students were confused as to whether they should keep the default [http://www.cygwin.com/setup.exe Cygwin] setup/packages as the documentation didn't outline that.
**They inquired which Cygwin packages are required
* Concerns about where the .[http://www.driverskit.com/dll/msvcp71.dll/2371.html msvcp71.dll] file should be installed after it's downloaded
* A few students got the error: ImportError: No module named win32pdh
** missed out install the Python Win32 Extensions - sh script handles it now
* Now that the sh script handles the pre-requisite installation, are the following necessary?
** Some files seem to have dependencies on another. Need to point whether some files have to be installed in order.
** Some files have the same installation GUI, which makes it hard to track down which have been installed and which have not. Some screenshots may help.
** For '''Cygwin''' installation, should note that default package setting is sufficient. Remove all doubts.
</td>
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
*All these issues are mitigated by the [[perfconfig.sh]] script.
*This script automates all the tedious steps you have to go through to run your performance testing which was, unfortunately, loathed by users. (Based on [[#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]])
*See it for yourself! Try it out: [[New_Firefox_Performance_Testing_Documentation#Quick_start| New Firefox Performance Testing Documentation Quick Start section]]
*I'm also gathering user feedback:
[[New Firefox Performance Testing Framework comments]]
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">100% done</div>
</td>
</tr>
<tr>
<td valign="top">Configuring Environment Specifications in documentation</td>
<td valign="top">
<b>BASE_PROFILE_DIR</b>
* No instructions on what exactly to place in the Hostperm.1 file.
* Hostperm.1 file is autogenerated and warns against editing it.
* Mention how to modify the Hostperm.1 file.
</td>
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
I have nothing to work with besides the [[Readme.txt | README.TXT]] file by Annie Sullivan. Therefore, I have to consult Alice Nodelman in this area.
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">In progress</div>
</td>
</tr>
 
<tr>
<td valign="top">Automate environment configuration</td>
<td valign="top">
 
*One of the [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]] is to write a bat/sh file to automate the configurations of the pre-requisites for the framework
</td>
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:dwwoodsi|Dean Woodside]] (dean)
** Submitted sh script
* [[User:djhamp-g | David Hamp-Gonsalves]] (inveigle)
** Looked into this, gave pointers
</td>
<td valign="top">
* [[User:dwwoodsi|Dean Woodside]] has submitted a sh scripting for this. It works great. Needs to be touched up
**[http://www.yorku.ca/abel/liz/mozilla/perfconfig.zip Sh script zip]
 
* [[User:elichak |Liz Chak]] will fix up the sh script
**Doesn't make a reports folder (should this be in the sh script??)
**Still runs the whole script even if it couldn't download the pre-requisites, should terminate
**Missed out the paths.py file
**Requires touch ups, but everything else is good
**Proper documentation
 
Files:
*[[perfconfig.sh]] - Source code
*[http://www.yorku.ca/abel/liz/mozilla/perfconfig.sh Actual Script to configure Firefox Performance Testing Framework]
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">100% completed</div>
</td>
</tr>
 
<tr>
<td valign="top">Porting framework to other OSes</td>
<td valign="top">
* This has been a pending task for awhile.
* Since several students made a point that it should port to other OSes, I should look into that
* Students who use OS X, Unix Oses etc. couldn't test this framework
</td>
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td>
<td valign="top">
* [[User:elichak|Liz Chak]]
</td>
<td valign="top">
 
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0% completed</div>
</td>
</tr>
</table>
==Progress(Version 1)==
<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0>
</td>
<td valign="top">
<b>Newer status</b>
The DPS909 class tested the documentation and framework out.
*Needed rework
 
<b>Older status</b>
*Improving the current documentation so that it's easier to follow
*Making sure that all the configuration documents are in one place
*This is done along with the code base work I'm doing
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">90100% completed - Needs to be reviewed and tested out</div>
</td>
</tr>
<div style="width:100%;background-color:#F3F3F3">98100% completed (Alice will let me know if I'm missing something - therefore the 2% is reserved for thatreviewed)</div>
</td>
</tr>
** Checks if base_profile contents exist!
** Got some suggestions from [[User:Robcee | Rob Campbell]], going to work with his suggestions
** Checks file urls
*Things left to do
** Check if base_profile contents exist - DONE
*** Alice adviced that I should check contents in general - no specific files or directories because they can change depending on what the developer is testing
** Check files in (file:///c:/) format- DONE
*** create a temporary variable for the local pathname, convert the path to the os path and then check
*** split and join
*** urlparse
** Work on checking Cygwin paths
*** split and join
*I have fixed the program to check for the existence of the base_profile dir and it also checks if the bookmarkbackups, Cache dirs and perf.js dir exist.
<div style="width:100%;background-color:#F3F3F3">90100% completed</div>
</td>
70100% completed - needs to be reviewed</div>
</td>
</tr>
<td valign="top">
* [[User:elichak|Liz Chak]]
* [[User:eor | Eva Or]]& [[User:mylau | Mike Lau]]* [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#In-Class_Contributors|Whole class]]!** Wants to setup the Setup framework using the new documentation - Things to look out for: If it's user-oriented and if it is easy to setup** Gave constructive feedback on documentation
</td>
<td valign="top">
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">0100% completed</div>
</td>
</tr>
</table>
==Comments on the current [[Readme.txt | README.TXT]] Documentation (By Mike Lau)==
'''Getting Started'''
==Solution: Firefox doesn't know how to open this address, because the protocol (c) isn't associated with any programs==
In paths.py, the paths for INIT_URL, TS_URL and TP_URL have to be in this format a local file url, not file path (file:///c:/):
<pre>
"""The path to the file url to load when initializing a new profile"""
* By default in paths.py: BASE_PROFILE_DIR = r'C:\extension_perf_testing\base_profile'
* The BASE_PROFILE_DIR could be a different path, it doesn't have to be like the one above.
 
==Problem: This page should close Firefox. If it does not, please make sure that the dom.allow_scripts_to_close_windows preference is set to true in about:config==
*You have to change the dom.allow_scripts_to_close_windows preference to true
 
==Solution: This page should close Firefox. If it does not, please make sure that the dom.allow_scripts_to_close_windows preference is set to true in about:config==
*Type in about:config in the address bar
*Scroll down and look for dom.allow_scripts_to_close_windows
*Double click on it to set it to true
 
=Directory Structure of Framework=
 
 
==Overview of Structure==
A glance at the Framework File Structure (CVS files not included):
 
<pre>
win32
|
|
|__ base_profile (dir)
| |
| |__ bookmarkbackups (dir)
| | |
| | |__ .html files
| |
| |__ Cache (dir)
| |
| |__ .bak, .html, .ini, .dat, .txt, .js, .rdf, .mfl files
|
|
|__ page_load_test(dir)
| |
| |__ base(dir)
| | |
| | |__ other dirs and .html files
| |
| |__ cycler.html & report.html
|
|
|__ startup_test
| |
| |__ startup_test.html
|
|
|__ extension_perf_reports (dir for generated reports)
|
|
|__ run_tests.py, paths.py, config.yaml and other .py, .html files
</pre>
 
*NOTE: Content in '''base_profile''' dir may vary
 
 
The following is written by Annie Sullivan (annie.sullivan@gmail.com):
 
==base_profile/==
*This directory contains the base profile used for testing.
*A copy of this profile is made for each testing profile, and extensions or prefs are added according to the test_configs array in run_tests.py.
*For the page load test to run correctly, the hostperm.1 file must be set to allow scheme:file uris to open in new windows, and the pref to force a window to open in a tab must not be set.
*The dom.allow_scripts_to_close_windows pref should also be set to true. The browser.shell.checkDefaultBrowser pref should be set to false.
 
 
==page_load_test/==
*This directory contains the JavaScript files and html data files for the page load test.
*The page load test opens a new window and cycles through loading each html file, timing each load.
 
 
==startup_test/==
*This directory contains the JavaScript to run the startup test.
*It measures how long it takes Firefox to start up.
 
 
==extension_perf_report/==
*This directory is where the generated report will go into.
*You may specify another directory to substitute this directory, but make sure that the '''paths.py''' is changed to point to it.
 
 
==run_tests.py, paths.py==
*These files should be configured to run the test on different machines, with different extensions or preferences. See setup above.
 
= Project News =
==Tuesday, 21 Nov 2006==
Refer to progress chart.
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#ProgressProgress_.28Version_1.29| Performance Testing Framework progress chart]] ==Wednesday, 29 Nov 2006==In-class Performance Testing Framework Configuration* DPS909 students contributed by testing the framework* Students have listed constructive feedback and many great suggestions to help improve the setup of the framework** [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | Student comments about framework]] ==Sunday, 3 Dec 2006==* [[User:dwwoodsi|Dean Woodside]] has submitted a sh scripting for this. It works great. Needs to be touched up.**[http://www.yorku.ca/abel/mozilla/perfconfig.zip Sh script zip] * [[User:elichak |Liz Chak]] will fix up the sh script**Doesn't make a reports folder **Still runs the whole script even if it couldn't download the pre-requisites, should terminate**Missed out the paths.py file**Requires touch ups, but everything else is good ==Sunday, 10 Dec 2006==* Narrowing down the things that need to be done before 13 December 2006* Refer to [[#Extended_Progress_Chart_.28Version_2.29 | Extended Progress Chart]] ==Wednesday, 13 Dec 2006==* Created a [[New_Firefox_Performance_Testing_Documentation | new documentation]]* Finished my parts for the Performance Testing Framework** Refer to [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Submission | submission]] The current Firefox Performance Testing Framework is effective and efficient. *<b>To try Firefox Performance Testing out, go to this documentation</b>*This the new documentation that is improved with the [[#Comments_on_the_Firefox_Performance_Testing_Framework | student comments]]*Building a user base.. some comments on this NEW framework**[[New Firefox Performance Testing Framework comments]] <b>Goals achieved:</b>* Effective**Easy-to-use**Free from confusion**Informative and helpful*Efficient**Takes almost no time to set up the framework**Captures <b>most</b> user errors through validation and saves user time and frustration to fix an error while running the framework***Informs user of the directory/file invalidity or if they ran an invalid config file etc. Things To-do (Immediately)*Clean up this page - almost done*Document source - almost done*Fix up the [[New_Firefox_Performance_Testing_Documentation | Performance Testing Documentation]] 
=Project References=
*I recommend these sites to learn about python:
= Project Events =
==In class Firefox Performance Testing Setup Configuration=='''Before you begin'''
# You have to be on a Windows operating system
# Take a deep breath and go through the [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]# Make a page under [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | Comments on the Firefox Performance Testing Framework (see below)]] to list out your comments on the framework# The performance testing is only successful if you see generated results in the reports directory (you'll understand what this means once you start)# Ask [[User:Elichak | Liz Chak]] if you have any questions '''Things to look out for'''# If the documentation is easy to follow# Did you stumble upon any difficulty? If so, state them# List any system errors, if any (with the error message and a brief description of what you think caused it) ===Comments on the Firefox Performance Testing Framework==='''Instructions:'''* Make a page starting with your name/nick and end with "perf comments" (to ensure uniqueness)* Example: [[Liz Chak perf comments]] '''List of comments:''' * [[Mark D'Souza perf comments]]* [[Sherman Fernandes perf comments]]* [[Aditya Nanda Kuswanto perf comments]]* [[Richard Chu perf comments]]* [[David Manley perf comments]]* [[Djhamp-g perf comments]]* [[Colin Guy perf comments]]* [[Mohamed Attar perf comments]]* [[Man Choi Kwan perf comments]]* [[Mark Paruzel pref comments]]* [[Jeff Mossop perf comments]]* [[Melissa Peh perf comments]]* [[Paul Yanchun Gu comments]]* [[Vanessa Miranda comments]]* [[Philip Vitorino perf comments]]* [[Paul St-Denis Moe Bagheri perf comments]]* [[Cesar Oliveira perf comments]]* [[Firefox Performance Testing : A Python framework for Windows:Comments/Ben Hearsum|Ben Hearsum]]* [[Themystic_perf_comments| Tom Aratyn]]* [[davey_girl_comments| Erin Davey]]* [[dwwoodsi perf comments| Dean Woodside]] ==Reflections on the project==Now that the first phase of the project is done, I would like to sit back and reflect on some of the experiences I have had with this project. Not only did this project grow, I have been growing with it. I've learned endless amount of things by working on this project (not just technical stuff). And as the saying goes, "you only learn from experience"! ===Configuration frustration===Words can't express how I was initially frustrated with the framework. I hit brick walls a countless number of times when I tried to set the framework up and running and I was on the verge of giving up. It was only through my own perseverance and determination that I got this to work.  Outcome: A list of things to fix on the framework to ease the configuration, strengthen the framework and better documentation!! ===First deliverable===I asked the class to test my first deliverable. I had faith that my framework would bring delight to my testers, but I was proven otherwise. Even with the effort that I've put into my first deliverable, it still created a group of frustrated and agonized users. Many of them ranted on what could be improved on the framework, hence: Outcome: A list of things to automate the framework and EASE THE CONFIGURATION ===Final deliverable===I'm glad that my first tester was thrilled about my Performance Testing. There is nothing better than a happy user. What I've learned is that TESTING is the KEY to a successful application. Why do so many of us developers neglect that??
===Credits===
[[User:dwwoodsi|Dean Woodside]], Alice Nodelman, [[User:Bhearsum | Ben Hearsum]], [[User:Mylau | Michael Lau]], [[User:Eor | Eva Or]], [[User:djhamp-g | David Hamp Gonsalves ]], [[User:David.humphrey|Dave Humphrey]], [[User:robcee|Rob Campbell]] and of course, the DPS909 class who tested my framework. These are the individuals who played a significant part in making this framework headed toward success!
==Bon Echo Community Test Day==
3
edits

Navigation menu