Confirmed users
9,511
edits
Teodosia.pop (talk | contribs) No edit summary |
No edit summary |
||
| (24 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
[[Image:WebQAlogo.jpg|thumb|left|200px]] | [[Image:WebQAlogo.jpg|thumb|left|200px|WebQAlogo.jpg]] | ||
*Welcome to the the | *Welcome to the the Web QA Team wiki page! | ||
*This page is considered a ramp up page and gives a centralization of our tasks. Please contact one of us before changing the content of the page. | *This page is considered a ramp up page and gives a centralization of our tasks. Please contact one of us before changing the content of the page. | ||
<br> | <br> | ||
= Communication = | = Communication = | ||
| Line 26: | Line 26: | ||
| teodosia.pop@softvision.ro | | teodosia.pop@softvision.ro | ||
| teodosia | | teodosia | ||
| | | WebQA | ||
|- | |- | ||
| Florin Strugariu | | Florin Strugariu | ||
| florin.strugariu@softvision.ro | | florin.strugariu@softvision.ro | ||
| Bebe | | Bebe | ||
| | | WebQA | ||
|- | |- | ||
| Alin Trif | | Andrei Alin Trif | ||
| alin.trif@softvision.ro | | alin.trif@softvision.ro | ||
| AlinT | | AlinT | ||
| | | WebQA | ||
|} | |} | ||
| Line 44: | Line 44: | ||
=== Meetings === | === Meetings === | ||
*''' | *'''Bi-weekly Waverly Meetings ''' | ||
Tuesdays, 8am PT / 4pm GMT | Tuesdays, 8am PT / 4pm GMT | ||
| Line 51: | Line 51: | ||
*[https://wiki.mozilla.org/QA/Fennec/Waverley#Weekly_Meetings Archive for Weekly Waverly meeting] | *[https://wiki.mozilla.org/QA/Fennec/Waverley#Weekly_Meetings Archive for Weekly Waverly meeting] | ||
*''' | *'''WebQA meetings''' | ||
Every | Every Thursday, 9am PT | ||
Dial in: 1-800-707-2533 (pin 369) Conf# 303 | Dial in: 1-800-707-2533 (pin 369) Conf# 303 | ||
[irc://irc.mozilla.org/ irc.mozilla.org #mozwebqa] for backchannel | [irc://irc.mozilla.org/ irc.mozilla.org #mozwebqa] for backchannel | ||
| Line 68: | Line 68: | ||
*mozwebqa@mozilla.org | *mozwebqa@mozilla.org | ||
= | = Web QA = | ||
== First Steps == | == First Steps == | ||
| Line 77: | Line 77: | ||
**[http://seleniumhq.org/docs/ SeleniumHQ Documentation] | **[http://seleniumhq.org/docs/ SeleniumHQ Documentation] | ||
**[http://www.developsense.com/blog/2009/08/testing-vs-checking/ The difference between tests and checks] | **[http://www.developsense.com/blog/2009/08/testing-vs-checking/ The difference between tests and checks] | ||
*Here are the GitHub locations for | ** [http://css.maxdesign.com.au/selectutorial/index.htm CSS locators] | ||
**[https://github.com/mozilla/Addon-Tests AMO | *Here are the GitHub locations for all the Web QA projects: | ||
**[https://github.com/mozilla/socorro-tests Socorro | **[https://github.com/mozilla/Addon-Tests AMO] | ||
**[https://github.com/mozilla/input-tests Input | **[https://github.com/mozilla/socorro-tests Socorro] | ||
**[https://github.com/mozilla/input-tests Input] | |||
**[https://github.com/mozilla/mozillians-tests Mozillians] | |||
**[https://github.com/mozilla/FlightDeck-selenium Flight-Deck] | |||
**[https://github.com/mozilla/mcom-tests Mozilla.com] | |||
**[https://github.com/mozilla/Affiliates-Tests Affiliates] | |||
**[https://github.com/mozilla/caseconductor-tests CaseConductor] | |||
**[https://github.com/mozilla/sumo-tests Sumo] | |||
**[https://github.com/mozilla/mdn-tests MDN] | |||
**[https://github.com/mozilla/BrowserID-Tests BrowserID] | |||
**[https://github.com/mozilla/qmo-tests QMO] | |||
*Each project’s GitHub repository has a README.md that will you help you set up an environment and get tests running for that particular project. | *Each project’s GitHub repository has a README.md that will you help you set up an environment and get tests running for that particular project. | ||
*We also have some general [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/Testcases/Guidelines test-writing guidelines] that should be followed. | *We also have some general [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/Testcases/Guidelines test-writing guidelines] that should be followed. | ||
*As you begin writing checks, please adhere as closely as possible to the [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/StyleGuide Style Guide]. | *As you begin writing checks, please adhere as closely as possible to the [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/StyleGuide Style Guide]. | ||
== Accounts == | |||
* Before you get started, you must have accounts on the following pages: | |||
** http://github.com/ - web-based hosting service for software development projects that use the Git revision control system | |||
** https://www.pivotaltracker.com/ - is a free, web-based project planning tool | |||
** http://litmus.mozilla.org/ - is a web-based, open source, test case management/QA tool | |||
** http://bugzilla.mozilla.com - bug tracking tool | |||
** http://wiki.mozilla.org | |||
** http://mozqa.sync.in account for Scrumpads | |||
== Setup the Work Environment on Win7 == | == Setup the Work Environment on Win7 == | ||
| Line 92: | Line 111: | ||
*Create a [http://help.github.com/fork-a-repo/ fork] of the Mozilla github repository on your git repo for the [https://github.com/mozilla/Addon-Tests/ AMO project]. | *Create a [http://help.github.com/fork-a-repo/ fork] of the Mozilla github repository on your git repo for the [https://github.com/mozilla/Addon-Tests/ AMO project]. | ||
*Clone the the above fork locally, on your machine. | *Clone the the above fork locally, on your machine. | ||
*The Windows GitHub GUI application cannot successfully authenticate. Use the http version instead of the ssh version. | |||
=== Python === | === Python === | ||
*Install [http://www.python.org/ftp/python/2.6.6/ Python 2.6 (32-bit version)] and include the folder path (''C:\Python26'') into the System Variables: ''System Properties->Environment Variables->System Variables-> Path'' | *Install [http://www.python.org/ftp/python/2.6.6/ Python 2.6 (32-bit version)] and include the folder path (''C:\Python26'') into the System Variables: ''System Properties->Environment Variables->System Variables-> Path''. | ||
=== Pip Install === | === Pip Install === | ||
*Download the last pip version from [http://pypi.python.org/pypi/pip#downloads here] and uncompress it. | *Download the last pip version from [http://pypi.python.org/pypi/pip#downloads here] and uncompress it. | ||
*Install the [http://pypi.python.org/pypi/setuptools#files 32-bit version of | *Install the [http://pypi.python.org/pypi/setuptools#files 32-bit version of the SetupTools] using the provided ''.exe'' installer. | ||
*In ''cmd'', go to the uncompressed pip directory and run ''python setup.py install'' | *In ''cmd'', go to the uncompressed pip directory and run ''python setup.py install'' | ||
*Add your ''C:\Python26\Scripts'' to the ''System Variables'' path. | *Add your ''C:\Python26\Scripts'' to the ''System Variables'' path. | ||
| Line 129: | Line 148: | ||
**Python must be installed to configure PyDev. | **Python must be installed to configure PyDev. | ||
**Go to ''Window → Preferences''. In the ''Preferences'' window, expand ''PyDe''v and select ''Interpreter-Python''. | **Go to ''Window → Preferences''. In the ''Preferences'' window, expand ''PyDe''v and select ''Interpreter-Python''. | ||
**Click ''New...' and type '' | **Click ''New...'' and type ''Python26''for the ''Interpreter name''. For the ''Interpreter executable'', browse to your copy of Python (''C:\Program Files\Python26\python.exe''), and press ''Open''. '' | ||
**Click ''OK'' and the Selection Needed Window will appear. | **Click ''OK'' and the Selection Needed Window will appear. | ||
**Select all but the ''PySrc'' and ''python26.zip'' and click ''OK'' as many times as necessary to exit the preferences. The default selection should be fine. | **Select all but the ''PySrc'' and ''python26.zip'' and click ''OK'' as many times as necessary to exit the preferences. The default selection should be fine. | ||
| Line 136: | Line 155: | ||
*Switch to the Python perspective: | *Switch to the Python perspective: | ||
**Go to ''Window → Open Perspective → Other'' and choose ''PyDev'', then click ''OK''. If you look at the upper right corner you will see that the perspective has changed from ''Java'' to ''PyDev''. | **Go to ''Window → Open Perspective → Other'' and choose ''PyDev'', then click ''OK''. If you look at the upper right corner you will see that the perspective has changed from ''Java'' to ''PyDev''. | ||
* Run tests | |||
** In Eclipse, go to ''Window->Preferences->Pydev->PyUnit'' and ''--api=rc --baseurl=https://name --browser="*firefox"'' into ''Parameters for test runner''. | |||
==== Configure Eclipse for PEP8 ==== | ==== Configure Eclipse for PEP8 ==== | ||
| Line 144: | Line 166: | ||
*Enter ''Name'' for your launch configuration. | *Enter ''Name'' for your launch configuration. | ||
*Fill following fields: | *Fill following fields: | ||
**Location - ''C:\Python26\Scripts\pep8.exe'' | **''Location'' - ''C:\Python26\Scripts\pep8.exe'' | ||
**''Working directory'' - ''${container_loc}'' | **''Working directory'' - ''${container_loc}'' | ||
**''Arguments'' - ''${resource_name}'' | **''Arguments'' - ''${resource_name}'' | ||
*Go to ''Common'' tab and make sure that ''Allocate Console'' checkbox is checked. | *Go to ''Common'' tab and make sure that ''Allocate Console'' checkbox is checked. | ||
=== Selenium === | |||
*Download the latest Selenium standalone server [http://code.google.com/p/selenium/downloads/list here]. The filename will be something like ''selenium-server-standalone-2.5.0.jar''. | |||
== How To Run Tests == | |||
* Start the Selenium server by running the following command: | |||
** ''java -jar selenium-server-standalone-2.5.0.jar -firefoxProfileTemplate path:\firefoxprofiles\certificateExceptions'' | |||
* To run tests locally it's a simple case of calling ''py.test'' from the project's directory | |||
** py.test --api=rc --baseurl=https://example.com --browser="*firefox" | |||
== Tasks == | == Tasks == | ||
| Line 153: | Line 184: | ||
*Our main task is to convert the manual tests for AMO in Litmus into automated tests, but we also do code review and merge pull requests. | *Our main task is to convert the manual tests for AMO in Litmus into automated tests, but we also do code review and merge pull requests. | ||
*We receive our tasks in [https://www.pivotaltracker.com/projects/310523 Pivotal Tracker]. | *We receive our tasks in [https://www.pivotaltracker.com/projects/310523 Pivotal Tracker]. | ||
*We are involved in the [https://wiki.mozilla.org/Web_Testing/Automation/CodeReviewProcess code review process]. | |||
*Handle [https://wiki.mozilla.org/Web_Testing/Automation/CodeReviewProcess#How_to_do_a_merge.3F merges] when the pulls are ready to be pushed into the repo. | |||
== Tips & Tricks == | |||
* When you are using locators, the order to use in the following order : | |||
**id | |||
**name | |||
**CSS | |||
**Xpath (Use Xpath if there is no other way.) | |||
*Run PEP8 before you push the code. | |||
*Do not use complicated code, there is always an easier way. | |||
*Readability is everything. Pay attention to your variable/class/function names. | |||
*Add comments in your code if you consider it to be unclear and that the code would be more readable that way. | |||
*All your code must be in ''*_page.py''. In tests you mainly use Asserts and functions from ''*_page.py''. | |||
*DO NOT push anything to Mozilla. If you are not sure of something please ask. | |||
= Additional Information = | = Additional Information = | ||