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# class: TestCase
* since: v1.10
* langs: js
`TestCase` corresponds to every [`method: Test.(call)`] call in a test file. When a single [`method: Test.(call)`] is running in multiple projects or repeated multiple times, it will have multiple `TestCase` objects in corresponding projects' suites.
## property: TestCase.annotations
* since: v1.10
- type: <[Array]<[Object]>>
- `type` <[string]> Annotation type, for example `'skip'` or `'fail'`.
- `description` ?<[string]> Optional description.
- `location` ?<[Location]> Optional location in the source where the annotation is added.
[`property: TestResult.annotations`] of the last test run.
## property: TestCase.expectedStatus
* since: v1.10
- type: <[TestStatus]<"passed"|"failed"|"timedOut"|"skipped"|"interrupted">>
Expected test status.
* Tests marked as [`method: Test.skip`] or [`method: Test.fixme`] are expected to be `'skipped'`.
* Tests marked as [`method: Test.fail`] are expected to be `'failed'`.
* Other tests are expected to be `'passed'`.
See also [`property: TestResult.status`] for the actual status.
## property: TestCase.id
* since: v1.25
- type: <[string]>
A test ID that is computed based on the test file name, test title and project name. The ID is unique within Playwright session.
## property: TestCase.location
* since: v1.10
- type: <[Location]>
Location in the source where the test is defined.
## method: TestCase.ok
* since: v1.10
- returns: <[boolean]>
Whether the test is considered running fine. Non-ok tests fail the test run with non-zero exit code.
## method: TestCase.outcome
* since: v1.10
- returns: <[TestOutcome]<"skipped"|"expected"|"unexpected"|"flaky">>
Testing outcome for this test. Note that outcome is not the same as [`property: TestResult.status`]:
* Test that is expected to fail and actually fails is `'expected'`.
* Test that passes on a second retry is `'flaky'`.
## property: TestCase.parent
* since: v1.10
- type: <[Suite]>
Suite this test case belongs to.
## property: TestCase.repeatEachIndex
* since: v1.10
- type: <[int]>
Contains the repeat index when running in "repeat each" mode. This mode is enabled by passing `--repeat-each` to the [command line](../test-cli.md).
## property: TestCase.results
* since: v1.10
- type: <[Array]<[TestResult]>>
Results for each run of this test.
## property: TestCase.retries
* since: v1.10
- type: <[int]>
The maximum number of retries given to this test in the configuration.
Learn more about [test retries](../test-retries.md#retries).
## property: TestCase.tags
* since: v1.42
- type: <[Array]<[string]>>
The list of tags defined on the test or suite via [`method: Test.(call)`] or [`method: Test.describe`], as well as `@`-tokens extracted from test and suite titles.
Learn more about [test tags](../test-annotations.md#tag-tests).
## property: TestCase.timeout
* since: v1.10
- type: <[float]>
The timeout given to the test. Affected by [`property: TestConfig.timeout`], [`property: TestProject.timeout`], [`method: Test.setTimeout`], [`method: Test.slow`] and [`method: TestInfo.setTimeout`].
## property: TestCase.title
* since: v1.10
- type: <[string]>
Test title as passed to the [`method: Test.(call)`] call.
## method: TestCase.titlePath
* since: v1.10
- returns: <[Array]<[string]>>
Returns a list of titles from the root down to this test.
## property: TestCase.type
* since: v1.44
- returns: <[TestCaseType]<"test">>
Returns "test". Useful for detecting test cases in [`method: Suite.entries`].