Граф коммитов

131 Коммитов

Автор SHA1 Сообщение Дата
James Graham d558e083cc Bug 1638839 - Factor marionette print support into its own file, r=marionette-reviewers,whimboo
This is a prelude to reusing it for the print-reftest support.

Differential Revision: https://phabricator.services.mozilla.com/D75827
2020-05-25 19:02:52 +00:00
Emma Malysz c502777f53 Bug 1597847, rename remaining misc xul files from within /view, /gfx, /extensions, and /testing to .xhtml format r=marionette-reviewers,bgrins,whimboo,gbrown
Differential Revision: https://phabricator.services.mozilla.com/D54035

--HG--
rename : extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xul => extensions/spellcheck/tests/chrome/test_add_remove_dictionaries.xhtml
rename : gfx/tests/crashtests/593526.xul => gfx/tests/crashtests/593526.xhtml
rename : testing/marionette/chrome/test.xul => testing/marionette/chrome/test.xhtml
rename : testing/marionette/chrome/test2.xul => testing/marionette/chrome/test2.xhtml
rename : testing/marionette/chrome/test_dialog.xul => testing/marionette/chrome/test_dialog.xhtml
rename : testing/marionette/chrome/test_nested_iframe.xul => testing/marionette/chrome/test_nested_iframe.xhtml
rename : testing/marionette/reftest.xul => testing/marionette/reftest.xhtml
rename : testing/mochitest/baselinecoverage/chrome/test_baselinecoverage.xul => testing/mochitest/baselinecoverage/chrome/test_baselinecoverage.xhtml
rename : testing/mochitest/browser-harness.xul => testing/mochitest/browser-harness.xhtml
rename : testing/mochitest/chrome/test_chromeGetTestFile.xul => testing/mochitest/chrome/test_chromeGetTestFile.xhtml
rename : testing/mochitest/chrome/test_sample.xul => testing/mochitest/chrome/test_sample.xhtml
rename : testing/mochitest/chrome/test_sanityEventUtils.xul => testing/mochitest/chrome/test_sanityEventUtils.xhtml
rename : testing/mochitest/chrome/test_sanityException.xul => testing/mochitest/chrome/test_sanityException.xhtml
rename : testing/mochitest/chrome/test_sanityException2.xul => testing/mochitest/chrome/test_sanityException2.xhtml
rename : testing/mochitest/chrome/test_sanityManifest.xul => testing/mochitest/chrome/test_sanityManifest.xhtml
rename : testing/mochitest/chrome/test_sanityManifest_pf.xul => testing/mochitest/chrome/test_sanityManifest_pf.xhtml
rename : testing/mochitest/chrome/test_tasks_skip.xul => testing/mochitest/chrome/test_tasks_skip.xhtml
rename : testing/mochitest/chrome/test_tasks_skipall.xul => testing/mochitest/chrome/test_tasks_skipall.xhtml
rename : testing/mochitest/harness.xul => testing/mochitest/harness.xhtml
rename : testing/talos/talos/pageloader/chrome/pageloader.xul => testing/talos/talos/pageloader/chrome/pageloader.xhtml
rename : view/crashtests/382756-1.xul => view/crashtests/382756-1.xhtml
rename : view/crashtests/38589-1.xul => view/crashtests/38589-1.xhtml
extra : moz-landing-system : lando
2019-12-02 19:16:22 +00:00
Henrik Skupin 1ed947aff2 Bug 1587627 - [marionette] Remove `Anon` and `AnonAttribute` strategies from "WebDriver:FindElement" and "WebDriver:FindElements" command. r=webdriver-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D50804

--HG--
extra : moz-landing-system : lando
2019-10-29 12:55:35 +00:00
Narcis Beleuzu 41e019fb57 Backed out changeset 79be8382d57a (bug 1587627) for bc failures on browser_all_files_referenced.js . CLOSED TREE 2019-10-29 14:06:44 +02:00
Henrik Skupin e8f5161a31 Bug 1587627 - [marionette] Remove `Anon` and `AnonAttribute` strategies from "WebDriver:FindElement" and "WebDriver:FindElements" command. r=webdriver-reviewers,maja_zf
Differential Revision: https://phabricator.services.mozilla.com/D50804

--HG--
extra : moz-landing-system : lando
2019-10-28 18:31:17 +00:00
Marco Castelluccio 9e4a436b47 Bug 1477202 - Avoid shipping PerTestCoverageUtils.jsm to users by only adding it to Marionette when MOZ_CODE_COVERAGE is defined. r=florian
--HG--
extra : rebase_source : 18fe9086546fa328dddfe35f307f383f832c9a75
2018-07-20 11:37:52 +02:00
Marco Castelluccio 87fbf2563c Bug 1476574 - Support resetting/dumping code coverage counters before/after web-platform-tests. r=jgraham
--HG--
extra : source : ec37892ce390414a0349e16e7cdc5d07d2d158ff
extra : histedit_source : 3f3e267d2c2385b35393c2e08621dabd47c07be4%2C03271be81bfe9f7b0d0dec52037606a20699bc3e
2018-07-19 11:57:54 +02:00
Coroiu Cristina 46afadc431 Backed out 2 changesets (bug 1476574) for browser-chrome failures at browser/base/content/test/static/browser_all_files_referenced.js
Backed out changeset 4ea7997194e9 (bug 1476574)
Backed out changeset ec37892ce390 (bug 1476574)
2018-07-19 23:40:24 +03:00
Marco Castelluccio a95d709e9e Bug 1476574 - Support resetting/dumping code coverage counters before/after web-platform-tests. r=jgraham
--HG--
extra : rebase_source : dc3375090f952bd58e61c07e927aa00b1c337f50
2018-07-19 11:57:54 +02:00
Andreas Tolfsen cbeff4bcc9 Bug 1470646 - Rename session module to capabilities. r=whimboo
MozReview-Commit-ID: 4hQN2gv3HDd

--HG--
rename : testing/marionette/session.js => testing/marionette/capabilities.js
rename : testing/marionette/doc/internals/session.rst => testing/marionette/doc/internals/capabilities.rst
rename : testing/marionette/test/unit/test_session.js => testing/marionette/test/unit/test_capabilities.js
extra : rebase_source : f93953b08d92b28add94706ee5a5c99f060776b0
2018-06-26 17:13:35 +01:00
Coroiu Cristina cc751350dc Backed out 8 changesets (bug 1470646) for linting failure on a CLOSED TREE
Backed out changeset 9b8d9f803b25 (bug 1470646)
Backed out changeset 58e2010d2842 (bug 1470646)
Backed out changeset 2b19429d778f (bug 1470646)
Backed out changeset e543f592454a (bug 1470646)
Backed out changeset 22469044267d (bug 1470646)
Backed out changeset e5415b1e22f5 (bug 1470646)
Backed out changeset 13e47fa99a31 (bug 1470646)
Backed out changeset 42964d651f02 (bug 1470646)

--HG--
rename : testing/marionette/capabilities.js => testing/marionette/session.js
rename : testing/marionette/test/unit/test_capabilities.js => testing/marionette/test/unit/test_session.js
2018-07-02 17:56:27 +03:00
Andreas Tolfsen 4857263a67 Bug 1470646 - Rename session module to capabilities. r=whimboo
MozReview-Commit-ID: 4hQN2gv3HDd

