Commit Graph

28 Commits

Author SHA1 Message Date
Ryan VanderMeulen
4355764776 Backed out 16 changesets (bug 1107706) for Gaia JS integration test failures.
Backed out changeset d026794b4c0b (bug 1107706)
Backed out changeset bb481b2d170a (bug 1107706)
Backed out changeset 71eba829a8b4 (bug 1107706)
Backed out changeset 3ca5a996676e (bug 1107706)
Backed out changeset 18c48c6a0cd5 (bug 1107706)
Backed out changeset 5dce917aeb92 (bug 1107706)
Backed out changeset 933d7aa1c709 (bug 1107706)
Backed out changeset 0c6e1484ae7a (bug 1107706)
Backed out changeset 9972f443d70e (bug 1107706)
Backed out changeset 20f9b7b24fc5 (bug 1107706)
Backed out changeset 1f4ba5b0fc4f (bug 1107706)
Backed out changeset a4a8e755d815 (bug 1107706)
Backed out changeset 593a7917f917 (bug 1107706)
Backed out changeset 502320aec21f (bug 1107706)
Backed out changeset 60b58aed6d27 (bug 1107706)
Backed out changeset c8315bbbc104 (bug 1107706)

CLOSED TREE

--HG--
rename : testing/marionette/actions.js => testing/marionette/marionette-actions.js
rename : testing/marionette/common.js => testing/marionette/marionette-common.js
rename : testing/marionette/elements.js => testing/marionette/marionette-elements.js
rename : testing/marionette/frame-manager.js => testing/marionette/marionette-frame-manager.js
rename : testing/marionette/listener.js => testing/marionette/marionette-listener.js
rename : testing/marionette/sendkeys.js => testing/marionette/marionette-sendkeys.js
rename : testing/marionette/simpletest.js => testing/marionette/marionette-simpletest.js
2015-03-24 13:54:55 -04:00
Andreas Tolfsen
7fffd2bbd2 Bug 1107706: Part 12: Drop marionette-* prefix on files
--HG--
rename : testing/marionette/marionette-actions.js => testing/marionette/actions.js
rename : testing/marionette/marionette-common.js => testing/marionette/common.js
rename : testing/marionette/marionette-elements.js => testing/marionette/elements.js
rename : testing/marionette/marionette-frame-manager.js => testing/marionette/frame-manager.js
rename : testing/marionette/marionette-listener.js => testing/marionette/listener.js
rename : testing/marionette/marionette-sendkeys.js => testing/marionette/sendkeys.js
rename : testing/marionette/marionette-simpletest.js => testing/marionette/simpletest.js
extra : rebase_source : 5eb61551c11d1ff94eb86b18bbd1f98da93d648a
extra : source : 91b35cb3308bc80d736e63434f9702e73115c41f
2015-03-23 21:32:03 +00:00
Andreas Tolfsen
443a731154 Bug 1107706: Part 8: Adapt emulator callbacks
Emulator callbacks are now created dynamically upon request, and uses
a nicer data structure in chrome context.  Each emulator callback is
encapsulated in EmulatorCallback, and stored on Emulator.

Emulator is stored on Dispatcher (as opposed to in marionette-server.js)
which bypasses some of the problems with circumventing the Marionette
protocol in GeckoDriver because of CommandProcessor.

Emulator callbacks to the client should be considered transparent, hence
they do not use the ListenerProxy.  They are explicitly meant _not_
to be blocking.

--HG--
extra : rebase_source : 9e887526af99c02036575e5c7b6790629d5f917d
extra : source : eeb3d39874b17e02888427afb9709f35abc95120
2015-03-17 16:10:58 +00:00
Andreas Tolfsen
bd8f7a8359 Bug 1107706: Part 5: Refactor Marionette chrome/content communication
The Marionette server handles requests separately with a global sense
of state which makes it hard to introduce generalised behaviour to many
commands.  This effectively slows down protocol implementation because
each command request individually needs to do heavy lifting.

This patch introduces a series of abstractions that separates out the
WebDriver implementation to a new class, GeckoDriver.  It also features
a new interface to mediate messages between the chrome- and content
processes.

