codeceptjs 3.5.15 → 3.6.0-beta.1.ai-healers

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 (139) hide show
  1. package/README.md +2 -2
  2. package/bin/codecept.js +66 -30
  3. package/docs/advanced.md +351 -0
  4. package/docs/ai.md +365 -0
  5. package/docs/api.md +323 -0
  6. package/docs/basics.md +979 -0
  7. package/docs/bdd.md +539 -0
  8. package/docs/best.md +237 -0
  9. package/docs/books.md +37 -0
  10. package/docs/bootstrap.md +135 -0
  11. package/docs/build/AI.js +124 -0
  12. package/docs/build/ApiDataFactory.js +410 -0
  13. package/docs/build/Appium.js +2027 -0
  14. package/docs/build/Expect.js +422 -0
  15. package/docs/build/FileSystem.js +228 -0
  16. package/docs/build/GraphQL.js +229 -0
  17. package/docs/build/GraphQLDataFactory.js +309 -0
  18. package/docs/build/JSONResponse.js +338 -0
  19. package/docs/build/Mochawesome.js +71 -0
  20. package/docs/build/Nightmare.js +2152 -0
  21. package/docs/build/Playwright.js +5110 -0
  22. package/docs/build/Protractor.js +2706 -0
  23. package/docs/build/Puppeteer.js +3905 -0
  24. package/docs/build/REST.js +344 -0
  25. package/docs/build/TestCafe.js +2125 -0
  26. package/docs/build/WebDriver.js +4240 -0
  27. package/docs/changelog.md +2572 -0
  28. package/docs/commands.md +266 -0
  29. package/docs/community-helpers.md +58 -0
  30. package/docs/configuration.md +157 -0
  31. package/docs/continuous-integration.md +22 -0
  32. package/docs/custom-helpers.md +306 -0
  33. package/docs/data.md +379 -0
  34. package/docs/detox.md +235 -0
  35. package/docs/docker.md +136 -0
  36. package/docs/email.md +183 -0
  37. package/docs/examples.md +149 -0
  38. package/docs/heal.md +186 -0
  39. package/docs/helpers/ApiDataFactory.md +266 -0
  40. package/docs/helpers/Appium.md +1374 -0
  41. package/docs/helpers/Detox.md +586 -0
  42. package/docs/helpers/Expect.md +275 -0
  43. package/docs/helpers/FileSystem.md +152 -0
  44. package/docs/helpers/GraphQL.md +151 -0
  45. package/docs/helpers/GraphQLDataFactory.md +226 -0
  46. package/docs/helpers/JSONResponse.md +254 -0
  47. package/docs/helpers/Mochawesome.md +8 -0
  48. package/docs/helpers/MockRequest.md +377 -0
  49. package/docs/helpers/Nightmare.md +1305 -0
  50. package/docs/helpers/OpenAI.md +70 -0
  51. package/docs/helpers/Playwright.md +2759 -0
  52. package/docs/helpers/Polly.md +44 -0
  53. package/docs/helpers/Protractor.md +1769 -0
  54. package/docs/helpers/Puppeteer-firefox.md +86 -0
  55. package/docs/helpers/Puppeteer.md +2317 -0
  56. package/docs/helpers/REST.md +218 -0
  57. package/docs/helpers/TestCafe.md +1321 -0
  58. package/docs/helpers/WebDriver.md +2547 -0
  59. package/docs/hooks.md +340 -0
  60. package/docs/index.md +111 -0
  61. package/docs/installation.md +75 -0
  62. package/docs/internal-api.md +266 -0
  63. package/docs/locators.md +339 -0
  64. package/docs/mobile-react-native-locators.md +67 -0
  65. package/docs/mobile.md +338 -0
  66. package/docs/pageobjects.md +291 -0
  67. package/docs/parallel.md +400 -0
  68. package/docs/playwright.md +632 -0
  69. package/docs/plugins.md +1247 -0
  70. package/docs/puppeteer.md +316 -0
  71. package/docs/quickstart.md +162 -0
  72. package/docs/react.md +70 -0
  73. package/docs/reports.md +392 -0
  74. package/docs/secrets.md +36 -0
  75. package/docs/shadow.md +68 -0
  76. package/docs/shared/keys.mustache +31 -0
  77. package/docs/shared/react.mustache +1 -0
  78. package/docs/testcafe.md +174 -0
  79. package/docs/translation.md +247 -0
  80. package/docs/tutorial.md +271 -0
  81. package/docs/typescript.md +180 -0
  82. package/docs/ui.md +59 -0
  83. package/docs/videos.md +28 -0
  84. package/docs/visual.md +202 -0
  85. package/docs/vue.md +143 -0
  86. package/docs/webdriver.md +701 -0
  87. package/docs/wiki/Books-&-Posts.md +27 -0
  88. package/docs/wiki/Community-Helpers-&-Plugins.md +53 -0
  89. package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +61 -0
  90. package/docs/wiki/Examples.md +145 -0
  91. package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +68 -0
  92. package/docs/wiki/Home.md +16 -0
  93. package/docs/wiki/Migration-to-Appium-v2---CodeceptJS.md +83 -0
  94. package/docs/wiki/Release-Process.md +24 -0
  95. package/docs/wiki/Roadmap.md +23 -0
  96. package/docs/wiki/Tests.md +1393 -0
  97. package/docs/wiki/Upgrading-to-CodeceptJS-3.md +153 -0
  98. package/docs/wiki/Videos.md +19 -0
  99. package/lib/actor.js +3 -6
  100. package/lib/ai.js +152 -80
  101. package/lib/cli.js +1 -0
  102. package/lib/command/dryRun.js +13 -44
  103. package/lib/command/generate.js +34 -0
  104. package/lib/command/run-workers.js +3 -0
  105. package/lib/command/run.js +3 -0
  106. package/lib/container.js +2 -0
  107. package/lib/heal.js +172 -0
  108. package/lib/helper/AI.js +124 -0
  109. package/lib/helper/Appium.js +12 -36
  110. package/lib/helper/Expect.js +8 -11
  111. package/lib/helper/JSONResponse.js +8 -8
  112. package/lib/helper/Playwright.js +240 -100
  113. package/lib/helper/Puppeteer.js +68 -182
  114. package/lib/helper/REST.js +1 -4
  115. package/lib/helper/WebDriver.js +10 -324
  116. package/lib/index.js +3 -0
  117. package/lib/listener/steps.js +0 -2
  118. package/lib/locator.js +4 -13
  119. package/lib/plugin/coverage.js +99 -112
  120. package/lib/plugin/heal.js +26 -117
  121. package/lib/recorder.js +11 -5
  122. package/lib/step.js +1 -3
  123. package/lib/store.js +2 -0
  124. package/lib/template/heal.js +39 -0
  125. package/package.json +35 -47
  126. package/typings/index.d.ts +0 -17
  127. package/typings/promiseBasedTypes.d.ts +57 -340
  128. package/typings/types.d.ts +73 -433
  129. package/docs/webapi/dontSeeTraffic.mustache +0 -13
  130. package/docs/webapi/flushNetworkTraffics.mustache +0 -5
  131. package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
  132. package/docs/webapi/seeTraffic.mustache +0 -36
  133. package/docs/webapi/startRecordingTraffic.mustache +0 -8
  134. package/docs/webapi/stopRecordingTraffic.mustache +0 -5
  135. package/docs/webapi/waitForCookie.mustache +0 -9
  136. package/lib/helper/MockServer.js +0 -221
  137. package/lib/helper/errors/ElementAssertion.js +0 -38
  138. package/lib/helper/networkTraffics/utils.js +0 -137
  139. /package/{lib/helper → docs/build}/OpenAI.js +0 -0