--HG--
rename : testing/marionette/session.js => testing/marionette/capabilities.js
rename : testing/marionette/test/unit/test_session.js => testing/marionette/test/unit/test_capabilities.js
extra : rebase_source : 29ae46a31b32df1701808935e47e12cdcedc61b5
2018-06-26 17:13:35 +01:00
Andreas Tolfsen 583e0a9e7d Bug 1464469 - Shorthands for setting up Marionette logger. r=whimboo
This patch generalises logger setup and access by providing
one interface with specialised implementations for the main-
and child processes.  This will mean we can get rid of ad-hoc
logger setup in testing/marionette/components/marionette.js and
testing/marionette/listener.js.

In the case for the component file, the log level and the stdout
dump appender is set up when you request the logger.  The same is
true when requesting the logger in a child process, but it will
additionally request the log level from the main process.

Usage:

    const {Log} = ChromeUtils.import("chrome://marionette/content/log.js", {});
    let log = Log.get();

MozReview-Commit-ID: 8Ha5FSaoGXp

--HG--
extra : rebase_source : 0ad13e805cd1c6a4a8332fdbe6124a82719c4656
2018-06-06 14:32:18 +01:00
Andreas Tolfsen c14aed4d78 Bug 1456450 - Sort marionette.jar manifest lexicographically. r=maja_zf,whimboo
Normally this sort of change could be filed under "needless churn",
but by appending new files to this list we end up with constant
merge conflicts.

MozReview-Commit-ID: HnaIN2d5fOa

--HG--
extra : rebase_source : b6661417d4e7afeb8e73abe5c2ea15714b4f7dbd
2018-04-24 13:35:24 +01:00
Andreas Tolfsen eb2244da5a Bug 1432894 - Provide shorthands for Marionette prefs. r=whimboo
This introduces a new testing/marionette/prefs.js module with shorthands
for all of Marionette's preferences.  Getters are provided for all
preferences, but setters are only offered for preference we expect
to mutate at runtime.

The new module additionally provides a preference abstraction on
top of nsIPrefService instead of Preferences.jsm.  We cannot use
Preferences.jsm during startup in Marionette because Marionette
gets loaded unconditionally.

Finally an EnvironmentPrefs class is provided for reading and iterating
over preferences stored in JSON Objects in environment variables.

MozReview-Commit-ID: FbgdBEkf5A

--HG--
extra : rebase_source : 0d5b2f11dc94a74aff3f742ef191b72b159b5ee7
2018-04-14 17:25:26 +01:00
Brindusan Cristian 681c4cb5d6 Backed out 4 changesets (bug 1432894) for linting opt test-doc-generate failures.
Backed out changeset fb56c3c325d3 (bug 1432894)
Backed out changeset 531f8f2af57d (bug 1432894)
Backed out changeset 8e9f1887bc89 (bug 1432894)
Backed out changeset f37ff744e424 (bug 1432894)
2018-04-22 19:24:09 +03:00
Andreas Tolfsen 7f913180d9 Bug 1432894 - Provide shorthands for Marionette prefs. r=whimboo
This introduces a new testing/marionette/prefs.js module with shorthands
for all of Marionette's preferences.  Getters are provided for all
preferences, but setters are only offered for preference we expect
to mutate at runtime.

The new module additionally provides a preference abstraction on
top of nsIPrefService instead of Preferences.jsm.  We cannot use
Preferences.jsm during startup in Marionette because Marionette
gets loaded unconditionally.

Finally an EnvironmentPrefs class is provided for reading and iterating
over preferences stored in JSON Objects in environment variables.

MozReview-Commit-ID: FbgdBEkf5A

--HG--
extra : rebase_source : c3666ff19f4bf8092d9976bbf5e98cd45438e586
2018-04-14 17:25:26 +01:00
Andreas Tolfsen 24ac581c5a Bug 1431155 - Move WindowState to Marionette browser module. r=automatedtester
This moves the WindowState enum from testing/marionette/wm.js to
testing/marionette/browser.js in order to make it easier to apply
the forthcoming Marionette window tracking refactoring patches.
In other words, this patch functionally does not change anything.

MozReview-Commit-ID: 53MKIRHl11p

--HG--
extra : rebase_source : d048086ab48449ba02853076451e6dd1909bafa6
2018-01-17 17:56:25 +00:00
Andreas Tolfsen 844fad888d Bug 1423282 - Remove last remenants of frame.Manager. r=automatedtester
This removes the last remenants of frame.Manager and
testing/marionette/frame.js from Marionette.  The preceding commits
in this changeset has gradually removed the unused and duplicated
features that it implemented.  The only remaining pieces are the
registrating of some chrome-side IPC message handlers which we can
leave attached for the duration of the Marionette session.

MozReview-Commit-ID: EYjrJBeTybz

--HG--
extra : rebase_source : cf8b2d04c05d22eea6fe24061ccb9b21680f0d3c
2017-12-05 21:28:59 +00:00
Andreas Tolfsen c9ec6362dc Bug 1409379 - Move WindowState to new wm module. r=maja_zf
The upcoming window tracking refactoring to Marionette will introduce
a new testing/marionette/wm.js module.  It was originally the plan
to move WindowState there after it had landed, but it actually makes
sense to land any dependencies before to reduce churn in the window
tracking patches.

MozReview-Commit-ID: EpqnTYYGcmg

--HG--
extra : rebase_source : d6760feefa49c522738fd3930b339bc0af70e6a5
2017-10-17 14:20:52 +01:00
Andreas Tolfsen 92ab47fa39 Bug 1403577 - Add utility for truncating strings. r=whimboo
Introduces a utility that truncates strings in potentially arbitrary
object structures.  This allows JSON structures that contain long
strings to be shortened with an " ..." appendix for pretty logging
when data integrity is not a vital concern.

The maximum string length is currently set to 250 characters, which
is a number I have pulled out of a hat.

MozReview-Commit-ID: 2gauOvMzBCO

--HG--
extra : rebase_source : cea57d348a61ecd11a5a9cf564ed60737923f380
2017-09-30 17:06:29 +01:00
Andreas Tolfsen f9a974ff5b Bug 1404946 - Rename wait module to sync. r=whimboo
testing/marionette/wait.js originally contained a utility for
poll-waiting on a condition.  The module has since been expanded to
also include TimedPromise, which is a specialisation of Promise that
is rejected after a duration.

The latter is not a wait utility but a synchronisation primitive.
This terminology also covers the first, and this change renames the
wait module to sync.

MozReview-Commit-ID: Fd3LqfpiEaU

--HG--
rename : testing/marionette/wait.js => testing/marionette/sync.js
extra : rebase_source : f48ff62ca2589ab0ce4a2f3d134d392e6f0be015
2017-10-02 16:38:33 +01:00
Sebastian Hengst a867e38354 Backed out changeset 231a24060d29 (bug 1404946) for linting failure at testing/marionette/driver.js:3054:35 | 'f' is defined but never used. r=backout
--HG--
rename : testing/marionette/sync.js => testing/marionette/wait.js
extra : amend_source : 009478a65c290d4b7540723f157de57dbe19901e
2017-10-09 16:23:15 +02:00
Andreas Tolfsen 583c91fabd Bug 1404946 - Rename wait module to sync. r=whimboo
testing/marionette/wait.js originally contained a utility for
poll-waiting on a condition.  The module has since been expanded to
also include TimedPromise, which is a specialisation of Promise that
is rejected after a duration.

The latter is not a wait utility but a synchronisation primitive.
This terminology also covers the first, and this change renames the
wait module to sync.

MozReview-Commit-ID: Fd3LqfpiEaU

--HG--
rename : testing/marionette/wait.js => testing/marionette/sync.js
extra : rebase_source : 5e22ec5e26b5405c928ab26734a8d2ddc5d43785
2017-10-02 16:38:33 +01:00
Andreas Tolfsen 9ac995ab12 Bug 1400225 - Subscribe to and relay web content DOM events. r=automatedtester,whimboo
This makes it possible to subscribe to DOM events in web content, in
order to facilitate fixes for cases such as https://bugzil.la/1397007.

Although the current interface, WebElementEventTarget, is associated with
browser.Context (curBrowser) it is the intention that we in the future
will associate this with representations of the marshaled web element.
This will make it quack and act like an Element's EventTarget, which
has nice parity to it.

The WebElementEventTarget works by passing IPC messages to
a backend service in the content frame script implemented by
ContentEventObserverService.  This registers event handlers for specific
DOM events, and relays these events back to the browser-specific message
handler in chrome.

This will enable chrome code to wait for events to occur in content,
like this:

	await new Promise(resolve => {
	  webElement.addEventListener("visibilitychange", resolve, {once: true});
	  contentBrowser.minimize();
	});

MozReview-Commit-ID: B8MMHyG8n04

--HG--
extra : rebase_source : 25ac77fbcfb09435325719ac61614c4a8ce37996
2017-09-15 17:07:41 +01:00
James Graham 5fd8e99e6a Bug 1363428 - Add reftest-specific endpoints to Marionette, r=ato
This adds commands to start a reftest session, run a test, and end the
session. It as assumed that after you start a reftest session you will
just run reftests until you end the session. When starting a session
the user provides a string indicating when screenshots should be
taken, and an object mapping urls to a count of the number of times
that url is expected to be used in the session, to help with
caching. Running the tests takes a url to a test, an expected status,
a timeout, and a nested list of possible references, in which each
entry at a specific level is combined by OR and nested references are
combined by AND.

The implementation is heavilly inspired by the existing reftest
harness, starting a minimal window with no tabs, and loading the urls
directly in there. In order to get a screenshot in the e10s case we
have to pass the DRAW_VIEW and USE_WIDGET_LAYERS flags when taking the
screenshot.

For performance we heavily cache canvases; for references that will be
repeated we cache the full canvas with image, and we also cache a
single canvas to use for all other screenshots to avoid the overhead
of repeatedly creating a new canvas element.

MozReview-Commit-ID: JOFvtmH7tg
2017-06-24 12:03:11 +01:00
Wes Kocher ea40157e54 Backed out 16 changesets (bug 1363428) for Wr failures a=backout CLOSED TREE
Backed out changeset e86d6d5c2a25 (bug 1363428)
Backed out changeset a0687a63e7b9 (bug 1363428)
Backed out changeset 858dc97498c7 (bug 1363428)
Backed out changeset 582a8dce7932 (bug 1363428)
Backed out changeset 26ae2fd48587 (bug 1363428)
Backed out changeset 7fa8e20fe001 (bug 1363428)
Backed out changeset 829c13a75667 (bug 1363428)
Backed out changeset a94d2c400b04 (bug 1363428)
Backed out changeset ec4a6b343b37 (bug 1363428)
Backed out changeset c27b94038e71 (bug 1363428)
Backed out changeset d1c03b96d270 (bug 1363428)
Backed out changeset 60c1c95b46ca (bug 1363428)
Backed out changeset b0604d88973f (bug 1363428)
Backed out changeset f0b218979773 (bug 1363428)
Backed out changeset 1d359561373c (bug 1363428)
Backed out changeset 956d6c0a646e (bug 1363428)

MozReview-Commit-ID: K8EBA8ACZLC
2017-06-23 14:13:27 -07:00
James Graham c9e960f859 Bug 1363428 - Add reftest-specific endpoints to Marionette, r=ato
This adds commands to start a reftest session, run a test, and end the
session. It as assumed that after you start a reftest session you will
just run reftests until you end the session. When starting a session
the user provides a string indicating when screenshots should be
taken, and an object mapping urls to a count of the number of times
that url is expected to be used in the session, to help with
caching. Running the tests takes a url to a test, an expected status,
a timeout, and a nested list of possible references, in which each
entry at a specific level is combined by OR and nested references are
combined by AND.

The implementation is heavilly inspired by the existing reftest
harness, starting a minimal window with no tabs, and loading the urls
directly in there. In order to get a screenshot in the e10s case we
have to pass the DRAW_VIEW and USE_WIDGET_LAYERS flags when taking the
screenshot.

For performance we heavily cache canvases; for references that will be
repeated we cache the full canvas with image, and we also cache a
single canvas to use for all other screenshots to avoid the overhead
of repeatedly creating a new canvas element.

MozReview-Commit-ID: JOFvtmH7tg

--HG--
extra : rebase_source : ab5a2ef2e450b9bbdc6bc3c9487ed5dfda2c1d4b
2017-05-10 10:51:10 +01:00
Andreas Tolfsen d69ce374f7 Bug 1371733 - Singularise cookie module name; r=whimboo
Marionette uses singular module names.  Make the cookie module
fall in line by renaming it from testing/marionette/cookies.js to
testing/marionette/cookie.js.

MozReview-Commit-ID: H4jyvI3lFxz

--HG--
rename : testing/marionette/cookies.js => testing/marionette/cookie.js
extra : rebase_source : 6da48d3d9215de34ccb97823c0430766538fb45f
2017-06-09 18:06:51 +01:00
Andreas Tolfsen 912429a173 Bug 1370863 - Remove log and getLogs commands from Marionette; r=automatedtester
MozReview-Commit-ID: HFZfJGwSqyT

--HG--
extra : rebase_source : 689dc42349854ad7ba6c717263dbb2c1260c7ae1
2017-06-07 14:17:41 +01:00
Wes Kocher 8b6a6ce487 Backed out 5 changesets (bug 1370863) for marionette test failures a=backout CLOSED TREE
Backed out changeset e4605e515ffd (bug 1370863)
Backed out changeset 986d20fecd11 (bug 1370863)
Backed out changeset b0a081dfd577 (bug 1370863)
Backed out changeset bb80abe6a298 (bug 1370863)
Backed out changeset 90b14cb85f51 (bug 1370863)

MozReview-Commit-ID: chPvs0RWbK
2017-06-12 17:18:38 -07:00
Andreas Tolfsen f2225720a9 Bug 1370863 - Remove log and getLogs commands from Marionette; r=automatedtester
MozReview-Commit-ID: HFZfJGwSqyT

