canmove, Confirmed users, Bureaucrats and Sysops emeriti
4,714
edits
(Created page with "==Overview== "(WebAPI place holder)... is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The Web...") |
m (Whimboo moved page Auto-tools/Automation Development/Projects/WebAPI to QA/Automation/Projects/WebAPI: Team reorganization) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Overview== | ==Overview== | ||
As an essential part of Boot2Gecko (Mozilla Firefox OS), the WebAPIs provide access to the device OS, thus allowing html applications to use mobile phone features. For example, a B2G html application can send SMS messages via javascript using the WebSMS WebAPI. | |||
In order to ensure the functionality of the WebAPIs, an extensive WebAPI test suite must be developed. Both the Mochitest and Marionette automation frameworks will be used in the development and execution of the WebAPI tests, which ultimately will be executed on the B2G device emulator on a per-check-in basis. | |||
{| style="width: 90%; margin: 0 0 1em 1em" | | {| style="width: 90%; margin: 0 0 1em 1em" | | ||
Line 9: | Line 9: | ||
|- valign="top" | |- valign="top" | ||
| '''Name:''' | | '''Name:''' | ||
| | | WebAPI tests | ||
|- valign="top" | |- valign="top" | ||
| '''Leads:''' | | '''Leads:''' | ||
| [mailto: | | [mailto:rwood@mozilla.com Rob Wood], [mailto:hskupin@mozilla.com Henrik Skupin], [mailto:dhunt@mozilla.com Dave Hunt] | ||
|- valign="top" | |- valign="top" | ||
| '''Contributors:''' | | '''Contributors:''' | ||
Line 18: | Line 18: | ||
|- valign="top" | |- valign="top" | ||
| '''Repository:''' | | '''Repository:''' | ||
| http:// | | http://mxr.mozilla.org/mozilla-central/source/dom/ | ||
|- valign="top" | |- valign="top" | ||
| ''' | | '''API specs:''' | ||
| | | https://wiki.mozilla.org/WebAPI#APIs | ||
|- valign="top" | |- valign="top" | ||
| '''Etherpad:''' | | '''Etherpad:''' | ||
| | | https://etherpad.mozilla.org/automation-webapi | ||
|} | |} | ||
==Sub Projects== | ==Sub Projects== | ||
{| class="fullwidth-table" | | {| class="fullwidth-table" | | ||
| style="background:#EFEFEF; width: | | style="background:#EFEFEF; width: 10%" | Priority | ||
| style="background:#EFEFEF; width: 15%" | | | style="background:#EFEFEF; width: 20%" | Feature | ||
| style="background:#EFEFEF; width: | | style="background:#EFEFEF; width: 10%" | Status | ||
| style="background:#EFEFEF; width: 15%" | Owner | |||
| style="background:#EFEFEF; width: 45%" | QA testplan | |||
|- valign="top" | |- valign="top" | ||
| [[ | | P1 | ||
| [[WebAPI/WebTelephony|WebTelephony]] | |||
| Active | | Active | ||
| | | Rob Wood | ||
| [[B2G/QA/WebAPI_Test_Plan/WebTelephony]] | |||
|- valign="top" | |||
| P1 | |||
| [[WebAPI/WebSMS|WebSMS]] | |||
| Active | |||
| Rob Wood | |||
| [[B2G/QA/WebAPI_Test_Plan/WebSMS]] | |||
|- valign="top" | |||
| P1 | |||
| [[WebAPI/ScreenOrientation|Screen Orientation]] | |||
| Active | |||
| Henrik Skupin | |||
| [[B2G/QA/WebAPI_Test_Plan/Screen_Orientation]] | |||
|- valign="top" | |||
| P1 | |||
| [http://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html Battery Status] | |||
| No started | |||
| TBD | |||
| [[B2G/QA/WebAPI_Test_Plan/Battery_Status]] | |||
|} | |} | ||
==Tasks== | |||
For each of the WebAPIs that are testable on the B2G device emulator: | |||
* Review the implementation details | |||
* Review existing tests | |||
* Identify new test cases to be developed, in order to ensure full API test coverage | |||
* When reviewing existing mochitests, determine if additional test coverage can be achieved by adding marionette tests that access emulator features | |||
* Develop new tests using the appropriate automation framework: | |||
** Default to using mochitest; unless: | |||
** If direct access to the B2G device emulator 'hardware' commands is required, use the marionette framework. | |||
==Details== | ==Details== | ||
For more information about the B2G WebAPI, building B2G, running the tests, etc. please see the links mentioned below. | |||
=== Specifications and Architecture === | |||
General Firefox OS announcement: http://www.mozilla.org/en-US/firefoxos/ | |||
Firefox OS on MDN: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS | |||
B2G Wiki: https://wiki.mozilla.org/B2G | |||
B2G architecture overview: | |||
https://wiki.mozilla.org/B2G/Architecture | |||
Details and specifications for the WebAPIs planned for B2G V1: | |||
https://wiki.mozilla.org/Webapi | |||
=== Building B2G === | |||
Building and installing B2G: | |||
https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Building_and_installing_Boot_to_Gecko | |||
=== Running the WebAPI Tests === | |||
Using the B2G device emulator: | |||
https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators | |||
Mochitest overview: | |||
https://developer.mozilla.org/en-US/docs/Mochitest | |||
B2G Mochitest: | |||
https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/B2G_Mochitests | |||
Marionette overview: | |||
https://developer.mozilla.org/en-US/docs/Marionette | |||
B2G Marionette: | |||
https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Setting_Up_Marionette_for_B2G | |||
Running B2G Marionette tests: | |||
https://developer.mozilla.org/en-US/docs/Marionette/Running_Tests | |||
==== Marionette Command Line ==== | |||
You may want to create a shell script to quickly launch your WebAPI Marionette test right from your workspace folder. Create a new shell script and copy/paste the line of code below, and put the script in your path. Then with the emulator already running, you can use the script to easily execute your WebAPI test. | |||
python $B2G_HOME/gecko/testing/marionette/client/marionette/runtests.py --emulator arm --address localhost:2828 --homedir $B2G_HOME $1 | |||
=== Emulator (Android Console) Commands === | |||
Emulator commands: | |||
http://developer.android.com/tools/devices/emulator.html | |||
General emulator info: | |||
http://developer.android.com/tools/help/emulator.html |