Auto-tools/Projects/CrossWeave: Difference between revisions
(Created page with '== Introduction == CrossWeave is a new automation framework for testing client/server interactions in Weave using a Firefox extension. CrossWeave is distinct from, and compleme…') |
No edit summary |
||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
CrossWeave is a new automation framework for testing client/server interactions in Weave using a Firefox extension. CrossWeave is distinct from, and complementary to, other test projects for Weave: | CrossWeave is a new, data-driven automation framework for testing client/server interactions in Weave using a Firefox extension. CrossWeave is distinct from, and complementary to, other test projects for Weave: | ||
* [[Labs/Weave/Testing|unit tests]] | * [[Labs/Weave/Testing|unit tests]] | ||
* [[QA/Weave_Test_Plan/Client_Manual_Testing|manual client testing]] | * [[QA/Weave_Test_Plan/Client_Manual_Testing|manual client testing]] | ||
* [[Weave_Load_Test_Plan|load testing]] | * [[Weave_Load_Test_Plan|load testing]] | ||
CrossWeave does not use the Weave UI, but does use the Weave extension code for all Weave server access; e.g., it imports <code>resource://weave/service.js</code> and uses <code>Weave.Service.sync()</code> to sync with the Weave service. In this way it tests both the Weave client and the Weave server for things such as account access, data synchronization, and conflict resolution. | |||
The CrossWeave project is currently not tied to a specific Weave release; in particular, it will not necessarily be ready in time to be useful for Weave 1.3. | |||
== How it works == | |||
CrossWeave consists of a Firefox extension of the same name, along with a python test runner. The python test runner will read a test file (in JSON format), setup a Firefox profile with the necessary extensions and preferences, then launch Firefox and pass the test file to the CrossWeave extension. The extension will read the test file and perform a series of actions specified therein, such as populating a set of bookmarks, syncing to the weave server, making bookmark modifications, etc. | |||
A test file may contain an arbitrary number of sections, each involving the same or different profiles, so that one test file may be used to test the effect of syncing and modifying a common set of data (from a single Weave account) over a series of different events and clients. | |||
The easiest way to understand this is to look at a simple CrossWeave test file. |
Revision as of 17:50, 16 April 2010
Introduction
CrossWeave is a new, data-driven automation framework for testing client/server interactions in Weave using a Firefox extension. CrossWeave is distinct from, and complementary to, other test projects for Weave:
CrossWeave does not use the Weave UI, but does use the Weave extension code for all Weave server access; e.g., it imports resource://weave/service.js
and uses Weave.Service.sync()
to sync with the Weave service. In this way it tests both the Weave client and the Weave server for things such as account access, data synchronization, and conflict resolution.
The CrossWeave project is currently not tied to a specific Weave release; in particular, it will not necessarily be ready in time to be useful for Weave 1.3.
How it works
CrossWeave consists of a Firefox extension of the same name, along with a python test runner. The python test runner will read a test file (in JSON format), setup a Firefox profile with the necessary extensions and preferences, then launch Firefox and pass the test file to the CrossWeave extension. The extension will read the test file and perform a series of actions specified therein, such as populating a set of bookmarks, syncing to the weave server, making bookmark modifications, etc.
A test file may contain an arbitrary number of sections, each involving the same or different profiles, so that one test file may be used to test the effect of syncing and modifying a common set of data (from a single Weave account) over a series of different events and clients.
The easiest way to understand this is to look at a simple CrossWeave test file.