--HG--
extra : rebase_source : eb04f0a3fa55d17eb5fef9bff3170ba5ce147eff
2017-06-07 14:17:41 +01:00
David Burns d83f55e070 Bug 1368674 - Remove JS Test support in Marionette Harness r=maja_zf
MozReview-Commit-ID: 11Zc7KL3djD

--HG--
extra : rebase_source : de8274b3948abcbe0e0aa404dad9b02b87b9119f
2017-05-30 15:07:19 +01:00
Ryan VanderMeulen 6e98307c04 Backed out 3 changesets (bug 1368674) for Android test failures.
Backed out changeset ff3c813fcdea (bug 1368674)
Backed out changeset 0d9bb636b9a9 (bug 1368674)
Backed out changeset 1d0202706572 (bug 1368674)
2017-06-01 19:21:31 -04:00
David Burns dd5ef53ea6 Bug 1368674 - Remove JS Test support in Marionette Harness r=maja_zf
MozReview-Commit-ID: 11Zc7KL3djD

--HG--
extra : rebase_source : 2f0d9995b5ba40e5338fe458395d15abf7704825
2017-05-30 15:07:19 +01:00
Ryan VanderMeulen e36ce0e346 Backed out 3 changesets (bug 1368674) for flake8 failures.
Backed out changeset 9aa183c8533e (bug 1368674)
Backed out changeset 837ccbc38bfc (bug 1368674)
Backed out changeset 7f4f851da483 (bug 1368674)
2017-06-01 16:54:10 -04:00
David Burns 69ac306da8 Bug 1368674 - Remove JS Test support in Marionette Harness r=maja_zf
MozReview-Commit-ID: 11Zc7KL3djD

--HG--
extra : rebase_source : 7c8f78df2e6aa402cacf04819c03abb3381815f2
2017-05-30 15:07:19 +01:00
Alexandre Poirot eda858a388 Bug 1356237 - Ship a copy of transport module in marionette. r=ato
DevTools is about to move out of mozilla-central and be released as an add-on.
So that these protocol files are going to be missing from the tree.
To accommodate that, we are doing a copy of them next to marionette.

MozReview-Commit-ID: 9PyhuwyZyXI

--HG--
extra : rebase_source : b6d96ae5e4c4ac837713e396ab72163b168871f2
2017-04-24 20:23:04 +02:00
Andreas Tolfsen 83e7098d6d Bug 1344748 - Merge dispatcher into server.js; r=maja_zf
Merges testing/marionette/dispatcher.js into testing/marionette/server.js
and renames it server.TCPConnection.

The rationale behind this change is that the current dispatcher is not
a single entity to which incoming requests are dispatched.  The old
organisation might make sense if this was an HTTP server where all
connections are transitive and it didn't hold any connection details,
however the dispatcher is in effect a representation of a client socket
connection.

Since the module is not used elsewhere, it makes sense to pair it with
the existing server.TCPListener class.

MozReview-Commit-ID: 2HF35OiP6AY

--HG--
extra : rebase_source : 188bbc23a128642c1127694714e7fca4192827c9
2017-03-06 17:39:42 +00:00
Andreas Tolfsen 645c6db1b0 Bug 1319237 - Generalise wait condition utility; r=automatedtester,maja_zf
This makes the `implicitWaitFor` utility from
testing/marionette/element.js generally available in Marionette.

It improves on the design of the old wait utility by providing
promise-like resolve and reject options to the evaluated function.  These
can be used to indicate success or failure of waiting.  If resolved, the
provided value is returned immediately.  When rejected, the function is
evaluated over again until the timeout is reached or an error is thrown.

It is useful to indicate success and failure state because it saves the
calling code from guessing based on the return value.  Guessing from
the return value can be problematic since there are certain types and
values in JavaScript that are ambigeous or misleading, such as the fact
that empty arrays are evaluated as a truthy value.

MozReview-Commit-ID: G8F99tdbiNb

--HG--
extra : rebase_source : 88647b1c7115f15649d5029391ff21567f9d527c
2016-11-21 23:41:20 +01:00
Wes Kocher 10665c1427 Backed out 14 changesets (bug 1319237) for android xpcshell failures a=backout
Backed out changeset c85849b790c5 (bug 1319237)
Backed out changeset 9746878e5fc7 (bug 1319237)
Backed out changeset 1f7f75c57c59 (bug 1319237)
Backed out changeset 4dc796bbcfaa (bug 1319237)
Backed out changeset f8449c471b8f (bug 1319237)
Backed out changeset f2bdf078f39a (bug 1319237)
Backed out changeset 8df8cda56942 (bug 1319237)
Backed out changeset f651a9e54a57 (bug 1319237)
Backed out changeset 76c8aafbd933 (bug 1319237)
Backed out changeset a2096fa29cd7 (bug 1319237)
Backed out changeset af71a9376bef (bug 1319237)
Backed out changeset 778721edd8b9 (bug 1319237)
Backed out changeset feaf6ba3bd9a (bug 1319237)
Backed out changeset f5f206ed675b (bug 1319237)

MozReview-Commit-ID: EpmToL8Xqfz
2017-02-06 11:28:28 -08:00
Andreas Tolfsen 8856da4c0b Bug 1319237 - Generalise wait condition utility; r=automatedtester,maja_zf
This makes the `implicitWaitFor` utility from
testing/marionette/element.js generally available in Marionette.

It improves on the design of the old wait utility by providing
promise-like resolve and reject options to the evaluated function.  These
can be used to indicate success or failure of waiting.  If resolved, the
provided value is returned immediately.  When rejected, the function is
evaluated over again until the timeout is reached or an error is thrown.

It is useful to indicate success and failure state because it saves the
calling code from guessing based on the return value.  Guessing from
the return value can be problematic since there are certain types and
values in JavaScript that are ambigeous or misleading, such as the fact
that empty arrays are evaluated as a truthy value.

MozReview-Commit-ID: G8F99tdbiNb

--HG--
extra : rebase_source : 1de77b97f0de71e0dc77fc47a6b1aab1ef88ea6f
2016-11-21 23:41:20 +01:00
Henrik Skupin c61f1603f3 Bug 1331037 - Fix failures in test_localization.py for Fennec. r=ato
Fennec uses a different set of DTD and properties files. As such the current
entity and property names do not work. To fix the tests a DTD and properties
file gets added for the test_dialog.xul example dialog, which means that we
have identical resources for every supported application.

MozReview-Commit-ID: LXDeADHlxja

--HG--
extra : rebase_source : 47a4023af8ebaef28ca58868529df5e78ea7b309
2017-01-18 09:47:58 +01:00
Andreas Tolfsen c276b917c4 Bug 1326534 - Rewrite capabilities parsing in Marionette; r=automatedtester
This patch provides a (nearly) WebDriver conforming implementation
of capabilities in Marionette.  The work remaining is pending further
clarification in the specification.

Capabilities are represented internally as a complex object provided
by `session.Capabilities`.  Timeouts and proxy configuration are also
represented by the similar complex objects `session.Timeouts` and
`session.Proxy`, respectively.

