@camunda/e2e-test-suite 0.0.1443 → 0.0.1445

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.github/c8_versions.json +1 -0
  2. package/README.md +2 -0
  3. package/dist/fixtures/SM-8.11.d.ts +77 -0
  4. package/dist/fixtures/SM-8.11.js +176 -0
  5. package/dist/pages/SM-8.11/Authorization.d.ts +39 -0
  6. package/dist/pages/SM-8.11/Authorization.js +349 -0
  7. package/dist/pages/SM-8.11/ClusterDetailsPage.d.ts +8 -0
  8. package/dist/pages/SM-8.11/ClusterDetailsPage.js +65 -0
  9. package/dist/pages/SM-8.11/ClusterPage.d.ts +11 -0
  10. package/dist/pages/SM-8.11/ClusterPage.js +37 -0
  11. package/dist/pages/SM-8.11/ConnectorMarketplacePage.d.ts +27 -0
  12. package/dist/pages/SM-8.11/ConnectorMarketplacePage.js +187 -0
  13. package/dist/pages/SM-8.11/ConnectorSettingsPage.d.ts +41 -0
  14. package/dist/pages/SM-8.11/ConnectorSettingsPage.js +153 -0
  15. package/dist/pages/SM-8.11/ConnectorTemplatePage.d.ts +11 -0
  16. package/dist/pages/SM-8.11/ConnectorTemplatePage.js +34 -0
  17. package/dist/pages/SM-8.11/FormJsPage.d.ts +33 -0
  18. package/dist/pages/SM-8.11/FormJsPage.js +109 -0
  19. package/dist/pages/SM-8.11/HomePage.d.ts +20 -0
  20. package/dist/pages/SM-8.11/HomePage.js +49 -0
  21. package/dist/pages/SM-8.11/IdentityTenantPage.d.ts +53 -0
  22. package/dist/pages/SM-8.11/IdentityTenantPage.js +264 -0
  23. package/dist/pages/SM-8.11/IdentityUsersPage.d.ts +92 -0
  24. package/dist/pages/SM-8.11/IdentityUsersPage.js +485 -0
  25. package/dist/pages/SM-8.11/KeycloakAdminPage.d.ts +17 -0
  26. package/dist/pages/SM-8.11/KeycloakAdminPage.js +78 -0
  27. package/dist/pages/SM-8.11/KeycloakLoginPage.d.ts +12 -0
  28. package/dist/pages/SM-8.11/KeycloakLoginPage.js +32 -0
  29. package/dist/pages/SM-8.11/KeycloakUtils.d.ts +17 -0
  30. package/dist/pages/SM-8.11/KeycloakUtils.js +94 -0
  31. package/dist/pages/SM-8.11/LoginPage.d.ts +21 -0
  32. package/dist/pages/SM-8.11/LoginPage.js +112 -0
  33. package/dist/pages/SM-8.11/ManagementIdentityPage.d.ts +44 -0
  34. package/dist/pages/SM-8.11/ManagementIdentityPage.js +176 -0
  35. package/dist/pages/SM-8.11/ModelerCreatePage.d.ts +238 -0
  36. package/dist/pages/SM-8.11/ModelerCreatePage.js +1950 -0
  37. package/dist/pages/SM-8.11/ModelerHomePage.d.ts +97 -0
  38. package/dist/pages/SM-8.11/ModelerHomePage.js +956 -0
  39. package/dist/pages/SM-8.11/NavigationPage.d.ts +58 -0
  40. package/dist/pages/SM-8.11/NavigationPage.js +389 -0
  41. package/dist/pages/SM-8.11/OCIdentityAuthorizationsPage.d.ts +10 -0
  42. package/dist/pages/SM-8.11/OCIdentityAuthorizationsPage.js +22 -0
  43. package/dist/pages/SM-8.11/OCIdentityClusterVariablesPage.d.ts +22 -0
  44. package/dist/pages/SM-8.11/OCIdentityClusterVariablesPage.js +120 -0
  45. package/dist/pages/SM-8.11/OCIdentityGroupsPage.d.ts +39 -0
  46. package/dist/pages/SM-8.11/OCIdentityGroupsPage.js +154 -0
  47. package/dist/pages/SM-8.11/OCIdentityHomePage.d.ts +23 -0
  48. package/dist/pages/SM-8.11/OCIdentityHomePage.js +115 -0
  49. package/dist/pages/SM-8.11/OCIdentityMappingRulesPage.d.ts +23 -0
  50. package/dist/pages/SM-8.11/OCIdentityMappingRulesPage.js +116 -0
  51. package/dist/pages/SM-8.11/OCIdentityRolesPage.d.ts +61 -0
  52. package/dist/pages/SM-8.11/OCIdentityRolesPage.js +433 -0
  53. package/dist/pages/SM-8.11/OCTenantPage.d.ts +73 -0
  54. package/dist/pages/SM-8.11/OCTenantPage.js +399 -0
  55. package/dist/pages/SM-8.11/OperateHomePage.d.ts +26 -0
  56. package/dist/pages/SM-8.11/OperateHomePage.js +139 -0
  57. package/dist/pages/SM-8.11/OperateProcessInstancePage.d.ts +30 -0
  58. package/dist/pages/SM-8.11/OperateProcessInstancePage.js +276 -0
  59. package/dist/pages/SM-8.11/OperateProcessesPage.d.ts +38 -0
  60. package/dist/pages/SM-8.11/OperateProcessesPage.js +383 -0
  61. package/dist/pages/SM-8.11/OptimizeCollectionsPage.d.ts +17 -0
  62. package/dist/pages/SM-8.11/OptimizeCollectionsPage.js +62 -0
  63. package/dist/pages/SM-8.11/OptimizeDashboardPage.d.ts +14 -0
  64. package/dist/pages/SM-8.11/OptimizeDashboardPage.js +63 -0
  65. package/dist/pages/SM-8.11/OptimizeHomePage.d.ts +19 -0
  66. package/dist/pages/SM-8.11/OptimizeHomePage.js +76 -0
  67. package/dist/pages/SM-8.11/OptimizeReportPage.d.ts +50 -0
  68. package/dist/pages/SM-8.11/OptimizeReportPage.js +209 -0
  69. package/dist/pages/SM-8.11/PlayPage.d.ts +47 -0
  70. package/dist/pages/SM-8.11/PlayPage.js +389 -0
  71. package/dist/pages/SM-8.11/ProcessApplicationPage.d.ts +35 -0
  72. package/dist/pages/SM-8.11/ProcessApplicationPage.js +340 -0
  73. package/dist/pages/SM-8.11/SettingsPage.d.ts +12 -0
  74. package/dist/pages/SM-8.11/SettingsPage.js +34 -0
  75. package/dist/pages/SM-8.11/TaskDetailsPage.d.ts +70 -0
  76. package/dist/pages/SM-8.11/TaskDetailsPage.js +273 -0
  77. package/dist/pages/SM-8.11/TaskPanelPage.d.ts +29 -0
  78. package/dist/pages/SM-8.11/TaskPanelPage.js +320 -0
  79. package/dist/pages/SM-8.11/TaskProcessesPage.d.ts +15 -0
  80. package/dist/pages/SM-8.11/TaskProcessesPage.js +77 -0
  81. package/dist/pages/SM-8.11/UtilitiesPage.d.ts +38 -0
  82. package/dist/pages/SM-8.11/UtilitiesPage.js +573 -0
  83. package/dist/pages/SM-8.11/optimizeReportUtils.d.ts +6 -0
  84. package/dist/pages/SM-8.11/optimizeReportUtils.js +77 -0
  85. package/dist/tests/SM-8.11/cluster-management-user-flows.spec.d.ts +1 -0
  86. package/dist/tests/SM-8.11/cluster-management-user-flows.spec.js +48 -0
  87. package/dist/tests/SM-8.11/cluster-variables.spec.d.ts +1 -0
  88. package/dist/tests/SM-8.11/cluster-variables.spec.js +226 -0
  89. package/dist/tests/SM-8.11/connectors-user-flows.spec.d.ts +1 -0
  90. package/dist/tests/SM-8.11/connectors-user-flows.spec.js +307 -0
  91. package/dist/tests/SM-8.11/document-handling-user-flows.spec.d.ts +1 -0
  92. package/dist/tests/SM-8.11/document-handling-user-flows.spec.js +174 -0
  93. package/dist/tests/SM-8.11/hto-user-flows.spec.d.ts +1 -0
  94. package/dist/tests/SM-8.11/hto-user-flows.spec.js +410 -0
  95. package/dist/tests/SM-8.11/hub-web-modeler-smoke.spec.d.ts +1 -0
  96. package/dist/tests/SM-8.11/hub-web-modeler-smoke.spec.js +24 -0
  97. package/dist/tests/SM-8.11/identity-user-flows.spec.d.ts +1 -0
  98. package/dist/tests/SM-8.11/identity-user-flows.spec.js +220 -0
  99. package/dist/tests/SM-8.11/license-key-user-flows.spec.d.ts +1 -0
  100. package/dist/tests/SM-8.11/license-key-user-flows.spec.js +461 -0
  101. package/dist/tests/SM-8.11/login.spec.d.ts +1 -0
  102. package/dist/tests/SM-8.11/login.spec.js +24 -0
  103. package/dist/tests/SM-8.11/migration-path-user-flows.spec.d.ts +1 -0
  104. package/dist/tests/SM-8.11/migration-path-user-flows.spec.js +263 -0
  105. package/dist/tests/SM-8.11/mt-enabled-user-flows.spec.d.ts +1 -0
  106. package/dist/tests/SM-8.11/mt-enabled-user-flows.spec.js +607 -0
  107. package/dist/tests/SM-8.11/optimize-user-flows.spec.d.ts +1 -0
  108. package/dist/tests/SM-8.11/optimize-user-flows.spec.js +505 -0
  109. package/dist/tests/SM-8.11/play.spec.d.ts +1 -0
  110. package/dist/tests/SM-8.11/play.spec.js +144 -0
  111. package/dist/tests/SM-8.11/rba-enabled-user-flows.spec.d.ts +1 -0
  112. package/dist/tests/SM-8.11/rba-enabled-user-flows.spec.js +712 -0
  113. package/dist/tests/SM-8.11/smoke-tests.spec.d.ts +1 -0
  114. package/dist/tests/SM-8.11/smoke-tests.spec.js +167 -0
  115. package/dist/tests/SM-8.11/test-setup.spec.d.ts +1 -0
  116. package/dist/tests/SM-8.11/test-setup.spec.js +24 -0
  117. package/dist/tests/SM-8.11/topology-orchestration-smoke.spec.d.ts +1 -0
  118. package/dist/tests/SM-8.11/topology-orchestration-smoke.spec.js +58 -0
  119. package/dist/tests/SM-8.11/web-modeler-user-flows.spec.d.ts +1 -0
  120. package/dist/tests/SM-8.11/web-modeler-user-flows.spec.js +223 -0
  121. package/package.json +1 -1
  122. package/playwright.config.ts +21 -0