This allows the code living in the chrome context to make direct calls
on the listener through a promise-based API:

	let listener = new ListenerProxy(mm, sendCallback);
	let res = yield listener.functionOnListener("arg1", "arg2");

The MarionetteServer class that used to live in marionette-server.js
has now been moved to server.js, while the WebDriver implementation
has moved to driver.js.  By introducing more stringent separation,
MarionetteServer now properly encapsulates the server process allowing
us to unit tests for it in the future.

The patch is a refactor in the truest sense, in the meaning that no
input or output should have changed.

--HG--
extra : rebase_source : 72c68105df19dc1e328f78c6bfb2282b61d82c8d
extra : source : 7f506cdb77b88994ba9f5b13cc936a99a403f1fb
2015-03-19 21:12:58 +00:00
Wes Kocher
954df9f7bc Backed out 15 changesets (bug 1107706) for marionette bustage CLOSED TREE
Backed out changeset 3c25064e24da (bug 1107706)
Backed out changeset 3b7cdf06f4b9 (bug 1107706)
Backed out changeset ec2b1317d3c6 (bug 1107706)
Backed out changeset 91b35cb3308b (bug 1107706)
Backed out changeset 43c58b21251f (bug 1107706)
Backed out changeset e3ddaf8aae39 (bug 1107706)
Backed out changeset 0cd696bfc3b0 (bug 1107706)
Backed out changeset eeb3d39874b1 (bug 1107706)
Backed out changeset 7bc309f733fa (bug 1107706)
Backed out changeset 69669d0e6ddc (bug 1107706)
Backed out changeset 7f506cdb77b8 (bug 1107706)
Backed out changeset 7abef4010b30 (bug 1107706)
Backed out changeset b0d00faceef4 (bug 1107706)
Backed out changeset 0c074cdc434e (bug 1107706)
Backed out changeset 3b449f8dd470 (bug 1107706)

--HG--
rename : testing/marionette/actions.js => testing/marionette/marionette-actions.js
rename : testing/marionette/common.js => testing/marionette/marionette-common.js
rename : testing/marionette/elements.js => testing/marionette/marionette-elements.js
rename : testing/marionette/frame-manager.js => testing/marionette/marionette-frame-manager.js
rename : testing/marionette/listener.js => testing/marionette/marionette-listener.js
rename : testing/marionette/sendkeys.js => testing/marionette/marionette-sendkeys.js
rename : testing/marionette/simpletest.js => testing/marionette/marionette-simpletest.js
2015-03-23 18:48:07 -07:00
Andreas Tolfsen
82d54fa5b0 Bug 1107706: Part 12: Drop marionette-* prefix on files
--HG--
rename : testing/marionette/marionette-actions.js => testing/marionette/actions.js
rename : testing/marionette/marionette-common.js => testing/marionette/common.js
rename : testing/marionette/marionette-elements.js => testing/marionette/elements.js
rename : testing/marionette/marionette-frame-manager.js => testing/marionette/frame-manager.js
rename : testing/marionette/marionette-listener.js => testing/marionette/listener.js
rename : testing/marionette/marionette-sendkeys.js => testing/marionette/sendkeys.js
rename : testing/marionette/marionette-simpletest.js => testing/marionette/simpletest.js
extra : rebase_source : 4508c93a8928f3b183076cfbf49690faafd4b880
2015-03-23 21:32:03 +00:00
Andreas Tolfsen
dc845b7773 Bug 1107706: Part 8: Adapt emulator callbacks
Emulator callbacks are now created dynamically upon request, and uses
a nicer data structure in chrome context.  Each emulator callback is
encapsulated in EmulatorCallback, and stored on Emulator.

Emulator is stored on Dispatcher (as opposed to in marionette-server.js)
which bypasses some of the problems with circumventing the Marionette
protocol in GeckoDriver because of CommandProcessor.

Emulator callbacks to the client should be considered transparent, hence
they do not use the ListenerProxy.  They are explicitly meant _not_
to be blocking.

--HG--
extra : rebase_source : cc936f6556b666ac68f7cc5040c1772b74a0dd66
2015-03-17 16:10:58 +00:00
Andreas Tolfsen
ebdf7bb882 Bug 1107706: Part 5: Refactor Marionette chrome/content communication
The Marionette server handles requests separately with a global sense
of state which makes it hard to introduce generalised behaviour to many
commands.  This effectively slows down protocol implementation because
each command request individually needs to do heavy lifting.

