Class: Playwright::Tracing
- Inherits:
-
PlaywrightApi
- Object
- PlaywrightApi
- Playwright::Tracing
- Defined in:
- lib/playwright_api/tracing.rb,
sig/playwright.rbs
Overview
API for collecting and saving Playwright traces. Playwright traces can be opened in Trace Viewer after Playwright script runs.
NOTE: You probably want to enable tracing in your config file instead of using context.tracing.
The context.tracing API captures browser operations and network activity, but it doesn't record test assertions (like expect calls). We recommend enabling tracing through Playwright Test configuration, which includes those assertions and provides a more complete trace for debugging test failures.
Start recording a trace before performing actions. At the end, stop tracing and save it to a file.
browser = chromium.launch()
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")
Instance Method Summary collapse
-
#group(name, location: nil) ⇒ Object
NOTE: Use
test.stepinstead when available. -
#group_end ⇒ void
Closes the last group created by [
method: Tracing.group]. -
#off(event, callback) ⇒ Object
-- inherited from EventEmitter --.
-
#on(event, callback) ⇒ Object
-- inherited from EventEmitter --.
-
#once(event, callback) ⇒ Object
-- inherited from EventEmitter --.
-
#start(live: nil, name: nil, screenshots: nil, snapshots: nil, sources: nil, title: nil) ⇒ void
Start tracing.
-
#start_chunk(name: nil, title: nil) ⇒ void
Start a new trace chunk.
-
#start_har(path, content: nil, mode: nil, urlFilter: nil) ⇒ Object
Start recording a HAR (HTTP Archive) of network activity in this context.
-
#stop(path: nil) ⇒ void
Stop tracing.
-
#stop_chunk(path: nil) ⇒ void
Stop the trace chunk.
-
#stop_har ⇒ void
Stop HAR recording and save the HAR file to the path given to [
method: Tracing.startHar].
Methods inherited from PlaywrightApi
Constructor Details
This class inherits a constructor from Playwright::PlaywrightApi
Instance Method Details
#group(name, location: nil) ⇒ Object
NOTE: Use test.step instead when available.
Creates a new group within the trace, assigning any subsequent API calls to this group, until [method: Tracing.groupEnd] is called. Groups can be nested and will be visible in the trace viewer.
Usage
# All actions between group and group_end
# will be shown in the trace viewer as a group.
page.context.tracing.group("Open Playwright.dev > API")
page.goto("https://playwright.dev/")
page.get_by_role("link", name="API").click()
page.context.tracing.group_end()
102 103 104 |
# File 'lib/playwright_api/tracing.rb', line 102 def group(name, location: nil) wrap_impl(@impl.group(unwrap_impl(name), location: unwrap_impl(location))) end |
#group_end ⇒ void
This method returns an undefined value.
Closes the last group created by [method: Tracing.group].
108 109 110 |
# File 'lib/playwright_api/tracing.rb', line 108 def group_end wrap_impl(@impl.group_end) end |
#off(event, callback) ⇒ Object
-- inherited from EventEmitter --
132 133 134 |
# File 'lib/playwright_api/tracing.rb', line 132 def off(event, callback) event_emitter_proxy.off(event, callback) end |
#on(event, callback) ⇒ Object
-- inherited from EventEmitter --
144 145 146 |
# File 'lib/playwright_api/tracing.rb', line 144 def on(event, callback) event_emitter_proxy.on(event, callback) end |
#once(event, callback) ⇒ Object
-- inherited from EventEmitter --
138 139 140 |
# File 'lib/playwright_api/tracing.rb', line 138 def once(event, callback) event_emitter_proxy.once(event, callback) end |
#start(live: nil, name: nil, screenshots: nil, snapshots: nil, sources: nil, title: nil) ⇒ void
This method returns an undefined value.
Start tracing.
NOTE: You probably want to enable tracing in your config file instead of using Tracing.start.
The context.tracing API captures browser operations and network activity, but it doesn't record test assertions (like expect calls). We recommend enabling tracing through Playwright Test configuration, which includes those assertions and provides a more complete trace for debugging test failures.
Usage
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop(path = "trace.zip")
36 37 38 39 40 41 42 43 44 |
# File 'lib/playwright_api/tracing.rb', line 36 def start( live: nil, name: nil, screenshots: nil, snapshots: nil, sources: nil, title: nil) wrap_impl(@impl.start(live: unwrap_impl(live), name: unwrap_impl(name), screenshots: unwrap_impl(screenshots), snapshots: unwrap_impl(snapshots), sources: unwrap_impl(sources), title: unwrap_impl(title))) end |
#start_chunk(name: nil, title: nil) ⇒ void
This method returns an undefined value.
Start a new trace chunk. If you'd like to record multiple traces on the same BrowserContext, use [method: Tracing.start] once, and then create multiple trace chunks with [method: Tracing.startChunk] and [method: Tracing.stopChunk].
Usage
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.start_chunk()
page.get_by_text("Get Started").click()
# Everything between start_chunk and stop_chunk will be recorded in the trace.
context.tracing.stop_chunk(path = "trace1.zip")
context.tracing.start_chunk()
page.goto("http://example.com")
# Save a second trace file with different actions.
context.tracing.stop_chunk(path = "trace2.zip")
66 67 68 |
# File 'lib/playwright_api/tracing.rb', line 66 def start_chunk(name: nil, title: nil) wrap_impl(@impl.start_chunk(name: unwrap_impl(name), title: unwrap_impl(title))) end |
#start_har(path, content: nil, mode: nil, urlFilter: nil) ⇒ Object
Start recording a HAR (HTTP Archive) of network activity in this context. The HAR file is written to disk when [method: Tracing.stopHar] is called, or when the returned Disposable is disposed.
Only one HAR recording can be active at a time per BrowserContext.
Usage
context.tracing.start_har("trace.har")
page = context.new_page()
page.goto("https://playwright.dev")
context.tracing.stop_har()
83 84 85 |
# File 'lib/playwright_api/tracing.rb', line 83 def start_har(path, content: nil, mode: nil, urlFilter: nil) wrap_impl(@impl.start_har(unwrap_impl(path), content: unwrap_impl(content), mode: unwrap_impl(mode), urlFilter: unwrap_impl(urlFilter))) end |
#stop(path: nil) ⇒ void
This method returns an undefined value.
Stop tracing.
114 115 116 |
# File 'lib/playwright_api/tracing.rb', line 114 def stop(path: nil) wrap_impl(@impl.stop(path: unwrap_impl(path))) end |
#stop_chunk(path: nil) ⇒ void
This method returns an undefined value.
Stop the trace chunk. See [method: Tracing.startChunk] for more details about multiple trace chunks.
120 121 122 |
# File 'lib/playwright_api/tracing.rb', line 120 def stop_chunk(path: nil) wrap_impl(@impl.stop_chunk(path: unwrap_impl(path))) end |
#stop_har ⇒ void
This method returns an undefined value.
Stop HAR recording and save the HAR file to the path given to [method: Tracing.startHar].
126 127 128 |
# File 'lib/playwright_api/tracing.rb', line 126 def stop_har wrap_impl(@impl.stop_har) end |