e0c601dea7
MozReview-Commit-ID: 1n6P2WJZJy3 --HG-- rename : testing/web-platform/tests/webdriver/tests/maximize_window.py => testing/web-platform/tests/webdriver/tests/contexts/maximize_window.py rename : testing/web-platform/tests/webdriver/tests/cookies.py => testing/web-platform/tests/webdriver/tests/cookies/cookies.py rename : testing/web-platform/tests/webdriver/interface.html => testing/web-platform/tests/webdriver/tests/interface.html rename : testing/web-platform/tests/webdriver/tests/navigation.py => testing/web-platform/tests/webdriver/tests/navigation/current_url.py rename : testing/web-platform/tests/webdriver/status.py => testing/web-platform/tests/webdriver/tests/status.py |
||
---|---|---|
.. | ||
tests | ||
README.md | ||
config.test.json | ||
conftest.py | ||
harness.html | ||
tox.ini | ||
wptserver.py |
README.md
testharness.js
test suite
The test suite for the testharness.js
testing framework.
Executing Tests
Install the following dependencies:
Once these dependencies are satisfied, the tests may be run from a command line by executing the following command from this directory:
tox
Currently, the tests should be run with Firefox Nightly.
In order to specify the path to Firefox Nightly, use the following command-line option:
tox -- --binary=/path/to/FirefoxNightly
Authoring Tests
Test cases are expressed as .html
files located within the tests/
sub-directory. Each test should include the testharness.js
library with the
following markup:
<script src="../../testharness.js"></script>
<script src="../../testharnessreport.js"></script>
This should be followed by one or more <script>
tags that interface with the
testharness.js
API in some way. For example:
<script>
test(function() {
1 = 1;
}, 'This test is expected to fail.');
</script>
Finally, each test may include a summary of the expected results as a JSON
string within a <script>
tag with an id
of "expected"
, e.g.:
<script type="text/json" id="expected">
{
"summarized_status": {
"message": null,
"stack": null,
"status_string": "OK"
},
"summarized_tests": [
{
"message": "ReferenceError: invalid assignment left-hand side",
"name": "Sample HTML5 API Tests",
"properties": {},
"stack": "(implementation-defined)",
"status_string": "FAIL"
}
],
"type": "complete"
}
</script>
This is useful to test, for example, whether asserations that should fail or throw actually do.