Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /webdriver/bidi/moz/profiler/start/start.py - WPT Dashboard Interop Dashboard
import pytest
from webdriver.bidi import error
from .. import DEFAULT_START_OPTIONS
pytestmark = pytest.mark.asyncio
async def test_start_basic(bidi_session, is_profiler_active):
assert await is_profiler_active() is False
await bidi_session.moz.profiler.start(**DEFAULT_START_OPTIONS)
assert await is_profiler_active() is True
@pytest.mark.parametrize("preset", ["web-developer", "firefox-platform"])
async def test_start_with_preset(bidi_session, is_profiler_active, preset):
assert await is_profiler_active() is False
await bidi_session.moz.profiler.start(preset=preset)
assert await is_profiler_active() is True
async def test_start_with_preset_and_active_context(
bidi_session, new_tab, is_profiler_active
):
await bidi_session.moz.profiler.start(
preset="web-developer", active_context=new_tab["context"]
)
assert await is_profiler_active() is True
async def test_start_with_multiple_features(bidi_session, is_profiler_active):
options = {**DEFAULT_START_OPTIONS, "features": ["js", "stackwalk"]}
await bidi_session.moz.profiler.start(**options)
assert await is_profiler_active() is True
async def test_start_with_multiple_threads(bidi_session, is_profiler_active):
options = {
**DEFAULT_START_OPTIONS,
"threads": ["GeckoMain", "Renderer", "DOM Worker"],
}
await bidi_session.moz.profiler.start(**options)
assert await is_profiler_active() is True
async def test_start_with_active_context(bidi_session, new_tab, is_profiler_active):
options = {**DEFAULT_START_OPTIONS, "active_context": new_tab["context"]}
await bidi_session.moz.profiler.start(**options)
assert await is_profiler_active() is True
async def test_start_while_already_running(bidi_session, is_profiler_active):
await bidi_session.moz.profiler.start(**DEFAULT_START_OPTIONS)
assert await is_profiler_active() is True
with pytest.raises(error.UnsupportedOperationException):
await bidi_session.moz.profiler.start(**DEFAULT_START_OPTIONS)
assert await is_profiler_active() is True