Skip to content

Commit bd899ad

Browse files
authored
docs: update testplane config docs (#26)
* docs: refactor config docs
1 parent 0d95988 commit bd899ad

40 files changed

+2764
-1635
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<table>
2+
<thead>
3+
<tr>
4+
<td>**Опция**</td>
5+
<td>**Тип**</td>
6+
<td>**Описание**</td>
7+
</tr>
8+
</thead>
9+
<tbody>
10+
<tr>
11+
<td>ignoreElements</td>
12+
<td>Array или String</td>
13+
<td>
14+
Элементы (задаются как селекторы), которые будут проигнорированы при сравнении
15+
скриншотов. Игнор реализуется с помощью закраски перечисленных элементов черным
16+
цветом. В случае одного элемента параметр можно задавать как строку.
17+
</td>
18+
</tr>
19+
<tr>
20+
<td>tolerance</td>
21+
<td>Number</td>
22+
<td>Чувствительность к разнице в цветам.</td>
23+
</tr>
24+
<tr>
25+
<td>antialiasingTolerance</td>
26+
<td>Number</td>
27+
<td>Чувствительность в антиалиасинге.</td>
28+
</tr>
29+
<tr>
30+
<td>allowViewportOverflow</td>
31+
<td>Boolean</td>
32+
<td>
33+
По умолчанию Testplane выдает ошибку, если элемент находится за пределами границ
34+
вьюпорта. Этот параметр отключает проверку на границы, позволяя снимать скриншоты
35+
элементов, не влезающих во вьюпорт. При этом на скриншоте будут видны только те
36+
части элемента, которые влезли во вьюпорт. Однако если _compositeImage_ равен
37+
_true_, то части элемента, которые оказались за _нижней_ границей вьюпорта, тоже
38+
будут видны на скриншоте. Аналогично если _captureElementFromTop_ равен _true_, то
39+
на скриншот попадут и те части элемента, которые оказались за пределами _верхней_
40+
границы вьюпорта.
41+
</td>
42+
</tr>
43+
<tr>
44+
<td>captureElementFromTop</td>
45+
<td>Boolean</td>
46+
<td>
47+
Снимать скриншот элемента с самого верха. Если элемент находится за пределами
48+
вьюпорта, то к нему будет выполнен подскролл.
49+
</td>
50+
</tr>
51+
<tr>
52+
<td>compositeImage</td>
53+
<td>Boolean</td>
54+
<td>
55+
Если элемент не влазит во вьюпорт, то при включении этой опции поочередно будет
56+
сделано несколько скриншотов разных частей элемента, после чего скриншоты будут
57+
склеены в один, чтобы отобразить элемент полностью.
58+
</td>
59+
</tr>
60+
<tr>
61+
<td>screenshotDelay</td>
62+
<td>Number</td>
63+
<td>
64+
Задержка в миллисекундах перед снятием скриншота. Может пригодиться, когда на
65+
странице есть элементы, использующие анимацию, или скроллбар, который исчезает не
66+
сразу и попадает на результирующий скриншот.
67+
</td>
68+
</tr>
69+
<tr>
70+
<td>selectorToScroll</td>
71+
<td>String</td>
72+
<td>
73+
Селектор, который нужно скроллировать. Может пригодиться, когда надо сделать
74+
скриншот модального окна, которое не помещается на экране. Иначе без указания
75+
селектора скролл будет применяться к объекту _window_, и скроллироваться будет
76+
задний фон, оставляя попап-окно на месте.
77+
</td>
78+
</tr>
79+
<tr>
80+
<td>disableAnimation</td>
81+
<td>Boolean</td>
82+
<td>
83+
Отключение анимаций и переходов при снятии скриншота. По умолчанию `true` начиная с
84+
версии `8.0.0`
85+
</td>
86+
</tr>
87+
<tr>
88+
<td>ignoreDiffPixelCount</td>
89+
<td>`` `${number}%` `` или Number</td>
90+
<td>
91+
Процент пикселей, которые нужно игнорировать при диффе. Удобно для игнорирования
92+
очень маленьких диффов. По умолчанию `0`. Доступен начиная с версии `8.2.0`
93+
</td>
94+
</tr>
95+
</tbody>
96+
</table>

docs/commands/element/assertView.mdx

+2-102
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Admonition from "@theme/Admonition";
2+
import AssertViewOptions from "@site/docs/_partials/specs/assert-view-options.mdx";
23

34
# assertView
45

@@ -42,108 +43,7 @@ await browser.$(selector).assertView(state, options);
4243

4344
Задает настройки команды `assertView`:
4445

45-
<table>
46-
<thead>
47-
<tr>
48-
<td>**Опция**</td>
49-
<td>**Тип**</td>
50-
<td>**Описание**</td>
51-
</tr>
52-
</thead>
53-
<tbody>
54-
<tr>
55-
<td>ignoreElements</td>
56-
<td>Array или String</td>
57-
<td>
58-
Элементы (задаются как селекторы), которые будут проигнорированы при сравнении
59-
скриншотов. Игнор реализуется с помощью закраски перечисленных элементов черным
60-
цветом. В случае одного элемента параметр можно задавать как строку.
61-
</td>
62-
</tr>
63-
<tr>
64-
<td>tolerance</td>
65-
<td>Number</td>
66-
<td>
67-
Чувствительность к разнице в цветам. Значение перетирает
68-
[browsers.tolerance][browsers-tolerance].
69-
</td>
70-
</tr>
71-
<tr>
72-
<td>antialiasingTolerance</td>
73-
<td>Number</td>
74-
<td>
75-
Чувствительность в антиалиасинге. Значение перетирает
76-
[browsers.antialiasingTolerance][browsers-antialiasing-tolerance].
77-
</td>
78-
</tr>
79-
<tr>
80-
<td>allowViewportOverflow</td>
81-
<td>Boolean</td>
82-
<td>
83-
По умолчанию Testplane выдает ошибку, если элемент находится за пределами границ
84-
вьюпорта. Этот параметр отключает проверку на границы, позволяя снимать скриншоты
85-
элементов, не влезающих во вьюпорт. При этом на скриншоте будут видны только те
86-
части элемента, которые влезли во вьюпорт. Однако если _compositeImage_ равен
87-
_true_, то части элемента, которые оказались за _нижней_ границей вьюпорта, тоже
88-
будут видны на скриншоте. Аналогично если _captureElementFromTop_ равен _true_, то
89-
на скриншот попадут и те части элемента, которые оказались за пределами _верхней_
90-
границы вьюпорта.
91-
</td>
92-
</tr>
93-
<tr>
94-
<td>captureElementFromTop</td>
95-
<td>Boolean</td>
96-
<td>
97-
Снимать скриншот элемента с самого верха. Если элемент находится за пределами
98-
вьюпорта, то к нему будет выполнен подскролл.
99-
</td>
100-
</tr>
101-
<tr>
102-
<td>compositeImage</td>
103-
<td>Boolean</td>
104-
<td>
105-
Если элемент не влазит во вьюпорт, то при включении этой опции поочередно будет
106-
сделано несколько скриншотов разных частей элемента, после чего скриншоты будут
107-
склеены в один, чтобы отобразить элемент полностью.
108-
</td>
109-
</tr>
110-
<tr>
111-
<td>screenshotDelay</td>
112-
<td>Number</td>
113-
<td>
114-
Задержка в миллисекундах перед снятием скриншота. Может пригодиться, когда на
115-
странице есть элементы, использующие анимацию, или скроллбар, который исчезает не
116-
сразу и попадает на результирующий скриншот.
117-
</td>
118-
</tr>
119-
<tr>
120-
<td>selectorToScroll</td>
121-
<td>String</td>
122-
<td>
123-
Селектор, который нужно скроллировать. Может пригодиться, когда надо сделать
124-
скриншот модального окна, которое не помещается на экране. Иначе без указания
125-
селектора скролл будет применяться к объекту _window_, и скроллироваться будет
126-
задний фон, оставляя попап-окно на месте.
127-
</td>
128-
</tr>
129-
<tr>
130-
<td>disableAnimation</td>
131-
<td>Boolean</td>
132-
<td>
133-
Отключение анимаций и переходов при снятии скриншота. По умолчанию `true` начиная с
134-
версии `8.0.0`
135-
</td>
136-
</tr>
137-
<tr>
138-
<td>ignoreDiffPixelCount</td>
139-
<td>`` `${number}%` `` или Number</td>
140-
<td>
141-
Процент пикселей, которые нужно игнорировать при диффе. Удобно для игнорирования
142-
очень маленьких диффов. По умолчанию `0`. Доступен начиная с версии `8.2.0`
143-
</td>
144-
</tr>
145-
</tbody>
146-
</table>
46+
<AssertViewOptions />
14747

14848
## Примеры использования {#examples}
14949

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
browsers: {
6+
"<browser-id>": {
7+
desiredCapabilities: {
8+
browserName: "<browser-name>",
9+
// ...
10+
},
11+
// ...
12+
},
13+
},
14+
} satisfies ConfigInput;
15+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
browsers: {
6+
chrome: {
7+
desiredCapabilities: {
8+
browserName: "chrome",
9+
browserVersion: "125.0",
10+
"goog:chromeOptions": {
11+
args: ["--hide-scrollbars", "--headless=new"],
12+
},
13+
},
14+
},
15+
},
16+
} satisfies ConfigInput;
17+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
sessionsPerBrowser: 10,
6+
browsers: {
7+
chrome: {
8+
/* ... */
9+
},
10+
firefox: {
11+
// ...
12+
sessionsPerBrowser: 5,
13+
},
14+
},
15+
} satisfies ConfigInput;
16+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
browsers: {
6+
"chrome-phone": {
7+
// ...
8+
sessionEnvFlags: {
9+
isMobile: true,
10+
},
11+
},
12+
},
13+
} satisfies ConfigInput;
14+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
retry: process.env.IS_CI ? 5 : 0,
6+
7+
httpTimeout: 60_000,
8+
sessionsPerBrowser: 5,
9+
testsPerSession: 20,
10+
11+
browsers: {
12+
chrome: {
13+
desiredCapabilities: {
14+
browserName: "chrome",
15+
automationProtocol: "devtools",
16+
headless: true,
17+
},
18+
},
19+
},
20+
sets: {
21+
desktop: {
22+
files: ["testplane-tests/**/*.testplane.(t|j)s"],
23+
browsers: ["chrome"],
24+
},
25+
},
26+
plugins: {
27+
"html-reporter/testplane": {
28+
enabled: true,
29+
},
30+
},
31+
} satisfies ConfigInput;
32+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
const SERVER_PORT = 3000;
5+
6+
export default {
7+
// ...
8+
devServer: {
9+
command: "npm run server:dev",
10+
env: { PORT: SERVER_PORT },
11+
readinessProbe: {
12+
url: `http://localhost:${SERVER_PORT}/health`,
13+
timeouts: {
14+
// optional
15+
waitServerTimeout: 60_000, // default value
16+
},
17+
},
18+
},
19+
};
20+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
// ...
6+
lastFailed: {
7+
only: false,
8+
input: [".testplane/failed.json"],
9+
output: ".testplane/failed.json",
10+
},
11+
} satisfies ConfigInput;
12+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
browsers: {
6+
chrome: {
7+
desiredCapabilities: {
8+
browserName: "chrome",
9+
},
10+
},
11+
},
12+
} satisfies ConfigInput;
13+
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
```typescript title="testplane.config.ts"
2+
import type { ConfigInput } from "testplane";
3+
4+
export default {
5+
// ...
6+
plugins: {
7+
"my-cool-plugin": {
8+
param: "some-value",
9+
},
10+
},
11+
} satisfies ConfigInput;
12+
```
13+
14+
```typescript title="testplane-my-cool-plugin/index.ts"
15+
exports = function (testplane, opts) {
16+
testplane.on(testplane.events.RUNNER_START, function (runner) {
17+
console.info(opts.param); // some-value
18+
19+
return setUp(testplane.config, opts.param);
20+
});
21+
22+
testplane.on(testplane.events.RUNNER_END, function () {
23+
return tearDown();
24+
});
25+
};
26+
```

0 commit comments

Comments
 (0)