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.
- package/README.md +2 -2
- package/bin/codecept.js +66 -30
- package/docs/advanced.md +351 -0
- package/docs/ai.md +365 -0
- package/docs/api.md +323 -0
- package/docs/basics.md +979 -0
- package/docs/bdd.md +539 -0
- package/docs/best.md +237 -0
- package/docs/books.md +37 -0
- package/docs/bootstrap.md +135 -0
- package/docs/build/AI.js +124 -0
- package/docs/build/ApiDataFactory.js +410 -0
- package/docs/build/Appium.js +2027 -0
- package/docs/build/Expect.js +422 -0
- package/docs/build/FileSystem.js +228 -0
- package/docs/build/GraphQL.js +229 -0
- package/docs/build/GraphQLDataFactory.js +309 -0
- package/docs/build/JSONResponse.js +338 -0
- package/docs/build/Mochawesome.js +71 -0
- package/docs/build/Nightmare.js +2152 -0
- package/docs/build/Playwright.js +5110 -0
- package/docs/build/Protractor.js +2706 -0
- package/docs/build/Puppeteer.js +3905 -0
- package/docs/build/REST.js +344 -0
- package/docs/build/TestCafe.js +2125 -0
- package/docs/build/WebDriver.js +4240 -0
- package/docs/changelog.md +2572 -0
- package/docs/commands.md +266 -0
- package/docs/community-helpers.md +58 -0
- package/docs/configuration.md +157 -0
- package/docs/continuous-integration.md +22 -0
- package/docs/custom-helpers.md +306 -0
- package/docs/data.md +379 -0
- package/docs/detox.md +235 -0
- package/docs/docker.md +136 -0
- package/docs/email.md +183 -0
- package/docs/examples.md +149 -0
- package/docs/heal.md +186 -0
- package/docs/helpers/ApiDataFactory.md +266 -0
- package/docs/helpers/Appium.md +1374 -0
- package/docs/helpers/Detox.md +586 -0
- package/docs/helpers/Expect.md +275 -0
- package/docs/helpers/FileSystem.md +152 -0
- package/docs/helpers/GraphQL.md +151 -0
- package/docs/helpers/GraphQLDataFactory.md +226 -0
- package/docs/helpers/JSONResponse.md +254 -0
- package/docs/helpers/Mochawesome.md +8 -0
- package/docs/helpers/MockRequest.md +377 -0
- package/docs/helpers/Nightmare.md +1305 -0
- package/docs/helpers/OpenAI.md +70 -0
- package/docs/helpers/Playwright.md +2759 -0
- package/docs/helpers/Polly.md +44 -0
- package/docs/helpers/Protractor.md +1769 -0
- package/docs/helpers/Puppeteer-firefox.md +86 -0
- package/docs/helpers/Puppeteer.md +2317 -0
- package/docs/helpers/REST.md +218 -0
- package/docs/helpers/TestCafe.md +1321 -0
- package/docs/helpers/WebDriver.md +2547 -0
- package/docs/hooks.md +340 -0
- package/docs/index.md +111 -0
- package/docs/installation.md +75 -0
- package/docs/internal-api.md +266 -0
- package/docs/locators.md +339 -0
- package/docs/mobile-react-native-locators.md +67 -0
- package/docs/mobile.md +338 -0
- package/docs/pageobjects.md +291 -0
- package/docs/parallel.md +400 -0
- package/docs/playwright.md +632 -0
- package/docs/plugins.md +1247 -0
- package/docs/puppeteer.md +316 -0
- package/docs/quickstart.md +162 -0
- package/docs/react.md +70 -0
- package/docs/reports.md +392 -0
- package/docs/secrets.md +36 -0
- package/docs/shadow.md +68 -0
- package/docs/shared/keys.mustache +31 -0
- package/docs/shared/react.mustache +1 -0
- package/docs/testcafe.md +174 -0
- package/docs/translation.md +247 -0
- package/docs/tutorial.md +271 -0
- package/docs/typescript.md +180 -0
- package/docs/ui.md +59 -0
- package/docs/videos.md +28 -0
- package/docs/visual.md +202 -0
- package/docs/vue.md +143 -0
- package/docs/webdriver.md +701 -0
- package/docs/wiki/Books-&-Posts.md +27 -0
- package/docs/wiki/Community-Helpers-&-Plugins.md +53 -0
- package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +61 -0
- package/docs/wiki/Examples.md +145 -0
- package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +68 -0
- package/docs/wiki/Home.md +16 -0
- package/docs/wiki/Migration-to-Appium-v2---CodeceptJS.md +83 -0
- package/docs/wiki/Release-Process.md +24 -0
- package/docs/wiki/Roadmap.md +23 -0
- package/docs/wiki/Tests.md +1393 -0
- package/docs/wiki/Upgrading-to-CodeceptJS-3.md +153 -0
- package/docs/wiki/Videos.md +19 -0
- package/lib/actor.js +3 -6
- package/lib/ai.js +152 -80
- package/lib/cli.js +1 -0
- package/lib/command/dryRun.js +13 -44
- package/lib/command/generate.js +34 -0
- package/lib/command/run-workers.js +3 -0
- package/lib/command/run.js +3 -0
- package/lib/container.js +2 -0
- package/lib/heal.js +172 -0
- package/lib/helper/AI.js +124 -0
- package/lib/helper/Appium.js +12 -36
- package/lib/helper/Expect.js +8 -11
- package/lib/helper/JSONResponse.js +8 -8
- package/lib/helper/Playwright.js +240 -100
- package/lib/helper/Puppeteer.js +68 -182
- package/lib/helper/REST.js +1 -4
- package/lib/helper/WebDriver.js +10 -324
- package/lib/index.js +3 -0
- package/lib/listener/steps.js +0 -2
- package/lib/locator.js +4 -13
- package/lib/plugin/coverage.js +99 -112
- package/lib/plugin/heal.js +26 -117
- package/lib/recorder.js +11 -5
- package/lib/step.js +1 -3
- package/lib/store.js +2 -0
- package/lib/template/heal.js +39 -0
- package/package.json +35 -47
- package/typings/index.d.ts +0 -17
- package/typings/promiseBasedTypes.d.ts +57 -340
- package/typings/types.d.ts +73 -433
- package/docs/webapi/dontSeeTraffic.mustache +0 -13
- package/docs/webapi/flushNetworkTraffics.mustache +0 -5
- package/docs/webapi/grabRecordedNetworkTraffics.mustache +0 -10
- package/docs/webapi/seeTraffic.mustache +0 -36
- package/docs/webapi/startRecordingTraffic.mustache +0 -8
- package/docs/webapi/stopRecordingTraffic.mustache +0 -5
- package/docs/webapi/waitForCookie.mustache +0 -9
- package/lib/helper/MockServer.js +0 -221
- package/lib/helper/errors/ElementAssertion.js +0 -38
- package/lib/helper/networkTraffics/utils.js +0 -137
- /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]<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]<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]<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]<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]<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]<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
|