@@ -0,0 +1,218 @@
1
+ ---
2
+ permalink: /helpers/REST
3
+ editLink: false
4
+ sidebar: auto
5
+ title: REST
6
+ ---
7
+
8
+ <!-- Generated by documentation.js. Update this documentation by updating the source code. -->
9
+
10
+ ## REST
11
+
12
+ **Extends Helper**
13
+
14
+ REST helper allows to send additional requests to the REST API during acceptance tests.
15
+ [Axios][1] library is used to perform requests.
16
+
17
+
18
+
19
+ ## Configuration
20
+
21
+ Type: [object][4]
22
+
23
+ ### Properties
24
+
25
+ - `endpoint` **[string][3]?** API base URL
26
+ - `prettyPrintJson` **[boolean][6]?** pretty print json for response/request on console logs
27
+ - `timeout` **[number][5]?** timeout for requests in milliseconds. 10000ms by default
28
+ - `defaultHeaders` **[object][4]?** a list of default headers
29
+ - `onRequest` **[function][7]?** a async function which can update request object.
30
+ - `onResponse` **[function][7]?** a async function which can update response object.
31
+ - `maxUploadFileSize` **[number][5]?** set the max content file size in MB when performing api calls.
32
+
33
+
34
+
35
+ ## Example
36
+
37
+ ```js
38
+ {
39
+ helpers: {
40
+ REST: {
41
+ endpoint: 'http://site.com/api',
42
+ prettyPrintJson: true,
43
+ onRequest: (request) => {
44
+ request.headers.auth = '123';
45
+ }
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ ## Access From Helpers
52
+
53
+ Send REST requests by accessing `_executeRequest` method:
54
+
55
+ ```js
56
+ this.helpers['REST']._executeRequest({
57
+ url,
58
+ data,
59
+ });
60
+ ```
61
+
62
+ ## Methods
63
+
64
+ ### Parameters
65
+
66
+ - `config`
67
+
68
+ ### _executeRequest
69
+
70
+ Executes axios request
71
+
72
+ #### Parameters
73
+
74
+ - `request` **any**
75
+
76
+ Returns **[Promise][2]&lt;any>** response
77
+
78
+ ### _url
79
+
80
+ Generates url based on format sent (takes endpoint + url if latter lacks 'http')
81
+
82
+ #### Parameters
83
+
84
+ - `url` **any**
85
+
86
+ ### amBearerAuthenticated
87
+
88
+ Adds a header for Bearer authentication
89
+
90
+ ```js
91
+ // we use secret function to hide token from logs
92
+ I.amBearerAuthenticated(secret('heregoestoken'))
93
+ ```
94
+
95
+ #### Parameters
96
+
97
+ - `accessToken` **([string][3] | CodeceptJS.Secret)** Bearer access token
98
+
99
+ ### haveRequestHeaders
100
+
101
+ Sets request headers for all requests of this test
102
+
103
+ #### Parameters
104
+
105
+ - `headers` **[object][4]** headers list
106
+
107
+ ### sendDeleteRequest
108
+
109
+ Sends DELETE request to API.
110
+
111
+ ```js
112
+ I.sendDeleteRequest('/api/users/1');
113
+ ```
114
+
115
+ #### Parameters
116
+
117
+ - `url` **any**
118
+ - `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
119
+
120
+ Returns **[Promise][2]&lt;any>** response
121
+
122
+ ### sendGetRequest
123
+
124
+ Send GET request to REST API
125
+
126
+ ```js
127
+ I.sendGetRequest('/api/users.json');
128
+ ```
129
+
130
+ #### Parameters
131
+
132
+ - `url` **any**
133
+ - `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
134
+
135
+ Returns **[Promise][2]&lt;any>** response
136
+
137
+ ### sendPatchRequest
138
+
139
+ Sends PATCH request to API.
140
+
141
+ ```js
142
+ I.sendPatchRequest('/api/users.json', { "email": "user@user.com" });
143
+
144
+ // To mask the payload in logs
145
+ I.sendPatchRequest('/api/users.json', secret({ "email": "user@user.com" }));
146
+ ```
147
+
148
+ #### Parameters
149
+
150
+ - `url` **[string][3]**
151
+ - `payload` **any** the payload to be sent. By default it is sent as an empty object
152
+ - `headers` **[object][4]** the headers object to be sent. By default it is sent as an empty object
153
+
154
+ Returns **[Promise][2]&lt;any>** response
155
+
156
+ ### sendPostRequest
157
+
158
+ Sends POST request to API.
159
+
160
+ ```js
161
+ I.sendPostRequest('/api/users.json', { "email": "user@user.com" });
162
+
163
+ // To mask the payload in logs
164
+ I.sendPostRequest('/api/users.json', secret({ "email": "user@user.com" }));
165
+ ```
166
+
167
+ #### Parameters
168
+
169
+ - `url` **any**
170
+ - `payload` **any** the payload to be sent. By default, it is sent as an empty object
171
+ - `headers` **[object][4]** the headers object to be sent. By default, it is sent as an empty object
172
+
173
+ Returns **[Promise][2]&lt;any>** response
174
+
175
+ ### sendPutRequest
176
+
177
+ Sends PUT request to API.
178
+
179
+ ```js
180
+ I.sendPutRequest('/api/users.json', { "email": "user@user.com" });
181
+
182
+ // To mask the payload in logs
183
+ I.sendPutRequest('/api/users.json', secret({ "email": "user@user.com" }));
184
+ ```
185
+
186
+ #### Parameters
187
+
188
+ - `url` **[string][3]**
189
+ - `payload` **any** the payload to be sent. By default it is sent as an empty object
190
+ - `headers` **[object][4]** the headers object to be sent. By default it is sent as an empty object
191
+
192
+ Returns **[Promise][2]&lt;any>** response
193
+
194
+ ### setRequestTimeout
195
+
196
+ Set timeout for the request
197
+
198
+ ```js
199
+ I.setRequestTimeout(10000); // In milliseconds
200
+ ```
201
+
202
+ #### Parameters
203
+
204
+ - `newTimeout` **[number][5]** timeout in milliseconds
205
+
206
+ [1]: https://github.com/axios/axios
207
+
208
+ [2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
209
+
210
+ [3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
211
+
212
+ [4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
213
+
214
+ [5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
215
+
216
+ [6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
217
+
218
+ [7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function