mozproxy — 提供 HTTP 代理

当我们需要以可靠且可重复的方式针对第三方网站运行测试时,Mozproxy 允许您启动一个 HTTP 代理。

Mozproxy 提供了一个代理软件的接口,目前支持的后端是桌面版和 Android 版的 mitmproxy

Raptor 使用 Mozproxy 来运行性能测试,而无需与真实的网站交互。

Mozproxy 提供了一个返回回放类的函数。用法模式如下:

from mozproxy import get_playback

config = {'playback_tool': 'mitmproxy'}
pb = get_playback(config)
pb.start()
try:
  # do your test
finally:
  pb.stop()

config 是一个包含以下选项的字典:

  • playback_tool:后端名称。可以是“mitmproxy”、“mitmproxy-android”

  • playback_version:回放工具版本

  • playback_files:回放记录路径/清单/URL

  • binary:浏览器二进制文件路径

  • obj_path:构建目录

  • platform:平台名称(由 mozinfo.os 提供)

  • run_local:如果为 True,则测试在本地运行。

  • app:被测应用程序。可以是“firefox”、“geckoview”、“refbrow”、“fenix”或“firefox”

  • host:policies.json 文件的主机名

  • local_profile_dir:配置文件目录

支持的环境变量

  • MOZPROXY_DIR:mozproxy 用于所有数据文件的目录,由 mozproxy 设置

  • MOZ_UPLOAD_DIR:上传目录路径

  • GECKO_HEAD_REPOSITORY:用于从 CI 查找 certutils 二进制文件路径

  • GECKO_HEAD_REV:用于从 CI 查找 certutils 二进制文件路径

  • HOSTUTILS_MANIFEST_PATH:用于从 CI 查找 certutils 二进制文件路径