User:Sydpolk
From MozillaWiki
firefox-ui-tests overview
or: How does this stuff get called anyway?
jenkins job
- mozmill-ci:jenkins-master/jobs/scripts/workspace/runtest.py
- Adds/verifies command-line arguments that are specific to functional vs. update tests.
- mozilla-central:testing/mozharness/scripts/firefox_ui_tests/functional.py
- listed in mozmill-ci:jenkins-master/jobs/scripts/workspace/config.py
- mozharness config file is mozilla-central:testing/mozharness/configs/firefox_ui_tests/qa_jenkins.py
- Appends elements to the path. Thin shim for firefox_ui_tests.py.
- mozilla-central:testing/mozharness/mozharness/mozilla/testing/firefox_ui_tests.py
- This is the real mozharness script. Sets up the actions to be performed.
- clobber
- download-and-extract
- checkout
- create-virtualenv
- install
- run-tests
- uninstall
- This is the real mozharness script. Sets up the actions to be performed.
- venv:firefox_ui_harness.py
- Exe wrapper for firefox-ui-tests:firefox_ui_harness/runtest.py
- This is the real interface into the firefox-ui-tests.
- firefox-ui-tests:firefox_ui_harness/runtest.py
- Installs firefox before tests are run (as part of processing args).
- Uninstalls firefox after tests are done.
- https://bugzilla.mozilla.org/show_bug.cgi?id=1227571 and https://github.com/mozilla/firefox-ui-tests/pull/291 will make most of this file go away. Open question about the remaining method.
- firefox-uitests:firefox-ui-tests/arguments/base.py
- The real test runner.
- All mozmill-ci files are in https://github.com/mozilla/mozmill-ci.git, which is what is used for the Jenkins configuration.
- All mozilla-central files live in https://hg.mozilla.org/mozilla-central, but the entire testing/mozharness directory is retrieved with the jenkins job get_mozharness, and copied into the job workspace with a Copy Workspace build step. This job does not clone any part of mozilla-central.
- All firefox-ui-test files live in https://github.com/mozilla/firefox-ui-tests.git. This is cloned by the mozharness scripts themselves, rather than by Jenkins.
- The venv reference is generated by the mozharness script.
So mozmill-ci:runtest.py runs mozilla-central:functional.py which runs mozilla-central:firefox_ui_tests.py which runs firefox_ui_harness.py from venv (generated from firefox-ui-tests:runtest.py) which invokes firefox-ui-tests:base.py.