The capabilities stored in `GeckoDriver#sessionCapabilities` are the
result of parsing user-provided desired- and required capabilities.
WebDriver now uses `firstMatch` and `alwaysMatch` primitives for
capabilities, but as this is considered a wider breaking change, the
move to these primitives will be done at a later stage.  It’s prudent
to point out that the base techniques used with the new primitives
are similar to those implemented for `desiredCapabilities` and
`requiredCapabilities` in this patch, and that the work needed to adapt
them is considered trivial.

When capabilities are presented back to the user (the so called processed
capabilities), we call the `toJSON` implementation on the complex objects.
`session.Capabilities#toJSON` calls the internal function `marshal`
which ensures empty fields are dropped.  `marshal` can be considered to
be a specialisation of the standard library `JSON.stringify`, which also
calls `toJSON` on entry values if they provide this function.

The changeset overall also provides a much deeper level of testing of
WebDriver capabilities.

MozReview-Commit-ID: 97xGt3cnMys

--HG--
extra : rebase_source : 98e0bde3fdfd811775d195b488cb1255f61e5772
2016-12-31 12:21:34 +00:00
Henrik Skupin dc7e4cae78 Bug 1320073 - Rename marionette-client to marionette-harness and release version 4.0.0. r=gps,maja_zf,mtseng,SingingTree
MozReview-Commit-ID: L6V3b5h8RWm

