|
| None | install (self, *typing.Optional[typing.Union[float, str, datetime.datetime]] time=None) |
| |
| None | fast_forward (self, typing.Union[int, str] ticks) |
| |
| None | pause_at (self, typing.Union[float, str, datetime.datetime] time) |
| |
| None | resume (self) |
| |
| None | run_for (self, typing.Union[int, str] ticks) |
| |
| None | set_fixed_time (self, typing.Union[float, str, datetime.datetime] time) |
| |
| None | set_system_time (self, typing.Union[float, str, datetime.datetime] time) |
| |
| None | __init__ (self, Any impl_obj) |
| |
|
str | __str__ (self) |
| |
| None | on (self, Any event, Any f) |
| |
| None | once (self, Any event, Any f) |
| |
| None | remove_listener (self, Any event, Any f) |
| |
|
str | __repr__ (self) |
| |
|
|
Any | _sync (self, Union[Coroutine[Any, Any, Any], Generator[Any, Any, Any]] coro) |
| |
|
Callable[..., None] | _wrap_handler (self, Union[Callable[..., Any], Any] handler) |
| |
|
| _dispatcher_fiber |
| |
|
| _loop |
| |
|
| _impl_obj |
| |
◆ fast_forward()
| None playwright.sync_api._generated.Clock.fast_forward |
( |
|
self, |
|
|
typing.Union[int, str] |
ticks |
|
) |
| |
Clock.fast_forward
Advance the clock by jumping forward in time. Only fires due timers at most once. This is equivalent to user
closing the laptop lid for a while and reopening it later, after given time.
**Usage**
```py
page.clock.fast_forward(1000)
page.clock.fast_forward(\"30:00\")
```
Parameters
----------
ticks : Union[int, str]
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
◆ install()
| None playwright.sync_api._generated.Clock.install |
( |
|
self, |
|
|
*typing.Optional[typing.Union[float, str, datetime.datetime]] |
time = None |
|
) |
| |
Clock.install
Install fake implementations for the following time-related functions:
- `Date`
- `setTimeout`
- `clearTimeout`
- `setInterval`
- `clearInterval`
- `requestAnimationFrame`
- `cancelAnimationFrame`
- `requestIdleCallback`
- `cancelIdleCallback`
- `performance`
Fake timers are used to manually control the flow of time in tests. They allow you to advance time, fire timers,
and control the behavior of time-dependent functions. See `clock.run_for()` and
`clock.fast_forward()` for more information.
Parameters
----------
time : Union[datetime.datetime, float, str, None]
Time to initialize with, current system time by default.
◆ pause_at()
| None playwright.sync_api._generated.Clock.pause_at |
( |
|
self, |
|
|
typing.Union[float, str, datetime.datetime] |
time |
|
) |
| |
Clock.pause_at
Advance the clock by jumping forward in time and pause the time. Once this method is called, no timers are fired
unless `clock.run_for()`, `clock.fast_forward()`, `clock.pause_at()` or
`clock.resume()` is called.
Only fires due timers at most once. This is equivalent to user closing the laptop lid for a while and reopening it
at the specified time and pausing.
**Usage**
```py
page.clock.pause_at(datetime.datetime(2020, 2, 2))
page.clock.pause_at(\"2020-02-02\")
```
For best results, install the clock before navigating the page and set it to a time slightly before the intended
test time. This ensures that all timers run normally during page loading, preventing the page from getting stuck.
Once the page has fully loaded, you can safely use `clock.pause_at()` to pause the clock.
```py
# Initialize clock with some time before the test time and let the page load
# naturally. `Date.now` will progress as the timers fire.
page.clock.install(time=datetime.datetime(2024, 12, 10, 8, 0, 0))
page.goto(\"http://localhost:3333\")
page.clock.pause_at(datetime.datetime(2024, 12, 10, 10, 0, 0))
```
Parameters
----------
time : Union[datetime.datetime, float, str]
Time to pause at.
◆ resume()
| None playwright.sync_api._generated.Clock.resume |
( |
|
self | ) |
|
Clock.resume
Resumes timers. Once this method is called, time resumes flowing, timers are fired as usual.
◆ run_for()
| None playwright.sync_api._generated.Clock.run_for |
( |
|
self, |
|
|
typing.Union[int, str] |
ticks |
|
) |
| |
Clock.run_for
Advance the clock, firing all the time-related callbacks.
**Usage**
```py
page.clock.run_for(1000);
page.clock.run_for(\"30:00\")
```
Parameters
----------
ticks : Union[int, str]
Time may be the number of milliseconds to advance the clock by or a human-readable string. Valid string formats are
"08" for eight seconds, "01:00" for one minute and "02:34:10" for two hours, 34 minutes and ten seconds.
◆ set_fixed_time()
| None playwright.sync_api._generated.Clock.set_fixed_time |
( |
|
self, |
|
|
typing.Union[float, str, datetime.datetime] |
time |
|
) |
| |
Clock.set_fixed_time
Makes `Date.now` and `new Date()` return fixed fake time at all times, keeps all the timers running.
Use this method for simple scenarios where you only need to test with a predefined time. For more advanced
scenarios, use `clock.install()` instead. Read docs on [clock emulation](https://playwright.dev/python/docs/clock) to learn more.
**Usage**
```py
page.clock.set_fixed_time(datetime.datetime.now())
page.clock.set_fixed_time(datetime.datetime(2020, 2, 2))
page.clock.set_fixed_time(\"2020-02-02\")
```
Parameters
----------
time : Union[datetime.datetime, float, str]
Time to be set.
◆ set_system_time()
| None playwright.sync_api._generated.Clock.set_system_time |
( |
|
self, |
|
|
typing.Union[float, str, datetime.datetime]
|
time |
|
) |
| |
Clock.set_system_time
Sets system time, but does not trigger any timers. Use this to test how the web page reacts to a time shift, for
example switching from summer to winter time, or changing time zones.
**Usage**
```py
page.clock.set_system_time(datetime.datetime.now())
page.clock.set_system_time(datetime.datetime(2020, 2, 2))
page.clock.set_system_time(\"2020-02-02\")
```
Parameters
----------
time : Union[datetime.datetime, float, str]
Time to be set.
The documentation for this class was generated from the following file:
- docs/help/help-venv/lib/python3.12/site-packages/playwright/sync_api/_generated.py