docs: update "recording a trace" section (#8368)
This commit is contained in:
parent
f9b87268a7
commit
026426227d
|
|
@ -23,19 +23,6 @@ const playwright = require('playwright');
|
||||||
})();
|
})();
|
||||||
```
|
```
|
||||||
|
|
||||||
```python sync
|
|
||||||
from playwright.sync_api import sync_playwright, TimeoutError as PlaywrightTimeoutError
|
|
||||||
|
|
||||||
with sync_playwright() as p:
|
|
||||||
browser = p.chromium.launch()
|
|
||||||
page = browser.new_page()
|
|
||||||
try:
|
|
||||||
page.click("text=Example", timeout=100)
|
|
||||||
except PlaywrightTimeoutError:
|
|
||||||
print("Timeout!")
|
|
||||||
browser.close()
|
|
||||||
```
|
|
||||||
|
|
||||||
```python async
|
```python async
|
||||||
import asyncio
|
import asyncio
|
||||||
from playwright.async_api import async_playwright, TimeoutError as PlaywrightTimeoutError
|
from playwright.async_api import async_playwright, TimeoutError as PlaywrightTimeoutError
|
||||||
|
|
@ -56,6 +43,19 @@ async def main():
|
||||||
asyncio.run(main())
|
asyncio.run(main())
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```python sync
|
||||||
|
from playwright.sync_api import sync_playwright, TimeoutError as PlaywrightTimeoutError
|
||||||
|
|
||||||
|
with sync_playwright() as p:
|
||||||
|
browser = p.chromium.launch()
|
||||||
|
page = browser.new_page()
|
||||||
|
try:
|
||||||
|
page.click("text=Example", timeout=100)
|
||||||
|
except PlaywrightTimeoutError:
|
||||||
|
print("Timeout!")
|
||||||
|
browser.close()
|
||||||
|
```
|
||||||
|
|
||||||
```java
|
```java
|
||||||
package org.example;
|
package org.example;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,36 @@ Playwright Trace Viewer is a GUI tool that helps exploring recorded Playwright t
|
||||||
<!-- TOC -->
|
<!-- TOC -->
|
||||||
|
|
||||||
## Recording a trace
|
## Recording a trace
|
||||||
|
* langs: js
|
||||||
|
|
||||||
Traces can be recorded using the [`property: BrowserContext.tracing`] API as follows:
|
Set the `trace: 'on-first-retry'` option in the test configuration file. This will produce `trace.zip` file for each test that was retried.
|
||||||
|
|
||||||
```js
|
```js js-flavor=js
|
||||||
|
// @ts-check
|
||||||
|
|
||||||
|
/** @type {import('@playwright/test').PlaywrightTestConfig} */
|
||||||
|
const config = {
|
||||||
|
retries: 1,
|
||||||
|
use: {
|
||||||
|
trace: 'on-first-retry',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = config;
|
||||||
|
```
|
||||||
|
|
||||||
|
```js js-flavor=ts
|
||||||
|
import { PlaywrightTestConfig } from '@playwright/test';
|
||||||
|
const config: PlaywrightTestConfig = {
|
||||||
|
retries: 1,
|
||||||
|
use: {
|
||||||
|
trace: 'on-first-retry',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
export default config;
|
||||||
|
```
|
||||||
|
|
||||||
|
```js js-flavor=library
|
||||||
const browser = await chromium.launch();
|
const browser = await chromium.launch();
|
||||||
const context = await browser.newContext();
|
const context = await browser.newContext();
|
||||||
|
|
||||||
|
|
@ -27,6 +53,21 @@ await page.goto('https://playwright.dev');
|
||||||
await context.tracing.stop({ path: 'trace.zip' });
|
await context.tracing.stop({ path: 'trace.zip' });
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You can also use `trace: 'retain-on-failure'` if you do not enable retries but still want traces for failed tests.
|
||||||
|
|
||||||
|
Available options to record a trace:
|
||||||
|
- `'off'` - Do not record a trace.
|
||||||
|
- `'on'` - Record a trace for each test.
|
||||||
|
- `'retain-on-failure'` - Record a trace for each test, but remove it from successful test runs.
|
||||||
|
- `'on-first-retry'` - Record a trace only when retrying a test for the first time.
|
||||||
|
|
||||||
|
If you are not using Playwright Test, use the [`property: BrowserContext.tracing`] API instead.
|
||||||
|
|
||||||
|
## Recording a trace
|
||||||
|
* langs: java, csharp, python
|
||||||
|
|
||||||
|
Traces can be recorded using the [`property: BrowserContext.tracing`] API as follows:
|
||||||
|
|
||||||
```java
|
```java
|
||||||
Browser browser = browserType.launch();
|
Browser browser = browserType.launch();
|
||||||
BrowserContext context = browser.newContext();
|
BrowserContext context = browser.newContext();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue