Skip to content

Commit 7e48133

Browse files
author
rocketraccoon
committed
feat(testplane): fixes
1 parent c18d65e commit 7e48133

File tree

6 files changed

+52
-132
lines changed

6 files changed

+52
-132
lines changed

docs/commands/browser/restoreState.mdx

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
1-
import Admonition from "@theme/Admonition";
2-
31
# restoreState
42

53
## Overview {#overview}
64

75
Browser command that restores session state (cookies, local and session storages) from a file or variable.
86

9-
<Admonition type="warning">
10-
If you are using the `webdriver` automation protocol, you have to provide `webSocketUrl: true`
11-
in `desiredCapabilities` in config browser settings. For the `devtools` protocol, you don't need
12-
additional settings.
13-
</Admonition>
14-
157
## Usage {#usage}
168

17-
You can restore state from file (using the `path` param) or from object (using the `data` param).
18-
But if you provide both, the file will have the highest priority.
19-
Also, you can provide `cookies`, `localStorage` and `sessionStorage` params to restore only what you need.
20-
Data for restore state you can get from the [saveState](../saveState) command.
9+
You can restore the browser state from either a file (using the `path` parameter) or directly from an object (using the `data` parameter).
10+
11+
**Important:** If you provide both `path` and `data` parameters, the file specified in `path` will take priority.
12+
13+
You can optionally specify which storage types to restore using the `cookies`, `localStorage`, and `sessionStorage` parameters. This allows you to restore only the specific data you need.
14+
15+
The state data for restoration can be obtained from the [saveState](../saveState) command.
2116

