Skip to content

Commit 7e531b0

Browse files
author
rocketraccoon
committed
feat(testplane): docs for saveState and restoreState
1 parent 8502bda commit 7e531b0

File tree

4 files changed

+188
-0
lines changed

4 files changed

+188
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# restoreState
2+
3+
## Overview {#overview}
4+
5+
Browser command that restore session state (cookies, local and session storages) from file or variable.
6+
7+
<Admonition type="warning">
8+
If you are using `webdriver` automation protocol you have to provide `webSocketUrl: true` in `desiredCapabilities` in config browser settings.
9+
For `devtools` protocol don't need additional settings.
10+
</Admonition>
11+
12+
## Usage {#usage}
13+
14+
You can restore state from file (using `path` param) or from object (using `data` param)
15+
But if you provide both, file have a highest priority.
16+
Also you can provide `cookies`, `localStorage` and `sessionStorage` params for restore only that what you need.
17+
Data for restore state you can get from [saveState](../saveState) command.
18+
19+
```typescript
20+
await browser.restoreState({
21+
path: './stateDump.json',
22+
data: stateDump,
23+
cookies: true,
24+
localStorage: true,
25+
sessionStorage: true,
26+
});
27+
```
28+
29+
## Usage Examples {#examples}
30+
31+
Restore state from file
32+
```typescript
33+
it("test", async ({ browser }) => {
34+
await browser.url("https://github.com/gemini-testing/testplane");
35+
36+
await browser.restoreState({
37+
path: './stateDump.json',
38+
});
39+
40+
// Reload page for see auth result.
41+
await browser.refresh();
42+
});
43+
```
44+
45+
## Related Commands {#related}
46+
47+
- [saveState](../saveState)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import Admonition from "@theme/Admonition";
2+
3+
# saveState
4+
5+
## Overview {#overview}
6+
7+
Browser command that save session state (cookies, local and session storages).
8+
9+
<Admonition type="warning">
10+
If you are using `webdriver` automation protocol you have to provide `webSocketUrl: true` in `desiredCapabilities` in config browser settings.
11+
For `devtools` protocol don't need additional settings.
12+
</Admonition>
13+
14+
## Usage {#usage}
15+
16+
Command return state dump from page, it will include cookie, localStorage and sessionStorage.
17+
But using params you can disable some data.
18+
Also if you provide `path` param you can get dump in file.
19+
After save state you can use it in [restoreState](../restoreState) command.
20+
21+
```typescript
22+
import type { SaveStateData } from "testplane";
23+
24+
const stateDump: SaveStateData = await browser.saveState({
25+
path: './stateDump.json',
26+
cookies: true,
27+
localStorage: true,
28+
sessionStorage: true,
29+
});
30+
```
31+
32+
## Usage Examples {#examples}
33+
34+
Save state in file
35+
```typescript
36+
it("test", async ({ browser }) => {
37+
await browser.url("https://github.com/gemini-testing/testplane");
38+
39+
await browser.saveState({
40+
path: './stateDump.json',
41+
});
42+
});
43+
```
44+
45+
## Related Commands {#related}
46+
47+
- [restoreState](../restoreState)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# restoreState
2+
3+
## Обзор {#overview}
4+
5+
Команда для восстановления данных (cookies, local and session storages) из файла или объекта.
6+
7+
<Admonition type="warning">
8+
Если вы используете `webdriver` automation protocol вы должны установить `webSocketUrl: true` в `desiredCapabilities` для браузера в конфиге.
9+
Для `devtools` protocol не нужно дополнительных настроек.
10+
</Admonition>
11+
12+
## Использование {#usage}
13+
14+
Вы можете восстановить данные из файла (используя параметр `path`) или из объекта (используя параметр`data`)
15+
Но если вы укажете оба параметра то данные восстановятся из файла.
16+
Так же вы можете указать параметры `cookies`, `localStorage` и `sessionStorage` что бы восстановить только нуд=жные данные.
17+
Данные для восстановления вы моежете получить из команды [saveState](../saveState).
18+
19+
```typescript
20+
await browser.restoreState({
21+
path: './stateDump.json',
22+
data: stateDump,
23+
cookies: true,
24+
localStorage: true,
25+
sessionStorage: true,
26+
});
27+
```
28+
29+
## Примеры использования {#examples}
30+
31+
Восстановление данных из файла.
32+
```typescript
33+
it("test", async ({ browser }) => {
34+
await browser.url("https://github.com/gemini-testing/testplane");
35+
36+
await browser.restoreState({
37+
path: './stateDump.json',
38+
});
39+
40+
// Reload page for see auth result.
41+
await browser.refresh();
42+
});
43+
```
44+
45+
## Связанные команды {#related}
46+
47+
- [saveState](../saveState)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import Admonition from "@theme/Admonition";
2+
3+
# saveState
4+
5+
## Обзор {#overview}
6+
7+
Команда для сохранения состояния страницы (cookies, local и session storages).
8+
9+
<Admonition type="warning">
10+
Если вы используете `webdriver` automation protocol вы должны установить `webSocketUrl: true` в `desiredCapabilities` для браузера в конфиге.
11+
Для `devtools` protocol не нужно дополнительных настроек.
12+
</Admonition>
13+
14+
## Использование {#usage}
15+
16+
Команда вернёт объект включающий cookie, localStorage и sessionStorage.
17+
Используя параметры вы можете выключить сохранение отдельных данных.
18+
Так же вы можете указать параметр `path` и получить файл с данными.
19+
После сохранения вы можете использовать результат в команде [restoreState](../restoreState).
20+
21+
```typescript
22+
import type { SaveStateData } from "testplane";
23+
24+
const stateDump: SaveStateData = await browser.saveState({
25+
path: './stateDump.json',
26+
cookies: true,
27+
localStorage: true,
28+
sessionStorage: true,
29+
});
30+
```
31+
32+
## Примеры использования {#examples}
33+
34+
Сохранение данных в файл.
35+
```typescript
36+
it("test", async ({ browser }) => {
37+
await browser.url("https://github.com/gemini-testing/testplane");
38+
39+
await browser.saveState({
40+
path: './stateDump.json',
41+
});
42+
});
43+
```
44+
45+
## Связанные команды {#related}
46+
47+
- [restoreState](../restoreState)

0 commit comments

Comments
 (0)