You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+65-66Lines changed: 65 additions & 66 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -159,7 +159,32 @@ trees:
159
159
160
160
## Автоматическое определение признака automationState
161
161
162
-
Вместе с информацией о функциональных требованиях можно выгружать информацию о том, что их проверка автоматизирована. Для некоторых видов автотестов реализовано автоматическое вычисление признака `automationState`. На текущий момент поддерживаются `jest` и `storybook`.
162
+
Вместе с информацией о функциональных требованиях можно выгружать информацию о том, что их проверка автоматизирована. Для некоторых видов автотестов реализовано автоматическое вычисление признака `automationState` на основе json отчета, полученного из инструмента тестирования. На текущий момент поддерживаются `storybook`, `jest`, `testplane` и `playwright`. Для каждого автоматизированного теста и теста из YML конфига формируется идентификатор для их сопастовления.
163
+
164
+
#### Идентификаторы тестов
165
+
166
+
Для каждого ФТ, описанного в yml файлах проекта, будет сформирован уникальный идентификатор на основе поля `"keys"`. Если в отчете есть тест, полное имя которого совпадает с идентификатором ФТ, то считается, что проверка этого ФТ — автоматизирована.
167
+
168
+
Например, если в проекте есть yml файл с содержимым, [указанным выше](#формат-yml) и поле `"keys"` в разделе `"storybook"`, `"jest"`, `"testplane"` или `"playwright"` конфигурационного файла имеет значение `["featureTitle", "groupTitle", "assertionTitle"]`, то указанная ниже история будет сопоставлена с ФТ `"Отображается количество и общая стоимость товаров в корзине"`:
169
+
170
+
```js
171
+
describe('Главная страница', () => {
172
+
describe('Блок корзины', () => {
173
+
it('Отображается количество и общая стоимость товаров в корзине', async ({ browser }) => {
174
+
// ...
175
+
});
176
+
});
177
+
});
178
+
```
179
+
В качестве частей идентификатора допустимо указывать следующие значения:
180
+
- `"featureTitle"`— название фичи
181
+
- `"featureCode"`— уникальный код фичи
182
+
- `"groupTitle"`— название группы ФТ
183
+
- `"assertionTitle"`— название ФТ
184
+
- `"filePath"`— путь к yml файлу, относительно корня проекта
185
+
- `"fileName"`— название yml файла без расширения (от начала до первого символа `.`)
186
+
- `@<attribute>`— значение указанного атрибута (идентификатор значения)
187
+
- `$<attribute>`— значение указанного атрибута (человеко-понятное название)
163
188
164
189
### Jest
165
190
@@ -183,30 +208,41 @@ jest --json --outputFile=jest-report.json
183
208
}
184
209
```
185
210
186
-
Для каждого ФТ, описанного в yml файлах проекта, будет сформирован уникальный идентификатор на основе поля `"keys"`. Если в отчете jest есть тест, полное имя которого совпадает с идентификатором ФТ, то считается, что проверка этого ФТ — автоматизирована.
211
+
### Testplane
187
212
188
-
Например, если в проекте есть yml файл с содержимым, [указанным выше](#формат-yml) и поле `"keys"` в разделе `"jest"` конфигурационного файла имеет значение `["featureTitle", "groupTitle", "assertionTitle"]`, то указанный ниже тест будет сопоставлен с ФТ `"Отображается количество и общая стоимость товаров в корзине"`:
213
+
Отчет о выполнении тестов можно сформировать, запустив testplane с плагином [json-reporter](https://www.npmjs.com/package/json-reporter)
214
+
215
+
Чтобы добавить в выгрузку ФТ информацию из отчета testplane, добавьте в корень [конфигурационного файла](#формат-конфига) секцию `"testplane"`:
189
216
190
217
```js
191
-
describe('Главная страница', () => {
192
-
describe('Блок корзины', () => {
193
-
test('Отображается количество и общая стоимость товаров в корзине', () => {
194
-
// ...
195
-
});
196
-
});
197
-
});
218
+
{
219
+
// ...
220
+
"testplane": {
221
+
// путь к файлу с отчетом о выполнении тестов
222
+
"reportPath": "testplane-report.json",
223
+
224
+
// сегменты идентификатора для сопоставления автотестов с ФТ
Поле `"keys"` работает таким же образом, как и для [конфигурации jest](#jest). Если в `index.json` есть стори, путь до которой в дереве сторей совпадает с идентификатором ФТ, то считается, что проверка этого ФТ — автоматизирована.
230
-
231
-
Например, если в проекте есть yml файл с содержимым, [указанным выше](#формат-yml) и поле `"keys"` в разделе `"storybook"` конфигурационного файла имеет значение `["featureTitle", "groupTitle", "assertionTitle"]`, то указанная ниже история будет сопоставлена с ФТ `"Отображается количество и общая стоимость товаров в корзине"`:
232
-
233
265
```js
234
266
import type { Meta, StoryObj } from '@storybook/react';
Для каждого ФТ, описанного в yml файлах проекта, будет сформирован уникальный идентификатор на основе поля `"keys"`. Если в отчете testplane есть тест, полное имя которого совпадает с идентификатором ФТ, то считается, что проверка этого ФТ — автоматизирована.
269
-
270
-
Например, если в проекте есть yml файл с содержимым, [указанным выше](#формат-yml) и поле `"keys"` в разделе `"testplane"` конфигурационного файла имеет значение `["featureTitle", "groupTitle", "assertionTitle"]`, то указанный ниже тест будет сопоставлен с ФТ `"Отображается количество и общая стоимость товаров в корзине"`:
271
-
272
-
```js
273
-
describe('Главная страница', () => {
274
-
describe('Блок корзины', () => {
275
-
it('Отображается количество и общая стоимость товаров в корзине', async ({ browser }) => {
276
-
// ...
277
-
});
278
-
});
279
-
});
280
-
```
281
-
282
-
В качестве частей идентификатора допустимо указывать следующие значения:
283
-
284
-
- `"featureTitle"`— название фичи
285
-
- `"featureCode"`— уникальный код фичи
286
-
- `"groupTitle"`— название группы ФТ
287
-
- `"assertionTitle"`— название ФТ
288
-
- `"filePath"`— путь к yml файлу, относительно корня проекта
289
-
- `"fileName"`— название yml файла без расширения (от начала до первого символа `.`)
290
-
- `@<attribute>`— значение указанного атрибута (идентификатор значения)
291
-
- `$<attribute>`— значение указанного атрибута (человеко-понятное название)
292
-
293
282
## Формат конфига
294
283
295
284
Ниже указаны все возможные параметры конфигурационного файла:
0 commit comments