@@ -0,0 +1,50 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class OptimizeReportPage {
3
+ private page;
4
+ readonly processSelectionButton: Locator;
5
+ readonly userTaskProcess: Locator;
6
+ readonly versionSelection: Locator;
7
+ readonly alwaysDisplayLatestSelection: Locator;
8
+ readonly createReportLink: Locator;
9
+ readonly durationButton: Locator;
10
+ readonly countOption: Locator;
11
+ readonly processInstanceButton: Locator;
12
+ readonly userTaskOption: Locator;
13
+ readonly heatMapButton: Locator;
14
+ readonly numberButton: Locator;
15
+ readonly tableOption: Locator;
16
+ readonly reportName: Locator;
17
+ readonly saveButton: Locator;
18
+ readonly oneUserTaskInstance: Locator;
19
+ readonly twoUserTaskInstance: Locator;
20
+ readonly cancelButton: Locator;
21
+ readonly createNewButton: Locator;
22
+ readonly reportOption: Locator;
23
+ readonly processInstanceCount: Locator;
24
+ readonly blankReportButton: Locator;
25
+ readonly selectDropdown: Locator;
26
+ constructor(page: Page);
27
+ clickProcessSelectionButton(): Promise<void>;
28
+ clickUserTaskProcess(processName: string): Promise<void>;
29
+ clickVersionSelection(): Promise<void>;
30
+ clickAlwaysDisplayLatestSelection(): Promise<void>;
31
+ clickCreateReportLink(): Promise<void>;
32
+ clickDurationButton(): Promise<void>;
33
+ clickCountOption(): Promise<void>;
34
+ clickProcessInstanceButton(): Promise<void>;
35
+ clickUserTaskOption(): Promise<void>;
36
+ clickHeatMapButton(): Promise<void>;
37
+ clickNumberButton(): Promise<void>;
38
+ clickTableOption(): Promise<void>;
39
+ clickReportName(): Promise<void>;
40
+ clearReportName(): Promise<void>;
41
+ fillReportName(name: string): Promise<void>;
42
+ clickSaveButton(): Promise<void>;
43
+ waitUntilLocatorIsVisible(locator: Locator, tab: Page): Promise<void>;
44
+ waitUntilProcessIsVisible(locator: Locator, tab: Page): Promise<void>;
45
+ clickBlankReportButton(): Promise<void>;
46
+ clickSelectDropdown(): Promise<void>;
47
+ waitUntilUserTaskProcessIsVisible(processName: string): Promise<void>;
48
+ clickCancelButton(): Promise<void>;
49
+ }
50
+ export { OptimizeReportPage };
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptimizeReportPage = void 0;
4
+ const test_1 = require("@playwright/test");
5
+ const sleep_1 = require("../../utils/sleep");
6
+ class OptimizeReportPage {
7
+ page;
8
+ processSelectionButton;
9
+ userTaskProcess;
10
+ versionSelection;
11
+ alwaysDisplayLatestSelection;
12
+ createReportLink;
13
+ durationButton;
14
+ countOption;
15
+ processInstanceButton;
16
+ userTaskOption;
17
+ heatMapButton;
18
+ numberButton;
19
+ tableOption;
20
+ reportName;
21
+ saveButton;
22
+ oneUserTaskInstance;
23
+ twoUserTaskInstance;
24
+ cancelButton;
25
+ createNewButton;
26
+ reportOption;
27
+ processInstanceCount;
28
+ blankReportButton;
29
+ selectDropdown;
30
+ constructor(page) {
31
+ this.page = page;
32
+ this.processSelectionButton = page.getByPlaceholder('Select...');
33
+ this.userTaskProcess = page.getByText('User_Task_Process', { exact: true });
34
+ this.versionSelection = page.getByLabel('Version');
35
+ this.alwaysDisplayLatestSelection = page.getByText('Always display latest');
36
+ this.createReportLink = page.getByRole('link', { name: 'Create Report' });
37
+ this.durationButton = page.getByRole('button', { name: 'Duration' });
38
+ this.countOption = page.getByText('Count').first();
39
+ this.processInstanceButton = page.getByRole('button', {
40
+ name: 'Process Instance',
41
+ exact: true,
42
+ });
43
+ this.userTaskOption = page.getByRole('menuitemcheckbox', {
44
+ name: 'User task',
45
+ });
46
+ this.heatMapButton = page.getByRole('button', { name: 'Heatmap' });
47
+ this.numberButton = page.getByRole('button', { name: 'Number' });
48
+ this.tableOption = page.getByText('Table');
49
+ this.reportName = page.getByPlaceholder('Report name');
50
+ this.saveButton = page.getByRole('button', { name: 'Save' });
51
+ this.oneUserTaskInstance = page.getByRole('cell', { name: '1', exact: true });
52
+ this.twoUserTaskInstance = page.getByRole('cell', { name: '2', exact: true });
53
+ this.cancelButton = page.getByRole('button', { name: 'Cancel' });
54
+ this.createNewButton = page.getByRole('button', {
55
+ name: 'Create New',
56
+ exact: true,
57
+ });
58
+ this.reportOption = page.getByText('Report', { exact: true });
59
+ this.processInstanceCount = page.locator('.progressLabel');
60
+ this.blankReportButton = page.getByRole('button', { name: 'Blank report' });
61
+ this.selectDropdown = page
62
+ .getByRole('button', { name: 'Select... Open menu' })
63
+ .last();
64
+ }
65
+ async clickProcessSelectionButton() {
66
+ await (0, test_1.expect)(this.processSelectionButton).toBeVisible({ timeout: 180000 });
67
+ await this.processSelectionButton.click({ timeout: 180000 });
68
+ }
69
+ async clickUserTaskProcess(processName) {
70
+ const processOption = this.page
71
+ .getByText(processName, { exact: true })
72
+ .first();
73
+ const maxRetries = 3;
74
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
75
+ await (0, test_1.expect)(processOption).toBeVisible({ timeout: 30000 });
76
+ await processOption.click();
77
+ // Optimize keeps refetching the definition list while the modal is open.
78
+ // A refetch that lands right after the click remounts the version
79
+ // list-box and drops the selection with it, so Version stays disabled and
80
+ // the caller's toBeEnabled assertion times out. Confirm the selection
81
+ // committed and re-pick when a remount swallowed it. Deliberately no
82
+ // throw here: the caller's assertion stays the gate on this state.
83
+ try {
84
+ await (0, test_1.expect)(this.versionSelection).toBeEnabled({ timeout: 15000 });
85
+ return;
86
+ }
87
+ catch (error) {
88
+ console.warn(`Attempt ${attempt} to select process ${processName} left the version selection disabled, retrying...`, error instanceof Error ? error.message : error);
89
+ }
90
+ }
91
+ }
92
+ async clickVersionSelection() {
93
+ await this.versionSelection.click();
94
+ }
95
+ async clickAlwaysDisplayLatestSelection() {
96
+ await this.alwaysDisplayLatestSelection.click();
97
+ }
98
+ async clickCreateReportLink() {
99
+ await this.createReportLink.click();
100
+ }
101
+ async clickDurationButton() {
102
+ await this.durationButton.click();
103
+ }
104
+ async clickCountOption() {
105
+ await this.countOption.click();
106
+ }
107
+ async clickProcessInstanceButton() {
108
+ await this.processInstanceButton.click();
109
+ }
110
+ async clickUserTaskOption() {
111
+ for (let attempt = 1; attempt <= 3; attempt++) {
112
+ try {
113
+ await this.userTaskOption.click();
114
+ return; // success
115
+ }
116
+ catch (error) {
117
+ if (attempt < 3) {
118
+ await this.clickSelectDropdown();
119
+ }
120
+ else {
121
+ throw new Error(`clickUserTaskOption failed after 3 attempts: ${error}`);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ async clickHeatMapButton() {
127
+ if (await this.heatMapButton.isVisible()) {
128
+ await this.heatMapButton.click();
129
+ }
130
+ }
131
+ async clickNumberButton() {
132
+ if (await this.numberButton.isVisible()) {
133
+ await this.numberButton.click();
134
+ }
135
+ }
136
+ async clickTableOption() {
137
+ await this.tableOption.click();
138
+ }
139
+ async clickReportName() {
140
+ await this.reportName.click();
141
+ }
142
+ async clearReportName() {
143
+ await this.reportName.clear({ force: true });
144
+ }
145
+ async fillReportName(name) {
146
+ await this.reportName.fill(name, { force: true });
147
+ }
148
+ async clickSaveButton() {
149
+ await this.saveButton.click();
150
+ // Saving persists the report and leaves edit mode, replacing the report-name
151
+ // input with the read-only report view. clickSaveButton used to return the
152
+ // instant the click dispatched, so the caller navigated away while the report
153
+ // was still dirty and Optimize raised its "Unsaved changes" route-guard modal.
154
+ // That modal exposes only "Don't save"/"Save changes"/X — none of which the
155
+ // recovery loop's Close-button dismissal matches — so it intercepted every
156
+ // subsequent Collections click and burned the whole test budget. Wait for edit
157
+ // mode to exit here so navigation starts from a clean report; a save that
158
+ // never persists now fails fast instead of hanging on a blocked recovery loop.
159
+ await (0, test_1.expect)(this.reportName).toBeHidden({ timeout: 60000 });
160
+ }
161
+ async waitUntilLocatorIsVisible(locator, tab) {
162
+ let elapsedTime = 0;
163
+ const maxWaitTimeSeconds = 300000;
164
+ while (elapsedTime < maxWaitTimeSeconds) {
165
+ const element = await locator;
166
+ if (await element.isVisible()) {
167
+ return;
168
+ }
169
+ await tab.reload();
170
+ await tab.waitForTimeout(10 * 1000);
171
+ // Update the elapsed time
172
+ elapsedTime += 10000;
173
+ }
174
+ }
175
+ async waitUntilProcessIsVisible(locator, tab) {
176
+ let elapsedTime = 0;
177
+ const maxWaitTimeSeconds = 240000;
178
+ while (elapsedTime < maxWaitTimeSeconds) {
179
+ const element = await locator;
180
+ if (await element.isVisible()) {
181
+ return;
182
+ }
183
+ await this.cancelButton.click();
184
+ await tab.reload();
185
+ await tab.waitForTimeout(10 * 1000);
186
+ // Update the elapsed time
187
+ elapsedTime += 10000;
188
+ await this.createNewButton.click();
189
+ await this.reportOption.click();
190
+ await this.processSelectionButton.click();
191
+ }
192
+ }
193
+ async clickBlankReportButton() {
194
+ await this.blankReportButton.click();
195
+ }
196
+ async clickSelectDropdown() {
197
+ await this.selectDropdown.click();
198
+ await (0, sleep_1.sleep)(10000);
199
+ }
200
+ async waitUntilUserTaskProcessIsVisible(processName) {
201
+ await (0, test_1.expect)(this.page.getByText(processName, { exact: true })).toBeVisible({
202
+ timeout: 1000,
203
+ });
204
+ }
205
+ async clickCancelButton() {
206
+ await this.cancelButton.click();
207
+ }
208
+ }
209
+ exports.OptimizeReportPage = OptimizeReportPage;
@@ -0,0 +1,47 @@
1
+ import { Page, Locator } from '@playwright/test';
2
+ declare class PlayPage {
3
+ private page;
4
+ readonly completeJobButton: Locator;
5
+ readonly viewScenarioButton: Locator;
6
+ readonly runAllScenariosButton: Locator;
7
+ readonly confirmDeleteScenarioButton: Locator;
8
+ readonly viewAllScenariosButton: Locator;
9
+ readonly getScenarioRowByName: (scenarioName: string) => Locator;
10
+ readonly getScenarioRow: (scenarioName: string) => Locator;
11
+ readonly diagram: Locator;
12
+ readonly startInstanceButton: Locator;
13
+ readonly startInstanceWithCachedButton: Locator;
14
+ readonly configureTestPanel: Locator;
15
+ readonly configureTestPanelStartButton: Locator;
16
+ readonly notifications: Locator;
17
+ readonly scenarioSavedToast: Locator;
18
+ readonly scenarioDetailNameInput: Locator;
19
+ readonly scenarioDetailSaveButton: Locator;
20
+ readonly loadingInstanceDetailsText: Locator;
21
+ readonly retryButton: Locator;
22
+ readonly dialog: Locator;
23
+ readonly inputPanelStartButton: Locator;
24
+ constructor(page: Page);
25
+ waitForCompleteJobButtonToBeAvailable(): Promise<void>;
26
+ clickCompleteJobButton(): Promise<void>;
27
+ clickStartInstanceButton(): Promise<void>;
28
+ dismissStartModal(): Promise<void>;
29
+ clickStartInstanceWithCachedButton(): Promise<void>;
30
+ waitForInstanceDetailsToBeLoaded(): Promise<void>;
31
+ waitForNextElementToBeActive(historyItem: string): Promise<void>;
32
+ waitForProcessToBeCompleted(): Promise<void>;
33
+ waitForScenarioRecordPanelReady(): Promise<void>;
34
+ clickViewScenarioButton(): Promise<void>;
35
+ enterScenarioName(scenarioName: string): Promise<void>;
36
+ updateScenarioName(newScenarioName: string): Promise<void>;
37
+ clickViewAllScenariosButton(): Promise<void>;
38
+ confirmSaveScenario(): Promise<void>;
39
+ assertSavedScenarioNameInPanel(scenarioName: string): Promise<void>;
40
+ getDeleteIconForScenario(scenarioName: string): Promise<Locator>;
41
+ deleteScenario(scenarioName: string): Promise<void>;
42
+ confirmDeleteScenario(): Promise<void>;
43
+ clickRunAllScenariosButton(): Promise<void>;
44
+ clickmessagePublishButton(): Promise<void>;
45
+ assertScenarioCompleted(scenarioName: string): Promise<void>;
46
+ }
47
+ export { PlayPage };