2217
```typescript
2318
await browser.restoreState({
@@ -36,12 +31,12 @@ await browser.restoreState({
3631
<tr><td>**Name**</td><td>**Type**</td><td>**Description**</td></tr>
3732
</thead>
3833
<tbody>
39-
<tr><td>path</td><td>String</td><td>Path to file with state.</td></tr>
40-
<tr><td>data</td><td>SaveStateData</td><td>Object with state.</td></tr>
41-
<tr><td>cookies</td><td>Boolean</td><td>Enable restore cookies (true by default).</td></tr>
42-
<tr><td>localStorage</td><td>Boolean</td><td>Enable restore localStorage (true by default).</td></tr>
43-
<tr><td>sessionStorage</td><td>Boolean</td><td>Enable restore sessionStorage (true by default).</td></tr>
44-
<tr><td>cookieFilter</td><td>(cookie: Cookie) => boolean</td><td>Function for filtering cookies, receiving cookie objects, and returning boolean.</td></tr>
34+
<tr><td>path</td><td>`string`</td><td>Path to file with state.</td></tr>
35+
<tr><td>data</td><td>`SaveStateData`</td><td>Object with state.</td></tr>
36+
<tr><td>cookies</td><td>`boolean`</td><td>Enable restore cookies (true by default).</td></tr>
37+
<tr><td>localStorage</td><td>`boolean`</td><td>Enable restore localStorage (true by default).</td></tr>
38+
<tr><td>sessionStorage</td><td>`boolean`</td><td>Enable restore sessionStorage (true by default).</td></tr>
39+
<tr><td>cookieFilter</td><td>`(cookie: Cookie) => boolean`</td><td>Function for filtering cookies, receiving cookie objects, and returning boolean.</td></tr>
4540

4641
</tbody>
4742

docs/commands/browser/saveState.mdx

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
import Admonition from "@theme/Admonition";
2-
31
# saveState
42

53
## Overview {#overview}
64

75
Browser command that saves session state (cookies, local and session storages).
86

9-
<Admonition type="warning">
10-
If you are using the `webdriver` automation protocol, you have to provide `webSocketUrl: true`
11-
in `desiredCapabilities` in config browser settings. For the `devtools` protocol, you don't need
12-
additional settings.
13-
</Admonition>
14-
157
## Usage {#usage}
168

17-
Command return state dump from page; it will include cookie, localStorage, and sessionStorage.
18-
But using params, you can disable some data.
19-
Also, if you provide the `path` param, you can get a dump in a file.
20-
After saving the state, you can use it in the [restoreState](../restoreState) command.
9+
This command returns a state of the page state, including cookies, localStorage, and sessionStorage.
10+
You can use parameters to exclude specific types of data if needed.
11+
12+
If you provide the `path` parameter, the state dump will be saved to a file.
13+
The saved state can later be restored using the [restoreState](../restoreState) command.
2114

2215
```typescript
2316
import type { SaveStateData } from "testplane";
@@ -37,11 +30,11 @@ const stateDump: SaveStateData = await browser.saveState({
3730
<tr><td>**Name**</td><td>**Type**</td><td>**Description**</td></tr>
3831
</thead>
3932
<tbody>
40-
<tr><td>path</td><td>String</td><td>Path to file where state will be saved.</td></tr>
41-
<tr><td>cookies</td><td>Boolean</td><td>Enable save cookies (true by default).</td></tr>
42-
<tr><td>localStorage</td><td>Boolean</td><td>Enable save localStorage (true by default).</td></tr>
43-
<tr><td>sessionStorage</td><td>Boolean</td><td>Enable save sessionStorage (true by default).</td></tr>
44-
<tr><td>cookieFilter</td><td>(cookie: Cookie) => boolean</td><td>Function for filtering cookies, receiving cookie objects, and returning boolean.</td></tr>
33+
<tr><td>path</td><td>`string`</td><td>Path to file where state will be saved.</td></tr>
34+
<tr><td>cookies</td><td>`boolean`</td><td>Enable save cookies (true by default).</td></tr>
35+
<tr><td>localStorage</td><td>`boolean`</td><td>Enable save localStorage (true by default).</td></tr>
36+
<tr><td>sessionStorage</td><td>`boolean`</td><td>Enable save sessionStorage (true by default).</td></tr>
37+
<tr><td>cookieFilter</td><td>`(cookie: Cookie) => boolean`</td><td>Function for filtering cookies, receiving cookie objects, and returning boolean.</td></tr>
4538

4639
</tbody>
4740

docs/config/after-all.mdx

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,15 @@ The context of the function is the Testplane config. Also function receive confi
88

99
## Usage Example {#example}
1010

11-
Here is an example of suing this hook for logout.
11+
Here is an example of using this hook to remove a file with a page state.
1212

1313
```typescript title="testplane.config.ts"
14-
import { launchBrowser } from "testplane/unstable";
14+
import * as fs from "fs";
1515

1616
export default {
1717
// ...
18-
browsers: {
19-
chrome: {
20-
headless: true,
21-
desiredCapabilities: {
22-
webSocketUrl: true,
23-
browserName: "chrome",
24-
},
25-
},
26-
firefox: {
27-
headless: true,
28-
desiredCapabilities: {
29-
webSocketUrl: true,
30-
browserName: "firefox",
31-
},
32-
},
33-
},
3418
afterAll: async () => {
35-
// launch a new browser with existing config
36-
const browser = await launchBrowser(this.config.browsers.chrome);
37-
38-
await browser.url("https://example.com");
39-
40-
// login using saved state
41-
await browser.restoreState({
42-
path: "./dump.json",
43-
});
44-
45-
// do logout things (press logout button etc.)
46-
47-
await browser.deleteSession();
19+
await fs.unlink("./dump.json");
4820
},
4921
};
5022
```

i18n/ru/docusaurus-plugin-content-docs/current/commands/browser/restoreState.mdx

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,18 @@
1-
import Admonition from "@theme/Admonition";
2-
31
# restoreState
42

53
## Обзор {#overview}
64

75
Команда для восстановления данных (cookies, local and session storages) из файла или объекта.
86

9-
<Admonition type="warning">
10-
Если вы используете `webdriver` automation protocol вы должны установить `webSocketUrl: true` в
11-
`desiredCapabilities` для браузера в конфиге. Для `devtools` protocol не нужно дополнительных
12-
настроек.
13-
</Admonition>
14-
157
## Использование {#usage}
168

17-
Вы можете восстановить данные из файла (используя параметр `path`) или из объекта (используя параметр`data`)
18-
Но если вы укажете оба параметра то данные восстановятся из файла.
19-
Так же вы можете указать параметры `cookies`, `localStorage` и `sessionStorage` что бы восстановить только нужные данные.
20-
Данные для восстановления вы можете получить из команды [saveState](../saveState).
9+
Вы можете восстановить состояние браузера из файла (с помощью параметра `path`) или непосредственно из объекта (с помощью параметра `data`).
10+
11+
**Важно:** Если вы указали оба параметра `path` и `data`, приоритет будет у файла, указанного в `path`.
12+
13+
При необходимости вы можете указать, какие типы данных восстановить, используя параметры `cookies`, `localStorage` и `sessionStorage`. Это позволяет восстановить только те данные, которые вам нужны.
14+
15+
Данные для восстановления состояния можно получить с помощью команды [saveState](../saveState).
2116

2217
## Параметры команды {#parameters}
2318

@@ -26,12 +21,12 @@ import Admonition from "@theme/Admonition";
2621
<tr><td>**Имя**</td><td>**Тип**</td><td>**Описание**</td></tr>
2722
</thead>
2823
<tbody>
29-
<tr><td>path</td><td>String</td><td>Путь к файлу с данными.</td></tr>
30-
<tr><td>data</td><td>SaveStateData</td><td>Объект с данными.</td></tr>
31-
<tr><td>cookies</td><td>Boolean</td><td>Включить восстановление кук (true по умолчанию).</td></tr>
32-
<tr><td>localStorage</td><td>Boolean</td><td>Включить восстановление localStorage (true по умолчанию).</td></tr>
33-
<tr><td>sessionStorage</td><td>Boolean</td><td>Включить восстановление sessionStorage (true по умолчанию).</td></tr>
34-
<tr><td>cookieFilter</td><td>(cookie: Cookie) => boolean</td><td>Функция для фильтрации кук, принимает объект куки и возвращает boolean.</td></tr>
24+
<tr><td>path</td><td>`string`</td><td>Путь к файлу с данными.</td></tr>
25+
<tr><td>data</td><td>`SaveStateData`</td><td>Объект с данными.</td></tr>
26+
<tr><td>cookies</td><td>`boolean`</td><td>Включить восстановление кук (true по умолчанию).</td></tr>
27+
<tr><td>localStorage</td><td>`boolean`</td><td>Включить восстановление localStorage (true по умолчанию).</td></tr>
28+
<tr><td>sessionStorage</td><td>`boolean`</td><td>Включить восстановление sessionStorage (true по умолчанию).</td></tr>
29+
<tr><td>cookieFilter</td><td>`(cookie: Cookie) => boolean`</td><td>Функция для фильтрации кук, принимает объект куки и возвращает boolean.</td></tr>
3530

3631
</tbody>
3732

i18n/ru/docusaurus-plugin-content-docs/current/commands/browser/saveState.mdx

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
import Admonition from "@theme/Admonition";
2-
31
# saveState
42

53
## Обзор {#overview}
64

75
Команда для сохранения состояния страницы (cookies, local и session storages).
86

9-
<Admonition type="warning">
10-
Если вы используете `webdriver` automation protocol вы должны установить `webSocketUrl: true` в
11-
`desiredCapabilities` для браузера в конфиге. Для `devtools` protocol не нужно дополнительных
12-
настроек.
13-
</Admonition>
14-
157
## Использование {#usage}
168

17-
Команда вернёт объект включающий cookie, localStorage и sessionStorage.
18-
Используя параметры вы можете выключить сохранение отдельных данных.
19-
Так же вы можете указать параметр `path` и получить файл с данными.
20-
После сохранения вы можете использовать результат в команде [restoreState](../restoreState).
9+
Эта команда возвращает снимок состояния страницы, включая cookies, localStorage и sessionStorage.
10+
С помощью параметров вы можете при необходимости исключить определённые типы данных.
11+
12+
Если вы укажете параметр `path`, снимок состояния будет сохранён в файл.
13+
Сохранённое состояние можно впоследствии восстановить с помощью команды [restoreState](../restoreState).
2114

2215
```typescript
2316
import type { SaveStateData } from "testplane";
@@ -37,11 +30,11 @@ const stateDump: SaveStateData = await browser.saveState({
3730
<tr><td>**Имя**</td><td>**Тип**</td><td>**Описание**</td></tr>
3831
</thead>
3932
<tbody>
40-
<tr><td>path</td><td>String</td><td>Путь где будет сохранён файл с данными.</td></tr>
41-
<tr><td>cookies</td><td>Boolean</td><td>Включить сохранение кук (true по умолчанию).</td></tr>
42-
<tr><td>localStorage</td><td>Boolean</td><td>Включить сохранение localStorage (true по умолчанию).</td></tr>
43-
<tr><td>sessionStorage</td><td>Boolean</td><td>Включить сохранение sessionStorage (true по умолчанию).</td></tr>
44-
<tr><td>cookieFilter</td><td>(cookie: Cookie) => boolean</td><td>Функция для фильтрации кук, принимает объект куки и возвращает boolean.</td></tr>
33+
<tr><td>path</td><td>`string`</td><td>Путь где будет сохранён файл с данными.</td></tr>
34+
<tr><td>cookies</td><td>`boolean`</td><td>Включить сохранение кук (true по умолчанию).</td></tr>
35+
<tr><td>localStorage</td><td>`boolean`</td><td>Включить сохранение localStorage (true по умолчанию).</td></tr>
36+
<tr><td>sessionStorage</td><td>`boolean`</td><td>Включить сохранение sessionStorage (true по умолчанию).</td></tr>
37+
<tr><td>cookieFilter</td><td>`(cookie: Cookie) => boolean`</td><td>Функция для фильтрации кук, принимает объект куки и возвращает boolean.</td></tr>
4538

4639
</tbody>
4740

i18n/ru/docusaurus-plugin-content-docs/current/config/after-all.mdx

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,43 +8,15 @@
88

99
## Пример использования {#example}
1010

11-
Пример разлогина после выполнения тестов.
11+
Пример удаления файла с состоянием страницы после выполнения тестов.
1212

1313
```typescript title="testplane.config.ts"
14-
import { launchBrowser } from "testplane/unstable";
14+
import * as fs from "fs";
1515

1616
export default {
1717
// ...
18-
browsers: {
19-
chrome: {
20-
headless: true,
21-
desiredCapabilities: {
22-
webSocketUrl: true,
23-
browserName: "chrome",
24-
},
25-
},
26-
firefox: {
27-
headless: true,
28-
desiredCapabilities: {
29-
webSocketUrl: true,
30-
browserName: "firefox",
31-
},
32-
},
33-
},
3418
afterAll: async () => {
35-
// launch a new browser with existing config
36-
const browser = await launchBrowser(this.config.browsers.chrome);
37-
38-
await browser.url("https://example.com");
39-
40-
// login using saved state
41-
await browser.restoreState({
42-
path: "./dump.json",
43-
});
44-
45-
// do logout things (press logout button etc.)
46-
47-
await browser.deleteSession();
19+
fs.unlinkSync("dump.json");
4820
},
4921
};
5022
```

0 commit comments

Comments
 (0)