-
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathBrowserContextInterface.php
More file actions
136 lines (105 loc) · 3.79 KB
/
BrowserContextInterface.php
File metadata and controls
136 lines (105 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
declare(strict_types=1);
/*
* This file is part of the community-maintained Playwright PHP project.
* It is not affiliated with or endorsed by Microsoft.
*
* (c) 2025-Present - Playwright PHP - https://github.com/playwright-php
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Playwright\Browser;
use Playwright\API\APIRequestContextInterface;
use Playwright\Network\NetworkThrottling;
use Playwright\Page\PageInterface;
interface BrowserContextInterface
{
/**
* @param array<array{name: string, value: string, url?: string, domain?: string, path?: string, expires?: int, httpOnly?: bool, secure?: bool, sameSite?: 'Strict'|'Lax'|'None'}> $cookies
*/
public function addCookies(array $cookies): void;
public function addInitScript(string $script): void;
/**
* @param array<array{domain: string, name: string, path: string}> $options
*/
public function clearCookies(array $options = []): void;
/**
* Delete all cookies with the given name across domain and path variants.
*/
public function deleteCookie(string $name): void;
public function clearPermissions(): void;
public function close(): void;
/**
* @param array<string>|null $urls
*
* @return array<array{name: string, value: string, domain: string, path: string, expires: int, httpOnly: bool, secure: bool, sameSite: 'Strict'|'Lax'|'None'}>
*/
public function cookies(?array $urls = null): array;
public function exposeBinding(string $name, callable $callback): void;
public function exposeFunction(string $name, callable $callback): void;
/**
* @param array<string> $permissions
*/
public function grantPermissions(array $permissions): void;
/**
* @param array<string, mixed> $options
*/
public function newPage(array $options = []): PageInterface;
/**
* @return array<PageInterface>
*/
public function pages(): array;
/**
* Get storage state as array (legacy method).
*
* @return array<string, mixed>
*/
public function storageState(?string $path = null): array;
/**
* Get storage state as StorageState object.
*/
public function getStorageState(): StorageState;
/**
* Load storage state from StorageState object.
*/
public function setStorageState(StorageState $storageState): void;
/**
* Save storage state to file.
*/
public function saveStorageState(string $filePath): void;
/**
* Load storage state from file.
*/
public function loadStorageState(string $filePath): void;
public function route(string $url, callable $handler): void;
public function unroute(string $url, ?callable $handler = null): void;
public function getEnv(string $name): ?string;
/**
* @param array<string, mixed> $options
*/
public function startTracing(PageInterface $page, array $options = []): void;
public function stopTracing(PageInterface $page, string $path): void;
/**
* Set network throttling configuration.
*/
public function setNetworkThrottling(NetworkThrottling $throttling): void;
/**
* Disable network throttling.
*/
public function disableNetworkThrottling(): void;
/**
* @return array<string, mixed>
*/
public function waitForEvent(string $event, ?callable $predicate = null, ?int $timeout = null): array;
/**
* @param array<string, mixed> $options
*/
public function waitForPopup(callable $action, array $options = []): PageInterface;
/**
* API testing helper associated with this context.
*
* Requests made with this API will use context cookies.
*/
public function request(): APIRequestContextInterface;
}