--HG--
rename : testing/marionette/harness/marionette/chrome/test.xul => testing/marionette/chrome/test.xul
rename : testing/marionette/harness/marionette/chrome/test2.xul => testing/marionette/chrome/test2.xul
rename : testing/marionette/harness/marionette/chrome/test_anonymous_content.xul => testing/marionette/chrome/test_anonymous_content.xul
rename : testing/marionette/harness/marionette/chrome/test_dialog.xul => testing/marionette/chrome/test_dialog.xul
rename : testing/marionette/harness/marionette/chrome/test_nested_iframe.xul => testing/marionette/chrome/test_nested_iframe.xul
rename : testing/marionette/harness/marionette/__init__.py => testing/marionette/harness/marionette_harness/__init__.py
rename : testing/marionette/harness/marionette/marionette_test/__init__.py => testing/marionette/harness/marionette_harness/marionette_test/__init__.py
rename : testing/marionette/harness/marionette/marionette_test/decorators.py => testing/marionette/harness/marionette_harness/marionette_test/decorators.py
rename : testing/marionette/harness/marionette/marionette_test/errors.py => testing/marionette/harness/marionette_harness/marionette_test/errors.py
rename : testing/marionette/harness/marionette/marionette_test/testcases.py => testing/marionette/harness/marionette_harness/marionette_test/testcases.py
rename : testing/marionette/harness/marionette/runner/__init__.py => testing/marionette/harness/marionette_harness/runner/__init__.py
rename : testing/marionette/harness/marionette/runner/base.py => testing/marionette/harness/marionette_harness/runner/base.py
rename : testing/marionette/harness/marionette/runner/httpd.py => testing/marionette/harness/marionette_harness/runner/httpd.py
rename : testing/marionette/harness/marionette/runner/mixins/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/__init__.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/History.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/History.md
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/__init__.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/client.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/server.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/browsermobproxy/webdriver_event_listener.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/Makefile => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/Makefile
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/.buildinfo
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/browsermobproxy.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_modules/index.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/client.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/index.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_sources/server.txt
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/basic.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/default.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/doctools.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/jquery.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/pygments.css
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/searchtools.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/sidebar.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/underscore.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/_static/websupport.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/client.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/genindex.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/index.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/objects.inv
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/py-modindex.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/search.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/searchindex.js
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/_build/html/server.html
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/client.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/client.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/conf.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/conf.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/index.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/index.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/make.bat => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/make.bat
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/docs/server.rst => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/docs/server.rst
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/readme.md => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/readme.md
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/setup.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/setup.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_client.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_client.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_remote.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_remote.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob-proxy-py/test/test_webdriver.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob-proxy-py/test/test_webdriver.py
rename : testing/marionette/harness/marionette/runner/mixins/browsermob.py => testing/marionette/harness/marionette_harness/runner/mixins/browsermob.py
rename : testing/marionette/harness/marionette/runner/mixins/window_manager.py => testing/marionette/harness/marionette_harness/runner/mixins/window_manager.py
rename : testing/marionette/harness/marionette/runner/serve.py => testing/marionette/harness/marionette_harness/runner/serve.py
rename : testing/marionette/harness/marionette/runner/test.cert => testing/marionette/harness/marionette_harness/runner/test.cert
rename : testing/marionette/harness/marionette/runner/test.key => testing/marionette/harness/marionette_harness/runner/test.key
rename : testing/marionette/harness/marionette/runtests.py => testing/marionette/harness/marionette_harness/runtests.py
rename : testing/marionette/harness/marionette/tests/harness_unit/conftest.py => testing/marionette/harness/marionette_harness/tests/harness_unit/conftest.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_httpd.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_httpd.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_arguments.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_arguments.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_harness.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_harness.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_runner.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_runner.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_marionette_test_result.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_marionette_test_result.py
rename : testing/marionette/harness/marionette/tests/harness_unit/test_serve.py => testing/marionette/harness/marionette_harness/tests/harness_unit/test_serve.py
rename : testing/marionette/harness/marionette/tests/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit-tests.ini
rename : testing/marionette/harness/marionette/tests/unit/importanotherscript.js => testing/marionette/harness/marionette_harness/tests/unit/importanotherscript.js
rename : testing/marionette/harness/marionette/tests/unit/importscript.js => testing/marionette/harness/marionette_harness/tests/unit/importscript.js
rename : testing/marionette/harness/marionette/tests/unit/mn-restartless-unsigned.xpi => testing/marionette/harness/marionette_harness/tests/unit/mn-restartless-unsigned.xpi
rename : testing/marionette/harness/marionette/tests/unit/single_finger_functions.py => testing/marionette/harness/marionette_harness/tests/unit/single_finger_functions.py
rename : testing/marionette/harness/marionette/tests/unit/test_about_pages.py => testing/marionette/harness/marionette_harness/tests/unit/test_about_pages.py
rename : testing/marionette/harness/marionette/tests/unit/test_accessibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_accessibility.py
rename : testing/marionette/harness/marionette/tests/unit/test_addons.py => testing/marionette/harness/marionette_harness/tests/unit/test_addons.py
rename : testing/marionette/harness/marionette/tests/unit/test_anonymous_content.py => testing/marionette/harness/marionette_harness/tests/unit/test_anonymous_content.py
rename : testing/marionette/harness/marionette/tests/unit/test_browsermobproxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_browsermobproxy.py
rename : testing/marionette/harness/marionette/tests/unit/test_capabilities.py => testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py
rename : testing/marionette/harness/marionette/tests/unit/test_certificates.py => testing/marionette/harness/marionette_harness/tests/unit/test_certificates.py
rename : testing/marionette/harness/marionette/tests/unit/test_checkbox.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox.py
rename : testing/marionette/harness/marionette/tests/unit/test_checkbox_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_checkbox_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_chrome_async_finish.js => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_async_finish.js
rename : testing/marionette/harness/marionette/tests/unit/test_chrome_element_css.py => testing/marionette/harness/marionette_harness/tests/unit/test_chrome_element_css.py
rename : testing/marionette/harness/marionette/tests/unit/test_clearing.py => testing/marionette/harness/marionette_harness/tests/unit/test_clearing.py
rename : testing/marionette/harness/marionette/tests/unit/test_click.py => testing/marionette/harness/marionette_harness/tests/unit/test_click.py
rename : testing/marionette/harness/marionette/tests/unit/test_click_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_click_scrolling.py => testing/marionette/harness/marionette_harness/tests/unit/test_click_scrolling.py
rename : testing/marionette/harness/marionette/tests/unit/test_cookies.py => testing/marionette/harness/marionette_harness/tests/unit/test_cookies.py
rename : testing/marionette/harness/marionette/tests/unit/test_crash.py => testing/marionette/harness/marionette_harness/tests/unit/test_crash.py
rename : testing/marionette/harness/marionette/tests/unit/test_data_driven.py => testing/marionette/harness/marionette_harness/tests/unit/test_data_driven.py
rename : testing/marionette/harness/marionette/tests/unit/test_date_time_value.py => testing/marionette/harness/marionette_harness/tests/unit/test_date_time_value.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_retrieval.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_retrieval.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_state.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state.py
rename : testing/marionette/harness/marionette/tests/unit/test_element_state_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_element_state_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_elementsize.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize.py
rename : testing/marionette/harness/marionette/tests/unit/test_elementsize_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_elementsize_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_errors.py => testing/marionette/harness/marionette_harness/tests/unit/test_errors.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_async_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_async_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_isolate.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_isolate.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_sandboxes.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_sandboxes.py
rename : testing/marionette/harness/marionette/tests/unit/test_execute_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_execute_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_expected.py => testing/marionette/harness/marionette_harness/tests/unit/test_expected.py
rename : testing/marionette/harness/marionette/tests/unit/test_expectedfail.py => testing/marionette/harness/marionette_harness/tests/unit/test_expectedfail.py
rename : testing/marionette/harness/marionette/tests/unit/test_file_upload.py => testing/marionette/harness/marionette_harness/tests/unit/test_file_upload.py
rename : testing/marionette/harness/marionette/tests/unit/test_findelement_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_findelement_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_geckoinstance.py => testing/marionette/harness/marionette_harness/tests/unit/test_geckoinstance.py
rename : testing/marionette/harness/marionette/tests/unit/test_getactiveframe_oop.py => testing/marionette/harness/marionette_harness/tests/unit/test_getactiveframe_oop.py
rename : testing/marionette/harness/marionette/tests/unit/test_implicit_waits.py => testing/marionette/harness/marionette_harness/tests/unit/test_implicit_waits.py
rename : testing/marionette/harness/marionette/tests/unit/test_import_script.py => testing/marionette/harness/marionette_harness/tests/unit/test_import_script.py
rename : testing/marionette/harness/marionette/tests/unit/test_key_actions.py => testing/marionette/harness/marionette_harness/tests/unit/test_key_actions.py
rename : testing/marionette/harness/marionette/tests/unit/test_localization.py => testing/marionette/harness/marionette_harness/tests/unit/test_localization.py
rename : testing/marionette/harness/marionette/tests/unit/test_log.py => testing/marionette/harness/marionette_harness/tests/unit/test_log.py
rename : testing/marionette/harness/marionette/tests/unit/test_marionette.py => testing/marionette/harness/marionette_harness/tests/unit/test_marionette.py
rename : testing/marionette/harness/marionette/tests/unit/test_modal_dialogs.py => testing/marionette/harness/marionette_harness/tests/unit/test_modal_dialogs.py
rename : testing/marionette/harness/marionette/tests/unit/test_mouse_action.py => testing/marionette/harness/marionette_harness/tests/unit/test_mouse_action.py
rename : testing/marionette/harness/marionette/tests/unit/test_navigation.py => testing/marionette/harness/marionette_harness/tests/unit/test_navigation.py
rename : testing/marionette/harness/marionette/tests/unit/test_pagesource.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource.py
rename : testing/marionette/harness/marionette/tests/unit/test_pagesource_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_pagesource_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_position.py
rename : testing/marionette/harness/marionette/tests/unit/test_prefs.py => testing/marionette/harness/marionette_harness/tests/unit/test_prefs.py
rename : testing/marionette/harness/marionette/tests/unit/test_profile_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_profile_management.py
rename : testing/marionette/harness/marionette/tests/unit/test_proxy.py => testing/marionette/harness/marionette_harness/tests/unit/test_proxy.py
rename : testing/marionette/harness/marionette/tests/unit/test_quit_restart.py => testing/marionette/harness/marionette_harness/tests/unit/test_quit_restart.py
rename : testing/marionette/harness/marionette/tests/unit/test_rendered_element.py => testing/marionette/harness/marionette_harness/tests/unit/test_rendered_element.py
rename : testing/marionette/harness/marionette/tests/unit/test_report.py => testing/marionette/harness/marionette_harness/tests/unit/test_report.py
rename : testing/marionette/harness/marionette/tests/unit/test_run_js_test.py => testing/marionette/harness/marionette_harness/tests/unit/test_run_js_test.py
rename : testing/marionette/harness/marionette/tests/unit/test_screen_orientation.py => testing/marionette/harness/marionette_harness/tests/unit/test_screen_orientation.py
rename : testing/marionette/harness/marionette/tests/unit/test_screenshot.py => testing/marionette/harness/marionette_harness/tests/unit/test_screenshot.py
rename : testing/marionette/harness/marionette/tests/unit/test_select.py => testing/marionette/harness/marionette_harness/tests/unit/test_select.py
rename : testing/marionette/harness/marionette/tests/unit/test_session.py => testing/marionette/harness/marionette_harness/tests/unit/test_session.py
rename : testing/marionette/harness/marionette/tests/unit/test_set_window_size.py => testing/marionette/harness/marionette_harness/tests/unit/test_set_window_size.py
rename : testing/marionette/harness/marionette/tests/unit/test_shadow_dom.py => testing/marionette/harness/marionette_harness/tests/unit/test_shadow_dom.py
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_chrome.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_chrome.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_fail.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_fail.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_pass.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_pass.js
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_sanity.py => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_sanity.py
rename : testing/marionette/harness/marionette/tests/unit/test_simpletest_timeout.js => testing/marionette/harness/marionette_harness/tests/unit/test_simpletest_timeout.js
rename : testing/marionette/harness/marionette/tests/unit/test_single_finger_desktop.py => testing/marionette/harness/marionette_harness/tests/unit/test_single_finger_desktop.py
rename : testing/marionette/harness/marionette/tests/unit/test_skip_setup.py => testing/marionette/harness/marionette_harness/tests/unit/test_skip_setup.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_frame_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_frame_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_switch_remote_frame.py => testing/marionette/harness/marionette_harness/tests/unit/test_switch_remote_frame.py
rename : testing/marionette/harness/marionette/tests/unit/test_teardown_context_preserved.py => testing/marionette/harness/marionette_harness/tests/unit/test_teardown_context_preserved.py
rename : testing/marionette/harness/marionette/tests/unit/test_text.py => testing/marionette/harness/marionette_harness/tests/unit/test_text.py
rename : testing/marionette/harness/marionette/tests/unit/test_text_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_text_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_timeouts.py => testing/marionette/harness/marionette_harness/tests/unit/test_timeouts.py
rename : testing/marionette/harness/marionette/tests/unit/test_transport.py => testing/marionette/harness/marionette_harness/tests/unit/test_transport.py
rename : testing/marionette/harness/marionette/tests/unit/test_typing.py => testing/marionette/harness/marionette_harness/tests/unit/test_typing.py
rename : testing/marionette/harness/marionette/tests/unit/test_using_permissions.py => testing/marionette/harness/marionette_harness/tests/unit/test_using_permissions.py
rename : testing/marionette/harness/marionette/tests/unit/test_visibility.py => testing/marionette/harness/marionette_harness/tests/unit/test_visibility.py
rename : testing/marionette/harness/marionette/tests/unit/test_wait.py => testing/marionette/harness/marionette_harness/tests/unit/test_wait.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_handles.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_handles.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_management.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_management.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_position.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_position.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_switching.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_switching.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_title.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_title_chrome.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_title_chrome.py
rename : testing/marionette/harness/marionette/tests/unit/test_window_type.py => testing/marionette/harness/marionette_harness/tests/unit/test_window_type.py
rename : testing/marionette/harness/marionette/tests/unit/test_with_using_context.py => testing/marionette/harness/marionette_harness/tests/unit/test_with_using_context.py
rename : testing/marionette/harness/marionette/tests/unit/unit-tests.ini => testing/marionette/harness/marionette_harness/tests/unit/unit-tests.ini
rename : testing/marionette/harness/marionette/tests/webapi-tests.ini => testing/marionette/harness/marionette_harness/tests/webapi-tests.ini
rename : testing/marionette/harness/marionette/www/bug814037.html => testing/marionette/harness/marionette_harness/www/bug814037.html
rename : testing/marionette/harness/marionette/www/click_out_of_bounds_overflow.html => testing/marionette/harness/marionette_harness/www/click_out_of_bounds_overflow.html
rename : testing/marionette/harness/marionette/www/clicks.html => testing/marionette/harness/marionette_harness/www/clicks.html
rename : testing/marionette/harness/marionette/www/cssTransform.html => testing/marionette/harness/marionette_harness/www/cssTransform.html
rename : testing/marionette/harness/marionette/www/cssTransform2.html => testing/marionette/harness/marionette_harness/www/cssTransform2.html
rename : testing/marionette/harness/marionette/www/datetimePage.html => testing/marionette/harness/marionette_harness/www/datetimePage.html
rename : testing/marionette/harness/marionette/www/deletingFrame.html => testing/marionette/harness/marionette_harness/www/deletingFrame.html
rename : testing/marionette/harness/marionette/www/double_click.html => testing/marionette/harness/marionette_harness/www/double_click.html
rename : testing/marionette/harness/marionette/www/element_bottom.html => testing/marionette/harness/marionette_harness/www/element_bottom.html
rename : testing/marionette/harness/marionette/www/element_left.html => testing/marionette/harness/marionette_harness/www/element_left.html
rename : testing/marionette/harness/marionette/www/element_outside_viewport.html => testing/marionette/harness/marionette_harness/www/element_outside_viewport.html
rename : testing/marionette/harness/marionette/www/element_right.html => testing/marionette/harness/marionette_harness/www/element_right.html
rename : testing/marionette/harness/marionette/www/element_top.html => testing/marionette/harness/marionette_harness/www/element_top.html
rename : testing/marionette/harness/marionette/www/empty.html => testing/marionette/harness/marionette_harness/www/empty.html
rename : testing/marionette/harness/marionette/www/formPage.html => testing/marionette/harness/marionette_harness/www/formPage.html
rename : testing/marionette/harness/marionette/www/frameset.html => testing/marionette/harness/marionette_harness/www/frameset.html
rename : testing/marionette/harness/marionette/www/framesetPage2.html => testing/marionette/harness/marionette_harness/www/framesetPage2.html
rename : testing/marionette/harness/marionette/www/hidden.html => testing/marionette/harness/marionette_harness/www/hidden.html
rename : testing/marionette/harness/marionette/www/html5/blue.jpg => testing/marionette/harness/marionette_harness/www/html5/blue.jpg
rename : testing/marionette/harness/marionette/www/html5/boolean_attributes.html => testing/marionette/harness/marionette_harness/www/html5/boolean_attributes.html
rename : testing/marionette/harness/marionette/www/html5/geolocation.js => testing/marionette/harness/marionette_harness/www/html5/geolocation.js
rename : testing/marionette/harness/marionette/www/html5/green.jpg => testing/marionette/harness/marionette_harness/www/html5/green.jpg
rename : testing/marionette/harness/marionette/www/html5/offline.html => testing/marionette/harness/marionette_harness/www/html5/offline.html
rename : testing/marionette/harness/marionette/www/html5/red.jpg => testing/marionette/harness/marionette_harness/www/html5/red.jpg
rename : testing/marionette/harness/marionette/www/html5/status.html => testing/marionette/harness/marionette_harness/www/html5/status.html
rename : testing/marionette/harness/marionette/www/html5/test.appcache => testing/marionette/harness/marionette_harness/www/html5/test.appcache
rename : testing/marionette/harness/marionette/www/html5/test_html_inputs.html => testing/marionette/harness/marionette_harness/www/html5/test_html_inputs.html
rename : testing/marionette/harness/marionette/www/html5/yellow.jpg => testing/marionette/harness/marionette_harness/www/html5/yellow.jpg
rename : testing/marionette/harness/marionette/www/html5Page.html => testing/marionette/harness/marionette_harness/www/html5Page.html
rename : testing/marionette/harness/marionette/www/javascriptPage.html => testing/marionette/harness/marionette_harness/www/javascriptPage.html
rename : testing/marionette/harness/marionette/www/macbeth.html => testing/marionette/harness/marionette_harness/www/macbeth.html
rename : testing/marionette/harness/marionette/www/modal_dialogs.html => testing/marionette/harness/marionette_harness/www/modal_dialogs.html
rename : testing/marionette/harness/marionette/www/nestedElements.html => testing/marionette/harness/marionette_harness/www/nestedElements.html
rename : testing/marionette/harness/marionette/www/rectangles.html => testing/marionette/harness/marionette_harness/www/rectangles.html
rename : testing/marionette/harness/marionette/www/resultPage.html => testing/marionette/harness/marionette_harness/www/resultPage.html
rename : testing/marionette/harness/marionette/www/scroll.html => testing/marionette/harness/marionette_harness/www/scroll.html
rename : testing/marionette/harness/marionette/www/scroll2.html => testing/marionette/harness/marionette_harness/www/scroll2.html
rename : testing/marionette/harness/marionette/www/scroll3.html => testing/marionette/harness/marionette_harness/www/scroll3.html
rename : testing/marionette/harness/marionette/www/scroll4.html => testing/marionette/harness/marionette_harness/www/scroll4.html
rename : testing/marionette/harness/marionette/www/scroll5.html => testing/marionette/harness/marionette_harness/www/scroll5.html
rename : testing/marionette/harness/marionette/www/shim.js => testing/marionette/harness/marionette_harness/www/shim.js
rename : testing/marionette/harness/marionette/www/test.html => testing/marionette/harness/marionette_harness/www/test.html
rename : testing/marionette/harness/marionette/www/testAction.html => testing/marionette/harness/marionette_harness/www/testAction.html
rename : testing/marionette/harness/marionette/www/testPageSource.html => testing/marionette/harness/marionette_harness/www/testPageSource.html
rename : testing/marionette/harness/marionette/www/testPageSource.xml => testing/marionette/harness/marionette_harness/www/testPageSource.xml
rename : testing/marionette/harness/marionette/www/testPageSourceWithUnicodeChars.html => testing/marionette/harness/marionette_harness/www/testPageSourceWithUnicodeChars.html
rename : testing/marionette/harness/marionette/www/testSize.html => testing/marionette/harness/marionette_harness/www/testSize.html
rename : testing/marionette/harness/marionette/www/test_accessibility.html => testing/marionette/harness/marionette_harness/www/test_accessibility.html
rename : testing/marionette/harness/marionette/www/test_carets_columns.html => testing/marionette/harness/marionette_harness/www/test_carets_columns.html
rename : testing/marionette/harness/marionette/www/test_carets_cursor.html => testing/marionette/harness/marionette_harness/www/test_carets_cursor.html
rename : testing/marionette/harness/marionette/www/test_carets_display_none.html => testing/marionette/harness/marionette_harness/www/test_carets_display_none.html
rename : testing/marionette/harness/marionette/www/test_carets_iframe.html => testing/marionette/harness/marionette_harness/www/test_carets_iframe.html
rename : testing/marionette/harness/marionette/www/test_carets_longtext.html => testing/marionette/harness/marionette_harness/www/test_carets_longtext.html
rename : testing/marionette/harness/marionette/www/test_carets_multipleline.html => testing/marionette/harness/marionette_harness/www/test_carets_multipleline.html
rename : testing/marionette/harness/marionette/www/test_carets_multiplerange.html => testing/marionette/harness/marionette_harness/www/test_carets_multiplerange.html
rename : testing/marionette/harness/marionette/www/test_carets_selection.html => testing/marionette/harness/marionette_harness/www/test_carets_selection.html
rename : testing/marionette/harness/marionette/www/test_clearing.html => testing/marionette/harness/marionette_harness/www/test_clearing.html
rename : testing/marionette/harness/marionette/www/test_dynamic.html => testing/marionette/harness/marionette_harness/www/test_dynamic.html
rename : testing/marionette/harness/marionette/www/test_iframe.html => testing/marionette/harness/marionette_harness/www/test_iframe.html
rename : testing/marionette/harness/marionette/www/test_inner_iframe.html => testing/marionette/harness/marionette_harness/www/test_inner_iframe.html
rename : testing/marionette/harness/marionette/www/test_nested_iframe.html => testing/marionette/harness/marionette_harness/www/test_nested_iframe.html
rename : testing/marionette/harness/marionette/www/test_oop_1.html => testing/marionette/harness/marionette_harness/www/test_oop_1.html
rename : testing/marionette/harness/marionette/www/test_oop_2.html => testing/marionette/harness/marionette_harness/www/test_oop_2.html
rename : testing/marionette/harness/marionette/www/test_shadow_dom.html => testing/marionette/harness/marionette_harness/www/test_shadow_dom.html
rename : testing/marionette/harness/marionette/www/test_windows.html => testing/marionette/harness/marionette_harness/www/test_windows.html
rename : testing/marionette/harness/marionette/www/windowHandles.html => testing/marionette/harness/marionette_harness/www/windowHandles.html
rename : testing/marionette/harness/marionette/www/xhtmlTest.html => testing/marionette/harness/marionette_harness/www/xhtmlTest.html
extra : rebase_source : 67058d4aaa858732563fda6790c3176071c6bd60
2016-12-12 13:05:34 +01:00
Andreas Tolfsen da6234665e Bug 1103196 - Add ability to ignore invalid TLS certificates; r=automatedtester,keeler,mossop
When the `acceptInsecureCerts` capability is set to true on creating
a new Marionette session, a `nsICertOverrideService` override service
is installed that causes all invalid TLS certificates to be ignored.
This is in line with the expectations of the WebDriver specification.