This patch introduces a series of abstractions that separates out the
WebDriver implementation to a new class, GeckoDriver.  It also features
a new interface to mediate messages between the chrome- and content
processes.

This allows the code living in the chrome context to make direct calls
on the listener through a promise-based API:

	let listener = new ListenerProxy(mm, sendCallback);
	let res = yield listener.functionOnListener("arg1", "arg2");

The MarionetteServer class that used to live in marionette-server.js
has now been moved to server.js, while the WebDriver implementation
has moved to driver.js.  By introducing more stringent separation,
MarionetteServer now properly encapsulates the server process allowing
us to unit tests for it in the future.

The patch is a refactor in the truest sense, in the meaning that no
input or output should have changed.

--HG--
extra : rebase_source : 2513f6e88b79b2420757e66890d5ca49d5266318
2015-03-19 21:12:58 +00:00
Jonathan Griffin
cf934e4c68 Bug 997909 - Fix typo. r=mdas 2014-10-07 09:40:05 -07:00
Jonathan Griffin
f7fb5ca1d2 Bug 997909 - Make waitFor actually terminate if condition is never true, r=mdas 2014-10-02 10:09:33 -07:00
Julien Pagès
2c45aa6d65 Bug 820154 - Implement todo() in marionette-simpletest. r=jgriffin 2014-08-13 07:19:00 -04:00
Vicamo Yang
9d5db529f2 Bug 985537: add runEmulatorShell to Marionette. r=mdas 2014-03-20 13:01:25 +08:00
Mihnea Dobrescu-Balaur
c0025c07ba Bug 904232 - Add inactivity timeout for marionette tests. r=jgriffin 2013-08-28 10:06:03 -07:00
William Lachance
a21068fb85 Bug 797529 - Remove dependence on debugger server, r=jgriffin 2013-05-14 16:54:07 -04:00
Jonathan Griffin
2a2aaa8e6c Bug 865867 - Remove unused perf code from Marionette, r=mdas 2013-04-29 09:38:54 -07:00
Jonathan Griffin
ba6c1b8899 Bug 797913 - Make is() output use actual result, r=mdas 2013-01-03 10:44:17 -08:00
Jonathan Griffin
3856910e76 Bug 804366 - Include test names in failure messages v0.3, r=ahal 2012-10-31 15:36:57 -07:00
Chris Jones
4ac48c6333 Bug 807478 - fix timeout argument to waitFor(), r=cjones 2012-10-31 23:51:30 -07:00
Jonathan Griffin
cbddb3fe2e Bug 791033 - Allow tests to provide custom pass/fail strings for is/isnot/ok assertions, r=mdas 2012-09-14 14:34:38 -07:00
Ryan VanderMeulen
5f2a19ee6e Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
6d6c4efbab Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Malini Das
bf02078e92 Bug 744902 - Add perf testing to Marionette, r=jgriffin, DONTBUILD because NPOTB 2012-06-08 18:33:54 -04:00
Philipp von Weitershausen
cf43882096 Bug 754216 - Control the emulator from within Marionette JS scripts. r=jgriffin DONTBUILD because NPOTB 2012-05-18 13:30:43 -07:00
Jonathan Griffin
3ed790091b Bug 754087 - Let waitFor share the script timeout, r=mdas, a=test-only, DONTBUILD because NPOTB 2012-05-10 16:07:07 -07:00
Philipp von Weitershausen
8fa8928a94 Bug 751783 - Allow sandbox reuse between execute_script calls, r=jgriffin, r=mdas, DONTBUILD because NPOTB, 2012-05-09 12:05:39 -07:00
Jonathan Griffin
9c953049af Bug 740549 - add newline to dump statement, r=mdas, a=testonly 2012-03-29 12:34:00 -07:00
Jonathan Griffin
7ffbb91b8b Bug 738766 - Marionette's log() now also dump()'s, r=mdas 2012-03-27 13:48:46 -07:00
Joel Maher
710c159137 Bug 712643 - land Marionette on m-c. r=mossop,robcee 2012-03-22 11:19:57 -04:00