invisible_playwright/tests
feder-cr b34ecf2a21 fix: humanize pref namespace + async headless cloak
humanize: the wrapper wrote invisible_playwright.humanize[.maxTime], but the
binary's Juggler reads stealthfox.humanize (PageHandler.js gates the Bezier
mouse path on it). The old name was a dead no-op, so humanize never fired and
every mouse.move teleported the cursor — an automation tell. Renamed across
config.py, launcher.py and async_api.py; the mouse test now asserts the on/off
contrast instead of a false-green moves>=1.

headless (async): InvisiblePlaywright(headless=True) crashed on Windows/macOS.
_resolve_headless called make_virtual_display().start() unconditionally, but on
Win/macOS that returns None (the binary self-cloaks via DWMWA_CLOAK; only Linux
spawns Xvfb), so it died with AttributeError. It also never injected
cloak_prefs(), so the window wouldn't have hidden anyway. Mirror the sync
launcher: guard `if vd is not None` + inject cloak_prefs() when headless on
win32/darwin. Verified on FF150: headless=True loads, exits clean, window fully
hidden (no MainWindowHandle / no taskbar entry).
2026-06-12 17:31:31 +02:00
..
unit fix: humanize pref namespace + async headless cloak 2026-06-12 17:31:31 +02:00
vendor test: add fpscanner + CreepJS to the offline real-detector gate 2026-06-11 20:19:19 +02:00
conftest.py test: activate the full e2e (browser-driving) suite + add fetch --force 2026-06-09 15:40:02 +02:00
test_async_api.py test(launcher, headless, async_api): add 32 Phase 10 gap-coverage tests 2026-05-14 12:59:47 +02:00
test_build.py tests: add wheel regression — fail if wheel has duplicate zip entries 2026-05-16 10:39:40 -07:00
test_cli.py tests: add/update tests/test_cli.py 2026-05-15 20:02:00 -07:00
test_cloak.py ci: macOS gate tolerates the runner's missing WebGL; add verify-cloak 2026-06-11 17:18:02 +02:00
test_constants.py ship: bump BINARY_VERSION to firefox-9 + refuse the broken firefox-8 (audit B5) 2026-06-09 16:02:52 +02:00
test_cross_origin_iframe.py test: activate the full e2e (browser-driving) suite + add fetch --force 2026-06-09 15:40:02 +02:00
test_detectors_e2e.py test: add fpscanner + CreepJS to the offline real-detector gate 2026-06-11 20:19:19 +02:00
test_download.py ship: bump BINARY_VERSION to firefox-9 + refuse the broken firefox-8 (audit B5) 2026-06-09 16:02:52 +02:00
test_e2e.py test: activate the full e2e (browser-driving) suite + add fetch --force 2026-06-09 15:40:02 +02:00
test_fingerprint_consistency.py test: activate the full e2e (browser-driving) suite + add fetch --force 2026-06-09 15:40:02 +02:00
test_fingerprint_surface.py ci: macOS gate tolerates the runner's missing WebGL; add verify-cloak 2026-06-11 17:18:02 +02:00
test_fpforge.py tests: add/update tests/test_fpforge.py 2026-05-15 20:01:55 -07:00
test_geo.py fix(webrtc): ship the validated proxy realness config + CI guards 2026-06-10 14:30:16 +02:00
test_geoip_update.py feat: timezone="auto" resolves from any egress + weekly geoip auto-update 2026-06-06 05:16:20 +02:00
test_headless.py headless: cloak on Windows/macOS, Xvfb on Linux; CI cloak + webgl-masking guards 2026-06-11 11:58:14 +02:00
test_imports.py tests: add/update tests/test_imports.py 2026-05-15 20:01:53 -07:00
test_integration.py fix(webrtc): ship the validated proxy realness config + CI guards 2026-06-10 14:30:16 +02:00
test_launcher_config.py feat: persistent profile dir + C7 closure (firefox-5 / 0.1.6) 2026-05-21 12:19:38 -07:00
test_launcher_helpers.py fix(webrtc): ship the validated proxy realness config + CI guards 2026-06-10 14:30:16 +02:00
test_mouse.py fix: humanize pref namespace + async headless cloak 2026-06-12 17:31:31 +02:00
test_network.py test(network): add 25 unit tests for Bayesian network primitives 2026-05-14 11:24:57 +02:00
test_pin.py tests: add/update tests/test_pin.py 2026-05-15 20:01:56 -07:00
test_prefs.py fix(webrtc): ship the validated proxy realness config + CI guards 2026-06-10 14:30:16 +02:00
test_profile.py test(profile): add 43 unit tests for Profile dataclass and pin system 2026-05-14 11:46:09 +02:00
test_proxy.py tests: add/update tests/test_proxy.py 2026-05-15 20:01:54 -07:00
test_proxy_socks_auth_e2e.py test(e2e): hermetic SOCKS5 auth + routing e2e (runs on CI) 2026-06-09 17:37:40 +02:00
test_recaptcha_seed.py feat: deterministic reCAPTCHA cookie pre-seed via Bayesian browsing history 2026-05-24 20:01:26 -07:00
test_release_e2e.py test: fortress coverage for download + constants + e2e 2026-05-20 12:20:11 -07:00
test_sampler.py test(sampler): add 55 unit tests for fingerprint Bayesian sampler 2026-05-14 11:35:24 +02:00
test_service_worker.py test: activate the full e2e (browser-driving) suite + add fetch --force 2026-06-09 15:40:02 +02:00
test_version.py fix: __version__ comes from package metadata; add --version flag (#24) 2026-05-27 00:18:03 -07:00
test_webrtc_realness.py fix(webrtc): ship the validated proxy realness config + CI guards 2026-06-10 14:30:16 +02:00