add moveing of tabs and groups, multi browser support, auto complite into terminal, extract html and adding testing

This commit is contained in:
2026-04-09 01:41:01 +02:00
parent 0cb2f1cb3f
commit ab4ba97886
19 changed files with 1069 additions and 57 deletions
+30
View File
@@ -0,0 +1,30 @@
"""
Shared pytest fixtures for browser-cli integration tests.
Tests that require a live browser connection use the `browser` fixture.
They are automatically skipped if the native host socket is not reachable.
"""
import pytest
from browser_cli.client import send_command, BrowserNotConnected
@pytest.fixture(scope="session")
def browser():
"""Returns a connected send_command callable, or skips the test."""
try:
send_command("tabs.list")
except BrowserNotConnected:
pytest.skip("Browser not connected — start Brave/Chrome with the extension loaded")
return send_command
@pytest.fixture(scope="session")
def http_tab(browser):
"""Ensures at least one http/https tab is open; returns its tab info."""
tabs = browser("tabs.list")
http_tab = next(
(t for t in tabs if t.get("url", "").startswith("http")), None
)
if http_tab is None:
pytest.skip("No http/https tab open — open a web page first")
return http_tab