It is worth noting that this is a potential security risk and that this
feature is only available in Gecko when the Marionette server is enabled.

MozReview-Commit-ID: BXrQw17TgDy

--HG--
extra : rebase_source : 023f18b07ffbb53c7dbc588a823c62830f032e3d
2016-11-06 18:03:31 +00:00
Sebastian Hengst 5fe8073117 Backed out changeset 9fae5015803b (bug 1103196) 2016-11-25 00:18:19 +01:00
Andreas Tolfsen f4441f7f70 Bug 1103196 - Add ability to ignore invalid TLS certificates; r=automatedtester,keeler,mossop
When the `acceptInsecureCerts` capability is set to true on creating
a new Marionette session, a `nsICertOverrideService` override service
is installed that causes all invalid TLS certificates to be ignored.
This is in line with the expectations of the WebDriver specification.

It is worth noting that this is a potential security risk and that this
feature is only available in Gecko when the Marionette server is enabled.

MozReview-Commit-ID: BXrQw17TgDy

--HG--
extra : rebase_source : 722b7bde2b6e76a4cf0565b0504a6ce8ec53f04a
2016-11-06 18:03:31 +00:00
Andreas Tolfsen 3fd41bd102 Bug 1317733 - Stop packaging specialpowers with Marionette; r=automatedtester
Marionette does not use specialpowers any more and it is pointless to
include it in the Marionette jar.

MozReview-Commit-ID: 8tzSO4VsMA7

--HG--
extra : rebase_source : a2a78e5a37a444b1d04dcae25551c8cbcc3aca61
2016-11-15 15:59:33 +00:00
Andreas Tolfsen 9d38145570 Bug 1298025 - Move addon installation internally to Marionette; r=ahal,automatedtester
Addons can be installed and uninstalled using the Marionette client
utility found in testing/marionette/client/marionette_driver/addons.py.
It injects system-privileged chrome JavaScript to manipulate the addon
manager service.

To make this feature more widely adopted, i.e. by other clients such as
WebDriver, this patch moves the addon installation code to internally
in Marionette and exposes them as so called WebDriver extension commands.

This patch also _explicitly breaks_ backwards compatibility with
older Geckos that do not support the new Marionette:installAddon and
Marionette:uninstallAddon commands.

MozReview-Commit-ID: 18IceiGIg5H

--HG--
extra : rebase_source : 007802fa0a431a1438570caac3988177c6beab1d
2016-08-26 13:38:03 +01:00