This commit is contained in:
54
tests/test_stealth.py
Normal file
54
tests/test_stealth.py
Normal file
@@ -0,0 +1,54 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""stealth 启动参数与开关测试。"""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from jiangchang_skill_core.rpa.stealth import (
|
||||
persistent_context_launch_parts,
|
||||
stealth_enabled,
|
||||
)
|
||||
|
||||
|
||||
class TestStealth(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self._saved = os.environ.get("OPENCLAW_PLAYWRIGHT_STEALTH")
|
||||
|
||||
def tearDown(self) -> None:
|
||||
if self._saved is None:
|
||||
os.environ.pop("OPENCLAW_PLAYWRIGHT_STEALTH", None)
|
||||
else:
|
||||
os.environ["OPENCLAW_PLAYWRIGHT_STEALTH"] = self._saved
|
||||
|
||||
def test_stealth_enabled_default_on(self) -> None:
|
||||
os.environ.pop("OPENCLAW_PLAYWRIGHT_STEALTH", None)
|
||||
self.assertTrue(stealth_enabled())
|
||||
|
||||
def test_stealth_enabled_off_values(self) -> None:
|
||||
for off in ("0", "false", "no", "off", "FALSE"):
|
||||
os.environ["OPENCLAW_PLAYWRIGHT_STEALTH"] = off
|
||||
self.assertFalse(stealth_enabled(), msg=off)
|
||||
|
||||
def test_launch_parts_stealth_on(self) -> None:
|
||||
os.environ["OPENCLAW_PLAYWRIGHT_STEALTH"] = "1"
|
||||
args, ignore = persistent_context_launch_parts()
|
||||
self.assertIn("--start-maximized", args)
|
||||
self.assertIn("--disable-blink-features=AutomationControlled", args)
|
||||
self.assertEqual(ignore, ["--enable-automation"])
|
||||
|
||||
def test_launch_parts_stealth_off(self) -> None:
|
||||
os.environ["OPENCLAW_PLAYWRIGHT_STEALTH"] = "0"
|
||||
args, ignore = persistent_context_launch_parts()
|
||||
self.assertIn("--start-maximized", args)
|
||||
self.assertNotIn("--disable-blink-features=AutomationControlled", args)
|
||||
self.assertIsNone(ignore)
|
||||
|
||||
def test_launch_parts_extra_args(self) -> None:
|
||||
os.environ["OPENCLAW_PLAYWRIGHT_STEALTH"] = "1"
|
||||
args, _ = persistent_context_launch_parts(extra_args=["--foo"])
|
||||
self.assertIn("--foo", args)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user