summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/docs/mozproxy.rst
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/docs/mozproxy.rst')
-rw-r--r--testing/mozbase/docs/mozproxy.rst46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/mozbase/docs/mozproxy.rst b/testing/mozbase/docs/mozproxy.rst
new file mode 100644
index 0000000000..f6863d7e22
--- /dev/null
+++ b/testing/mozbase/docs/mozproxy.rst
@@ -0,0 +1,46 @@
+:mod:`mozproxy` --- Provides an HTTP proxy
+==========================================
+
+Mozproxy let you launch an HTTP proxy when we need to run tests against
+third-part websites in a reliable and reproducible way.
+
+Mozproxy provides an interface to a proxy software, and the currently
+supported backend is **mitmproxy** for Desktop and Android.
+
+Mozproxy is used by Raptor to run performance test without having to interact
+with the real web site.
+
+Mozproxy provide a function that returns a playback class. The usage pattern is
+::
+
+ from mozproxy import get_playback
+
+ config = {'playback_tool': 'mitmproxy'}
+ pb = get_playback(config)
+ pb.start()
+ try:
+ # do your test
+ finally:
+ pb.stop()
+
+**config** is a dict with the following options:
+
+- **playback_tool**: name of the backend. can be "mitmproxy", "mitmproxy-android"
+- **playback_version**: playback tool version
+- **playback_files**: playback recording path/manifest/URL
+- **binary**: path of the browser binary
+- **obj_path**: build dir
+- **platform**: platform name (provided by mozinfo.os)
+- **run_local**: if True, the test is running locally.
+- **app**: tested app. Can be "firefox", "geckoview", "refbrow", "fenix" or "firefox"
+- **host**: hostname for the policies.json file
+- **local_profile_dir**: profile dir
+
+
+Supported environment variables:
+
+- **MOZPROXY_DIR**: directory used by mozproxy for all data files, set by mozproxy
+- **MOZ_UPLOAD_DIR**: upload directory path
+- **GECKO_HEAD_REPOSITORY**: used to find the certutils binary path from the CI
+- **GECKO_HEAD_REV**: used to find the certutils binary path from the CI
+- **HOSTUTILS_MANIFEST_PATH**: used to find the certutils binary path from the CI