codeceptjs 2.3.4 → 2.4.1
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/CHANGELOG.md +52 -0
- package/README.md +28 -6
- package/bin/codecept.js +42 -0
- package/docs/advanced.md +45 -1
- package/docs/angular.md +3 -3
- package/docs/basics.md +162 -118
- package/docs/bdd.md +30 -5
- package/docs/best.md +8 -6
- package/docs/books.md +6 -1
- package/docs/build/Appium.js +95 -85
- package/docs/build/FileSystem.js +48 -3
- package/docs/build/GraphQL.js +3 -2
- package/docs/build/GraphQLDataFactory.js +1 -0
- package/docs/build/Mochawesome.js +3 -2
- package/docs/build/MockRequest.js +23 -5
- package/docs/build/Nightmare.js +87 -128
- package/docs/build/Protractor.js +107 -155
- package/docs/build/Puppeteer.js +190 -174
- package/docs/build/REST.js +13 -9
- package/docs/build/SeleniumWebdriver.js +0 -17
- package/docs/build/TestCafe.js +164 -158
- package/docs/build/WebDriver.js +236 -211
- package/docs/build/WebDriverIO.js +218 -187
- package/docs/changelog.md +57 -1
- package/docs/commands.md +41 -2
- package/docs/community-helpers.md +12 -1
- package/docs/configuration.md +5 -2
- package/docs/continuous-integration.md +22 -0
- package/docs/{helpers.md → custom-helpers.md} +16 -10
- package/docs/data.md +7 -6
- package/docs/detox.md +6 -6
- package/docs/email.md +4 -2
- package/docs/examples.md +22 -3
- package/docs/helpers/ApiDataFactory.md +15 -13
- package/docs/helpers/Appium.md +1011 -468
- package/docs/helpers/Detox.md +33 -26
- package/docs/helpers/FileSystem.md +43 -13
- package/docs/helpers/GraphQL.md +17 -15
- package/docs/helpers/GraphQLDataFactory.md +15 -13
- package/docs/helpers/Mochawesome.md +3 -1
- package/docs/helpers/MockRequest.md +37 -19
- package/docs/helpers/Nightmare.md +129 -240
- package/docs/helpers/Polly.md +1 -1
- package/docs/helpers/Protractor.md +157 -298
- package/docs/helpers/Puppeteer.md +216 -335
- package/docs/helpers/REST.md +29 -24
- package/docs/helpers/TestCafe.md +137 -235
- package/docs/helpers/WebDriver.md +250 -347
- package/docs/hooks.md +14 -10
- package/docs/index.md +112 -0
- package/docs/installation.md +3 -1
- package/docs/locators.md +19 -8
- package/docs/mobile-react-native-locators.md +2 -2
- package/docs/mobile.md +5 -3
- package/docs/nightmare.md +2 -1
- package/docs/pageobjects.md +4 -2
- package/docs/parallel.md +4 -2
- package/docs/plugins.md +41 -15
- package/docs/puppeteer.md +8 -6
- package/docs/quickstart.md +130 -0
- package/docs/react.md +4 -2
- package/docs/reports.md +6 -4
- package/docs/testcafe.md +10 -8
- package/docs/translation.md +4 -2
- package/docs/ui.md +56 -0
- package/docs/videos.md +11 -2
- package/docs/visual.md +7 -5
- package/docs/vue.md +121 -0
- package/docs/webapi/appendField.mustache +1 -1
- package/docs/webapi/attachFile.mustache +1 -1
- package/docs/webapi/checkOption.mustache +2 -2
- package/docs/webapi/clearCookie.mustache +1 -1
- package/docs/webapi/click.mustache +2 -2
- package/docs/webapi/clickLink.mustache +2 -2
- package/docs/webapi/dontSee.mustache +1 -2
- package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
- package/docs/webapi/dontSeeElement.mustache +1 -1
- package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
- package/docs/webapi/dontSeeInField.mustache +1 -1
- package/docs/webapi/doubleClick.mustache +2 -2
- package/docs/webapi/downloadFile.mustache +1 -1
- package/docs/webapi/dragSlider.mustache +1 -1
- package/docs/webapi/executeAsyncScript.mustache +2 -1
- package/docs/webapi/executeScript.mustache +2 -1
- package/docs/webapi/fillField.mustache +1 -1
- package/docs/webapi/grabAttributeFrom.mustache +1 -1
- package/docs/webapi/grabBrowserLogs.mustache +1 -1
- package/docs/webapi/grabCookie.mustache +2 -2
- package/docs/webapi/grabCssPropertyFrom.mustache +1 -1
- package/docs/webapi/grabHTMLFrom.mustache +1 -1
- package/docs/webapi/grabNumberOfVisibleElements.mustache +1 -1
- package/docs/webapi/grabPageScrollPosition.mustache +1 -1
- package/docs/webapi/grabTextFrom.mustache +2 -2
- package/docs/webapi/grabValueFrom.mustache +1 -1
- package/docs/webapi/moveCursorTo.mustache +3 -3
- package/docs/webapi/pressKey.mustache +1 -1
- package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
- package/docs/webapi/rightClick.mustache +2 -2
- package/docs/webapi/saveScreenshot.mustache +1 -1
- package/docs/webapi/scrollIntoView.mustache +10 -0
- package/docs/webapi/scrollTo.mustache +3 -3
- package/docs/webapi/see.mustache +1 -1
- package/docs/webapi/seeAttributesOnElements.mustache +1 -1
- package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
- package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
- package/docs/webapi/seeElement.mustache +1 -1
- package/docs/webapi/seeElementInDOM.mustache +1 -1
- package/docs/webapi/seeInField.mustache +1 -1
- package/docs/webapi/seeNumberOfElements.mustache +1 -1
- package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
- package/docs/webapi/seeTextEquals.mustache +8 -0
- package/docs/webapi/selectOption.mustache +2 -2
- package/docs/webapi/switchTo.mustache +1 -1
- package/docs/webapi/uncheckOption.mustache +2 -2
- package/docs/webapi/waitForClickable.mustache +10 -0
- package/docs/webapi/waitForDetached.mustache +2 -2
- package/docs/webapi/waitForElement.mustache +2 -2
- package/docs/webapi/waitForEnabled.mustache +2 -2
- package/docs/webapi/waitForFunction.mustache +2 -2
- package/docs/webapi/waitForInvisible.mustache +2 -2
- package/docs/webapi/waitForText.mustache +2 -2
- package/docs/webapi/waitForValue.mustache +1 -1
- package/docs/webapi/waitForVisible.mustache +2 -2
- package/docs/webapi/waitInUrl.mustache +1 -1
- package/docs/webapi/waitNumberOfVisibleElements.mustache +2 -2
- package/docs/webapi/waitToHide.mustache +2 -2
- package/docs/webapi/waitUntil.mustache +3 -2
- package/docs/webapi/waitUrlEquals.mustache +1 -1
- package/docs/webdriver.md +20 -18
- package/docs/wiki/.git/FETCH_HEAD +1 -0
- package/docs/wiki/.git/HEAD +1 -0
- package/docs/wiki/.git/ORIG_HEAD +1 -0
- package/docs/wiki/.git/config +11 -0
- package/docs/wiki/.git/description +1 -0
- package/docs/wiki/.git/hooks/applypatch-msg.sample +15 -0
- package/docs/wiki/.git/hooks/commit-msg.sample +24 -0
- package/docs/wiki/.git/hooks/fsmonitor-watchman.sample +114 -0
- package/docs/wiki/.git/hooks/post-update.sample +8 -0
- package/docs/wiki/.git/hooks/pre-applypatch.sample +14 -0
- package/docs/wiki/.git/hooks/pre-commit.sample +49 -0
- package/docs/wiki/.git/hooks/pre-push.sample +53 -0
- package/docs/wiki/.git/hooks/pre-rebase.sample +169 -0
- package/docs/wiki/.git/hooks/pre-receive.sample +24 -0
- package/docs/wiki/.git/hooks/prepare-commit-msg.sample +42 -0
- package/docs/wiki/.git/hooks/update.sample +128 -0
- package/docs/wiki/.git/index +0 -0
- package/docs/wiki/.git/info/exclude +6 -0
- package/docs/wiki/.git/logs/HEAD +4 -0
- package/docs/wiki/.git/logs/refs/heads/master +4 -0
- package/docs/wiki/.git/logs/refs/remotes/origin/HEAD +1 -0
- package/docs/wiki/.git/logs/refs/remotes/origin/master +3 -0
- package/docs/wiki/.git/objects/00/d216b0774d15db2d0a2a0d4ce249b5251acc55 +3 -0
- package/docs/wiki/.git/objects/09/01d87c5241905fdfe3493cfe8f04df4a2685ea +0 -0
- package/docs/wiki/.git/objects/0d/bdd0c20c4deb6a8cc81dbbf32ecf8c09238983 +2 -0
- package/docs/wiki/.git/objects/1a/c29e4fa82422c52392f22f0f2b8d1a759535bf +0 -0
- package/docs/wiki/.git/objects/27/12f92898d3e8f68e229b6cda76570d6c66d781 +0 -0
- package/docs/wiki/.git/objects/2d/dbe22c257166b648928eeb9460ecfb71ba702d +0 -0
- package/docs/wiki/.git/objects/2f/c942ec3773efd2678d9ff98035c61fcded81a1 +0 -0
- package/docs/wiki/.git/objects/40/a2856342c67796b48911a256b764fb06888b94 +5 -0
- package/docs/wiki/.git/objects/47/53181844fc4dc563cf3aa5e80462243cb58d38 +0 -0
- package/docs/wiki/.git/objects/4e/24a95fb2e4f8ffef51f19b694451a205c06f10 +3 -0
- package/docs/wiki/.git/objects/73/31ebd96f3c7e08a9f63f05a25f939afa0d4de1 +0 -0
- package/docs/wiki/.git/objects/86/19cbb2289caa502e33fccf0ed14eecf6ba2ba0 +0 -0
- package/docs/wiki/.git/objects/a4/72f797d9d74b87c9f71a2b1539d75bb07d1e35 +0 -0
- package/docs/wiki/.git/objects/c9/9f3e4bd227d6b050b2e416f9876df49583dbf6 +0 -0
- package/docs/wiki/.git/objects/ca/e609b4ef3e0ef85fcbe0d68d1a58246584b915 +0 -0
- package/docs/wiki/.git/objects/d5/8386ca72f6d550548f3d71d74e3ac73d5ad488 +0 -0
- package/docs/wiki/.git/objects/d9/c6874a6de524bdafeb563a20d847f4fdd59a86 +0 -0
- package/docs/wiki/.git/objects/f1/c944675bb38b40ae553b0be36c14674c79af54 +0 -0
- package/docs/wiki/.git/objects/pack/pack-28da0fc7e6c08d4c5350717bfbb7b1c53e8198ad.idx +0 -0
- package/docs/wiki/.git/objects/pack/pack-28da0fc7e6c08d4c5350717bfbb7b1c53e8198ad.pack +0 -0
- package/docs/wiki/.git/packed-refs +2 -0
- package/docs/wiki/.git/refs/heads/master +1 -0
- package/docs/wiki/.git/refs/remotes/origin/HEAD +1 -0
- package/docs/wiki/.git/refs/remotes/origin/master +1 -0
- package/docs/wiki/Books-&-Posts.md +27 -0
- package/docs/wiki/Community-Helpers.md +41 -0
- package/docs/wiki/Examples.md +138 -0
- package/docs/wiki/Home.md +11 -0
- package/docs/wiki/Release-process.md +25 -0
- package/docs/wiki/Roadmap.md +23 -0
- package/docs/wiki/Videos.md +19 -0
- package/lib/actor.js +18 -1
- package/lib/assert/error.js +3 -3
- package/lib/codecept.js +9 -6
- package/lib/command/configMigrate.js +7 -6
- package/lib/command/definitions.js +98 -350
- package/lib/command/generate.js +22 -17
- package/lib/command/gherkin/init.js +2 -1
- package/lib/command/gherkin/snippets.js +6 -6
- package/lib/command/gherkin/steps.js +0 -1
- package/lib/command/info.js +40 -0
- package/lib/command/init.js +54 -41
- package/lib/command/run-multiple.js +5 -4
- package/lib/command/run-rerun.js +39 -0
- package/lib/command/run-workers.js +4 -6
- package/lib/command/run.js +8 -18
- package/lib/command/utils.js +23 -2
- package/lib/command/workers/runTests.js +1 -2
- package/lib/config.js +10 -4
- package/lib/container.js +31 -6
- package/lib/data/dataTableArgument.js +31 -0
- package/lib/data/table.js +4 -0
- package/lib/event.js +65 -1
- package/lib/helper/Appium.js +52 -38
- package/lib/helper/FileSystem.js +48 -3
- package/lib/helper/GraphQL.js +3 -2
- package/lib/helper/GraphQLDataFactory.js +1 -0
- package/lib/helper/Mochawesome.js +3 -2
- package/lib/helper/MockRequest.js +23 -5
- package/lib/helper/Nightmare.js +5 -6
- package/lib/helper/Protractor.js +7 -8
- package/lib/helper/Puppeteer.js +76 -20
- package/lib/helper/REST.js +13 -9
- package/lib/helper/SeleniumWebdriver.js +0 -17
- package/lib/helper/TestCafe.js +84 -36
- package/lib/helper/WebDriver.js +113 -59
- package/lib/helper/WebDriverIO.js +43 -59
- package/lib/helper/clientscripts/nightmare.js +66 -4
- package/lib/helper/scripts/isElementClickable.js +24 -0
- package/lib/helper.js +34 -10
- package/lib/history.js +1 -1
- package/lib/hooks.js +2 -1
- package/lib/index.js +19 -0
- package/lib/interfaces/bdd.js +4 -0
- package/lib/interfaces/featureConfig.js +10 -3
- package/lib/interfaces/gherkin.js +6 -2
- package/lib/interfaces/scenarioConfig.js +17 -6
- package/lib/listener/config.js +1 -1
- package/lib/listener/exit.js +6 -0
- package/lib/listener/steps.js +0 -1
- package/lib/listener/trace.js +0 -1
- package/lib/locator.js +67 -2
- package/lib/output.js +53 -0
- package/lib/parser.js +2 -71
- package/lib/pause.js +3 -2
- package/lib/plugin/allure.js +41 -22
- package/lib/plugin/autoLogin.js +4 -1
- package/lib/plugin/pauseOnFail.js +38 -0
- package/lib/plugin/puppeteerCoverage.js +8 -7
- package/lib/plugin/screenshotOnFail.js +13 -8
- package/lib/plugin/stepByStepReport.js +7 -6
- package/lib/plugin/wdio.js +2 -1
- package/lib/recorder.js +85 -7
- package/lib/rerun.js +81 -0
- package/lib/secret.js +6 -0
- package/lib/session.js +9 -2
- package/lib/step.js +37 -2
- package/lib/store.js +5 -1
- package/lib/ui.js +34 -8
- package/lib/utils.js +6 -13
- package/lib/within.js +5 -0
- package/package.json +49 -29
- package/typings/Mocha.d.ts +21 -0
- package/typings/Protractor.d.ts +16 -0
- package/typings/index.d.ts +169 -0
- package/typings/jsdoc.conf.js +34 -0
- package/typings/jsdoc.namespace.js +29 -0
- package/typings/types.d.ts +9827 -0
- package/typings/utils.d.ts +7 -0
- package/docs/acceptance.md +0 -409
- package/docs/api/codecept.md +0 -75
- package/docs/api/config.md +0 -49
- package/docs/api/container.md +0 -66
- package/docs/api/helper.md +0 -116
- package/docs/api/output.md +0 -67
- package/docs/api/recorder.md +0 -63
- package/docs/helpers/SeleniumWebdriver.md +0 -92
- package/docs/helpers/WebDriverIO.md +0 -1671
package/docs/helpers/TestCafe.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
permalink: /helpers/TestCafe
|
|
3
|
+
editLink: false
|
|
4
|
+
sidebar: auto
|
|
3
5
|
title: TestCafe
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -7,7 +9,7 @@ title: TestCafe
|
|
|
7
9
|
|
|
8
10
|
## TestCafe
|
|
9
11
|
|
|
10
|
-
Extends Helper
|
|
12
|
+
**Extends Helper**
|
|
11
13
|
|
|
12
14
|
Uses [TestCafe][1] library to run cross-browser tests.
|
|
13
15
|
The browser version you want to use in tests must be installed on your system.
|
|
@@ -24,7 +26,7 @@ This helper should be configured in codecept.json or codecept.conf.js
|
|
|
24
26
|
- `show`: - show browser window.
|
|
25
27
|
- `windowSize`: (optional) - set browser window width and height
|
|
26
28
|
- `getPageTimeout` config option to set maximum navigation time in milliseconds.
|
|
27
|
-
- `waitForTimeout`: (optional) default wait
|
|
29
|
+
- `waitForTimeout`: (optional) default wait* timeout in ms. Default: 5000.
|
|
28
30
|
- `browser`: - See [https://devexpress.github.io/testcafe/documentation/using-testcafe/common-concepts/browsers/browser-support.html][2]
|
|
29
31
|
|
|
30
32
|
#### Example #1: Show chrome browser window
|
|
@@ -40,6 +42,23 @@ This helper should be configured in codecept.json or codecept.conf.js
|
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
To use remote device you can provide 'remote' as browser parameter this will display a link with QR Code
|
|
48
|
+
See [https://devexpress.github.io/testcafe/documentation/recipes/test-on-remote-computers-and-mobile-devices.html][3]
|
|
49
|
+
|
|
50
|
+
#### Example #2: Remote browser connection
|
|
51
|
+
|
|
52
|
+
```js
|
|
53
|
+
{
|
|
54
|
+
helpers: {
|
|
55
|
+
TestCafe : {
|
|
56
|
+
url: "http://localhost",
|
|
57
|
+
waitForTimeout: 15000,
|
|
58
|
+
browser: "remote"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
43
62
|
```
|
|
44
63
|
|
|
45
64
|
## Access From Helpers
|
|
@@ -60,7 +79,7 @@ await testcafeTestController
|
|
|
60
79
|
|
|
61
80
|
- `config`
|
|
62
81
|
|
|
63
|
-
###
|
|
82
|
+
### _locate
|
|
64
83
|
|
|
65
84
|
Get elements by different locator types, including strict locator
|
|
66
85
|
Should be used in custom helpers:
|
|
@@ -86,9 +105,7 @@ I.amOnPage('/login'); // opens a login page
|
|
|
86
105
|
|
|
87
106
|
#### Parameters
|
|
88
107
|
|
|
89
|
-
- `url` [string][
|
|
90
|
-
|
|
91
|
-
|
|
108
|
+
- `url` **[string][4]** url path or global url.
|
|
92
109
|
|
|
93
110
|
### appendField
|
|
94
111
|
|
|
@@ -101,10 +118,8 @@ I.appendField('#myTextField', 'appended');
|
|
|
101
118
|
|
|
102
119
|
#### Parameters
|
|
103
120
|
|
|
104
|
-
- `field` ([string][
|
|
105
|
-
- `value` [string][
|
|
106
|
-
|
|
107
|
-
|
|
121
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator
|
|
122
|
+
- `value` **[string][4]** text value to append.
|
|
108
123
|
|
|
109
124
|
### attachFile
|
|
110
125
|
|
|
@@ -120,10 +135,8 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
|
|
|
120
135
|
#### Parameters
|
|
121
136
|
|
|
122
137
|
- `field`
|
|
123
|
-
- `pathToFile` [string][
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- `locator` ([string][3] \| [object][4]) field located by label|name|CSS|XPath|strict locator.
|
|
138
|
+
- `pathToFile` **[string][4]** local file path relative to codecept.json config file.
|
|
139
|
+
- `locator` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
|
|
127
140
|
|
|
128
141
|
### checkOption
|
|
129
142
|
|
|
@@ -140,10 +153,8 @@ I.checkOption('agree', '//form');
|
|
|
140
153
|
|
|
141
154
|
#### Parameters
|
|
142
155
|
|
|
143
|
-
- `field` ([string][
|
|
144
|
-
- `context` [string][
|
|
145
|
-
|
|
146
|
-
|
|
156
|
+
- `field` **([string][4] | [object][5])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
157
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
147
158
|
|
|
148
159
|
### clearCookie
|
|
149
160
|
|
|
@@ -158,9 +169,7 @@ I.clearCookie('test');
|
|
|
158
169
|
#### Parameters
|
|
159
170
|
|
|
160
171
|
- `cookieName`
|
|
161
|
-
- `cookie` [string][
|
|
162
|
-
|
|
163
|
-
|
|
172
|
+
- `cookie` **[string][4]?** (optional, `null` by default) cookie name
|
|
164
173
|
|
|
165
174
|
### clearField
|
|
166
175
|
|
|
@@ -175,9 +184,7 @@ I.clearField('#email');
|
|
|
175
184
|
#### Parameters
|
|
176
185
|
|
|
177
186
|
- `field`
|
|
178
|
-
- `editable` ([string][
|
|
179
|
-
|
|
180
|
-
|
|
187
|
+
- `editable` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
|
|
181
188
|
|
|
182
189
|
### click
|
|
183
190
|
|
|
@@ -196,7 +203,7 @@ I.click('Submit');
|
|
|
196
203
|
// CSS button
|
|
197
204
|
I.click('#form input[type=submit]');
|
|
198
205
|
// XPath
|
|
199
|
-
I.click('//form
|
|
206
|
+
I.click('//form/*[@type=submit]');
|
|
200
207
|
// link in context
|
|
201
208
|
I.click('Logout', '#nav');
|
|
202
209
|
// using strict locator
|
|
@@ -205,10 +212,8 @@ I.click({css: 'nav a.login'});
|
|
|
205
212
|
|
|
206
213
|
#### Parameters
|
|
207
214
|
|
|
208
|
-
- `locator` ([string][
|
|
209
|
-
- `context` ([string][
|
|
210
|
-
|
|
211
|
-
|
|
215
|
+
- `locator` **([string][4] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
216
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
212
217
|
|
|
213
218
|
### dontSee
|
|
214
219
|
|
|
@@ -222,9 +227,8 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
|
|
|
222
227
|
|
|
223
228
|
#### Parameters
|
|
224
229
|
|
|
225
|
-
- `text` [string][
|
|
226
|
-
- `context` ([string][
|
|
227
|
-
|
|
230
|
+
- `text` **[string][4]** which is not present.
|
|
231
|
+
- `context` **([string][4] | [object][5])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
|
|
228
232
|
|
|
229
233
|
### dontSeeCheckboxIsChecked
|
|
230
234
|
|
|
@@ -238,9 +242,7 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
|
|
|
238
242
|
|
|
239
243
|
#### Parameters
|
|
240
244
|
|
|
241
|
-
- `field` ([string][
|
|
242
|
-
|
|
243
|
-
|
|
245
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
|
|
244
246
|
|
|
245
247
|
### dontSeeCookie
|
|
246
248
|
|
|
@@ -252,9 +254,7 @@ I.dontSeeCookie('auth'); // no auth cookie
|
|
|
252
254
|
|
|
253
255
|
#### Parameters
|
|
254
256
|
|
|
255
|
-
- `name` [string][
|
|
256
|
-
|
|
257
|
-
|
|
257
|
+
- `name` **[string][4]** cookie name.
|
|
258
258
|
|
|
259
259
|
### dontSeeCurrentUrlEquals
|
|
260
260
|
|
|
@@ -268,9 +268,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
|
|
|
268
268
|
|
|
269
269
|
#### Parameters
|
|
270
270
|
|
|
271
|
-
- `url` [string][
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
- `url` **[string][4]** value to check.
|
|
274
272
|
|
|
275
273
|
### dontSeeElement
|
|
276
274
|
|
|
@@ -282,9 +280,7 @@ I.dontSeeElement('.modal'); // modal is not shown
|
|
|
282
280
|
|
|
283
281
|
#### Parameters
|
|
284
282
|
|
|
285
|
-
- `locator` ([string][
|
|
286
|
-
|
|
287
|
-
|
|
283
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|Strict locator.
|
|
288
284
|
|
|
289
285
|
### dontSeeElementInDOM
|
|
290
286
|
|
|
@@ -296,9 +292,7 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
|
|
|
296
292
|
|
|
297
293
|
#### Parameters
|
|
298
294
|
|
|
299
|
-
- `locator` ([string][
|
|
300
|
-
|
|
301
|
-
|
|
295
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|Strict locator.
|
|
302
296
|
|
|
303
297
|
### dontSeeInCurrentUrl
|
|
304
298
|
|
|
@@ -306,9 +300,7 @@ Checks that current url does not contain a provided fragment.
|
|
|
306
300
|
|
|
307
301
|
#### Parameters
|
|
308
302
|
|
|
309
|
-
- `url` [string][
|
|
310
|
-
|
|
311
|
-
|
|
303
|
+
- `url` **[string][4]** value to check.
|
|
312
304
|
|
|
313
305
|
### dontSeeInField
|
|
314
306
|
|
|
@@ -322,10 +314,8 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
|
|
|
322
314
|
|
|
323
315
|
#### Parameters
|
|
324
316
|
|
|
325
|
-
- `field` ([string][
|
|
326
|
-
- `value` [string][
|
|
327
|
-
|
|
328
|
-
|
|
317
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
|
|
318
|
+
- `value` **[string][4]** value to check.
|
|
329
319
|
|
|
330
320
|
### dontSeeInSource
|
|
331
321
|
|
|
@@ -338,9 +328,7 @@ I.dontSeeInSource('<!--'); // no comments in source
|
|
|
338
328
|
#### Parameters
|
|
339
329
|
|
|
340
330
|
- `text`
|
|
341
|
-
- `value` [string][
|
|
342
|
-
|
|
343
|
-
|
|
331
|
+
- `value` **[string][4]** to check.
|
|
344
332
|
|
|
345
333
|
### doubleClick
|
|
346
334
|
|
|
@@ -356,10 +344,8 @@ I.doubleClick('.btn.edit');
|
|
|
356
344
|
|
|
357
345
|
#### Parameters
|
|
358
346
|
|
|
359
|
-
- `locator` ([string][
|
|
360
|
-
- `context` ([string][
|
|
361
|
-
|
|
362
|
-
|
|
347
|
+
- `locator` **([string][4] | [object][5])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
|
|
348
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
|
|
363
349
|
|
|
364
350
|
### executeScript
|
|
365
351
|
|
|
@@ -389,8 +375,10 @@ let date = await I.executeScript(function(el) {
|
|
|
389
375
|
|
|
390
376
|
#### Parameters
|
|
391
377
|
|
|
392
|
-
- `fn` ([string][
|
|
393
|
-
- `args`
|
|
378
|
+
- `fn` **([string][4] | [function][6])** function to be executed in browser context.
|
|
379
|
+
- `args` **...any** to be passed to function.
|
|
380
|
+
|
|
381
|
+
Returns **[Promise][7]<any>** If a function returns a Promise It will wait for it resolution.
|
|
394
382
|
|
|
395
383
|
### fillField
|
|
396
384
|
|
|
@@ -410,16 +398,14 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
|
|
|
410
398
|
|
|
411
399
|
#### Parameters
|
|
412
400
|
|
|
413
|
-
- `field` ([string][
|
|
414
|
-
- `value` [string][
|
|
415
|
-
|
|
416
|
-
|
|
401
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
|
|
402
|
+
- `value` **[string][4]** text value to fill.
|
|
417
403
|
|
|
418
404
|
### grabAttributeFrom
|
|
419
405
|
|
|
420
406
|
Retrieves an attribute from an element located by CSS or XPath and returns it to test.
|
|
421
407
|
An array as a result will be returned if there are more than one matched element.
|
|
422
|
-
Resumes test execution, so should be used inside async with `await
|
|
408
|
+
Resumes test execution, so **should be used inside async with `await`** operator.
|
|
423
409
|
|
|
424
410
|
```js
|
|
425
411
|
let hint = await I.grabAttributeFrom('#tooltip', 'title');
|
|
@@ -427,12 +413,10 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
|
|
|
427
413
|
|
|
428
414
|
#### Parameters
|
|
429
415
|
|
|
430
|
-
- `locator` ([string][
|
|
431
|
-
- `attr` [string][
|
|
432
|
-
|
|
433
|
-
Returns [Promise][6]<[string][3]> attribute value
|
|
434
|
-
|
|
416
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
417
|
+
- `attr` **[string][4]** attribute name.
|
|
435
418
|
|
|
419
|
+
Returns **[Promise][7]<[string][4]>** attribute value
|
|
436
420
|
|
|
437
421
|
### grabBrowserLogs
|
|
438
422
|
|
|
@@ -447,8 +431,7 @@ console.log(JSON.stringify(logs))
|
|
|
447
431
|
|
|
448
432
|
Gets a cookie object by name.
|
|
449
433
|
If none provided gets all cookies.
|
|
450
|
-
|
|
451
|
-
- Resumes test execution, so should be used inside async with `await` operator.
|
|
434
|
+
Resumes test execution, so **should be used inside async with `await`** operator.
|
|
452
435
|
|
|
453
436
|
```js
|
|
454
437
|
let cookie = await I.grabCookie('auth');
|
|
@@ -457,11 +440,9 @@ assert(cookie.value, '123456');
|
|
|
457
440
|
|
|
458
441
|
#### Parameters
|
|
459
442
|
|
|
460
|
-
- `name`
|
|
461
|
-
|
|
462
|
-
Returns [Promise][6]<[string][3]> attribute value
|
|
443
|
+
- `name` **[string][4]?** cookie name.
|
|
463
444
|
|
|
464
|
-
Returns cookie in JSON format. If name not passed returns all cookies for this domain.
|
|
445
|
+
Returns **[Promise][7]<[string][4]>** attribute valueReturns cookie in JSON format. If name not passed returns all cookies for this domain.
|
|
465
446
|
|
|
466
447
|
### grabCurrentUrl
|
|
467
448
|
|
|
@@ -473,9 +454,7 @@ let url = await I.grabCurrentUrl();
|
|
|
473
454
|
console.log(`Current URL is [${url}]`);
|
|
474
455
|
```
|
|
475
456
|
|
|
476
|
-
Returns [Promise][
|
|
477
|
-
|
|
478
|
-
|
|
457
|
+
Returns **[Promise][7]<[string][4]>** current URL
|
|
479
458
|
|
|
480
459
|
### grabNumberOfVisibleElements
|
|
481
460
|
|
|
@@ -487,24 +466,20 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
|
|
|
487
466
|
|
|
488
467
|
#### Parameters
|
|
489
468
|
|
|
490
|
-
- `locator` ([string][
|
|
491
|
-
|
|
492
|
-
Returns [Promise][6]<[number][7]> number of visible elements
|
|
493
|
-
|
|
469
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
|
|
494
470
|
|
|
471
|
+
Returns **[Promise][7]<[number][8]>** number of visible elements
|
|
495
472
|
|
|
496
473
|
### grabPageScrollPosition
|
|
497
474
|
|
|
498
475
|
Retrieves a page scroll position and returns it to test.
|
|
499
|
-
Resumes test execution, so should be used inside an async function with `await
|
|
476
|
+
Resumes test execution, so **should be used inside an async function with `await`** operator.
|
|
500
477
|
|
|
501
478
|
```js
|
|
502
479
|
let { x, y } = await I.grabPageScrollPosition();
|
|
503
480
|
```
|
|
504
481
|
|
|
505
|
-
Returns [Promise][
|
|
506
|
-
|
|
507
|
-
|
|
482
|
+
Returns **[Promise][7]<[Object][5]<[string][4], any>>** scroll position
|
|
508
483
|
|
|
509
484
|
### grabSource
|
|
510
485
|
|
|
@@ -515,14 +490,12 @@ Resumes test execution, so should be used inside an async function.
|
|
|
515
490
|
let pageSource = await I.grabSource();
|
|
516
491
|
```
|
|
517
492
|
|
|
518
|
-
Returns [Promise][
|
|
519
|
-
|
|
520
|
-
|
|
493
|
+
Returns **[Promise][7]<[string][4]>** source code
|
|
521
494
|
|
|
522
495
|
### grabTextFrom
|
|
523
496
|
|
|
524
497
|
Retrieves a text from an element located by CSS or XPath and returns it to test.
|
|
525
|
-
Resumes test execution, so should be used inside async with `await
|
|
498
|
+
Resumes test execution, so **should be used inside async with `await`** operator.
|
|
526
499
|
|
|
527
500
|
```js
|
|
528
501
|
let pin = await I.grabTextFrom('#pin');
|
|
@@ -532,16 +505,14 @@ If multiple elements found returns an array of texts.
|
|
|
532
505
|
|
|
533
506
|
#### Parameters
|
|
534
507
|
|
|
535
|
-
- `locator`
|
|
536
|
-
|
|
537
|
-
Returns [Promise][6]<[string][3]> attribute value
|
|
538
|
-
|
|
508
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
539
509
|
|
|
510
|
+
Returns **[Promise][7]<([string][4] | [Array][9]<[string][4]>)>** attribute value
|
|
540
511
|
|
|
541
512
|
### grabValueFrom
|
|
542
513
|
|
|
543
514
|
Retrieves a value from a form element located by CSS or XPath and returns it to test.
|
|
544
|
-
Resumes test execution, so should be used inside async function with `await
|
|
515
|
+
Resumes test execution, so **should be used inside async function with `await`** operator.
|
|
545
516
|
|
|
546
517
|
```js
|
|
547
518
|
let email = await I.grabValueFrom('input[name=email]');
|
|
@@ -549,11 +520,9 @@ let email = await I.grabValueFrom('input[name=email]');
|
|
|
549
520
|
|
|
550
521
|
#### Parameters
|
|
551
522
|
|
|
552
|
-
- `locator` ([string][
|
|
553
|
-
|
|
554
|
-
Returns [Promise][6]<[string][3]> attribute value
|
|
555
|
-
|
|
523
|
+
- `locator` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
|
|
556
524
|
|
|
525
|
+
Returns **[Promise][7]<[string][4]>** attribute value
|
|
557
526
|
|
|
558
527
|
### moveCursorTo
|
|
559
528
|
|
|
@@ -567,16 +536,14 @@ I.moveCursorTo('#submit', 5,5);
|
|
|
567
536
|
|
|
568
537
|
#### Parameters
|
|
569
538
|
|
|
570
|
-
- `locator` ([string][
|
|
571
|
-
- `offsetX` [number][
|
|
572
|
-
- `offsetY` [number][
|
|
573
|
-
|
|
574
|
-
|
|
539
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
|
|
540
|
+
- `offsetX` **[number][8]** (optional, `0` by default) X-axis offset.
|
|
541
|
+
- `offsetY` **[number][8]** (optional, `0` by default) Y-axis offset.
|
|
575
542
|
|
|
576
543
|
### pressKey
|
|
577
544
|
|
|
578
545
|
Presses a key on a focused element.
|
|
579
|
-
Special keys like 'Enter', 'Control', [etc][
|
|
546
|
+
Special keys like 'Enter', 'Control', [etc][10]
|
|
580
547
|
will be replaced with corresponding unicode.
|
|
581
548
|
If modifier key is used (Control, Command, Alt, Shift) in array, it will be released afterwards.
|
|
582
549
|
|
|
@@ -587,9 +554,7 @@ I.pressKey(['Control','a']);
|
|
|
587
554
|
|
|
588
555
|
#### Parameters
|
|
589
556
|
|
|
590
|
-
- `key` ([string][
|
|
591
|
-
|
|
592
|
-
|
|
557
|
+
- `key` **([string][4] | [Array][9]<[string][4]>)** key or array of keys to press.
|
|
593
558
|
|
|
594
559
|
|
|
595
560
|
[Valid key names](https://w3c.github.io/webdriver/#keyboard-actions) are:
|
|
@@ -632,9 +597,6 @@ Reload the current page.
|
|
|
632
597
|
I.refreshPage();
|
|
633
598
|
```
|
|
634
599
|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
600
|
### resizeWindow
|
|
639
601
|
|
|
640
602
|
Resize the current window to provided width and height.
|
|
@@ -642,10 +604,8 @@ First parameter can be set to `maximize`.
|
|
|
642
604
|
|
|
643
605
|
#### Parameters
|
|
644
606
|
|
|
645
|
-
- `width` [number][
|
|
646
|
-
- `height` [number][
|
|
647
|
-
|
|
648
|
-
|
|
607
|
+
- `width` **[number][8]** width in pixels or `maximize`.
|
|
608
|
+
- `height` **[number][8]** height in pixels.
|
|
649
609
|
|
|
650
610
|
### rightClick
|
|
651
611
|
|
|
@@ -662,10 +622,8 @@ I.rightClick('Click me', '.context');
|
|
|
662
622
|
|
|
663
623
|
#### Parameters
|
|
664
624
|
|
|
665
|
-
- `locator` ([string][
|
|
666
|
-
- `context` ([string][
|
|
667
|
-
|
|
668
|
-
|
|
625
|
+
- `locator` **([string][4] | [object][5])** clickable element located by CSS|XPath|strict locator.
|
|
626
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
669
627
|
|
|
670
628
|
### saveScreenshot
|
|
671
629
|
|
|
@@ -680,10 +638,8 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
|
|
|
680
638
|
|
|
681
639
|
#### Parameters
|
|
682
640
|
|
|
683
|
-
- `fileName` [string][
|
|
684
|
-
- `fullPage` [boolean][
|
|
685
|
-
|
|
686
|
-
|
|
641
|
+
- `fileName` **[string][4]** file name to save.
|
|
642
|
+
- `fullPage` **[boolean][11]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
|
|
687
643
|
|
|
688
644
|
### scrollPageToBottom
|
|
689
645
|
|
|
@@ -693,9 +649,6 @@ Scroll page to the bottom.
|
|
|
693
649
|
I.scrollPageToBottom();
|
|
694
650
|
```
|
|
695
651
|
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
652
|
### scrollPageToTop
|
|
700
653
|
|
|
701
654
|
Scroll page to the top.
|
|
@@ -704,9 +657,6 @@ Scroll page to the top.
|
|
|
704
657
|
I.scrollPageToTop();
|
|
705
658
|
```
|
|
706
659
|
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
660
|
### scrollTo
|
|
711
661
|
|
|
712
662
|
Scrolls to element matched by locator.
|
|
@@ -719,11 +669,9 @@ I.scrollTo('#submit', 5, 5);
|
|
|
719
669
|
|
|
720
670
|
#### Parameters
|
|
721
671
|
|
|
722
|
-
- `locator` ([string][
|
|
723
|
-
- `offsetX` [number][
|
|
724
|
-
- `offsetY` [number][
|
|
725
|
-
|
|
726
|
-
|
|
672
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
|
|
673
|
+
- `offsetX` **[number][8]** (optional, `0` by default) X-axis offset.
|
|
674
|
+
- `offsetY` **[number][8]** (optional, `0` by default) Y-axis offset.
|
|
727
675
|
|
|
728
676
|
### see
|
|
729
677
|
|
|
@@ -738,10 +686,8 @@ I.see('Register', {css: 'form.register'}); // use strict locator
|
|
|
738
686
|
|
|
739
687
|
#### Parameters
|
|
740
688
|
|
|
741
|
-
- `text` [string][
|
|
742
|
-
- `context` ([string][
|
|
743
|
-
|
|
744
|
-
|
|
689
|
+
- `text` **[string][4]** expected on page.
|
|
690
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
|
|
745
691
|
|
|
746
692
|
### seeCheckboxIsChecked
|
|
747
693
|
|
|
@@ -755,9 +701,7 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
|
|
|
755
701
|
|
|
756
702
|
#### Parameters
|
|
757
703
|
|
|
758
|
-
- `field` ([string][
|
|
759
|
-
|
|
760
|
-
|
|
704
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
|
|
761
705
|
|
|
762
706
|
### seeCookie
|
|
763
707
|
|
|
@@ -769,9 +713,7 @@ I.seeCookie('Auth');
|
|
|
769
713
|
|
|
770
714
|
#### Parameters
|
|
771
715
|
|
|
772
|
-
- `name` [string][
|
|
773
|
-
|
|
774
|
-
|
|
716
|
+
- `name` **[string][4]** cookie name.
|
|
775
717
|
|
|
776
718
|
### seeCurrentUrlEquals
|
|
777
719
|
|
|
@@ -786,9 +728,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
|
|
|
786
728
|
|
|
787
729
|
#### Parameters
|
|
788
730
|
|
|
789
|
-
- `url` [string][
|
|
790
|
-
|
|
791
|
-
|
|
731
|
+
- `url` **[string][4]** value to check.
|
|
792
732
|
|
|
793
733
|
### seeElement
|
|
794
734
|
|
|
@@ -801,9 +741,7 @@ I.seeElement('#modal');
|
|
|
801
741
|
|
|
802
742
|
#### Parameters
|
|
803
743
|
|
|
804
|
-
- `locator` ([string][
|
|
805
|
-
|
|
806
|
-
|
|
744
|
+
- `locator` **([string][4] | [object][5])** located by CSS|XPath|strict locator.
|
|
807
745
|
|
|
808
746
|
### seeElementInDOM
|
|
809
747
|
|
|
@@ -816,9 +754,7 @@ I.seeElementInDOM('#modal');
|
|
|
816
754
|
|
|
817
755
|
#### Parameters
|
|
818
756
|
|
|
819
|
-
- `locator` ([string][
|
|
820
|
-
|
|
821
|
-
|
|
757
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
822
758
|
|
|
823
759
|
### seeInCurrentUrl
|
|
824
760
|
|
|
@@ -830,9 +766,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
|
|
|
830
766
|
|
|
831
767
|
#### Parameters
|
|
832
768
|
|
|
833
|
-
- `url` [string][
|
|
834
|
-
|
|
835
|
-
|
|
769
|
+
- `url` **[string][4]** a fragment to check
|
|
836
770
|
|
|
837
771
|
### seeInField
|
|
838
772
|
|
|
@@ -848,10 +782,8 @@ I.seeInField('#searchform input','Search');
|
|
|
848
782
|
|
|
849
783
|
#### Parameters
|
|
850
784
|
|
|
851
|
-
- `field` ([string][
|
|
852
|
-
- `value` [string][
|
|
853
|
-
|
|
854
|
-
|
|
785
|
+
- `field` **([string][4] | [object][5])** located by label|name|CSS|XPath|strict locator.
|
|
786
|
+
- `value` **[string][4]** value to check.
|
|
855
787
|
|
|
856
788
|
### seeInSource
|
|
857
789
|
|
|
@@ -863,9 +795,7 @@ I.seeInSource('<h1>Green eggs & ham</h1>');
|
|
|
863
795
|
|
|
864
796
|
#### Parameters
|
|
865
797
|
|
|
866
|
-
- `text` [string][
|
|
867
|
-
|
|
868
|
-
|
|
798
|
+
- `text` **[string][4]** value to check.
|
|
869
799
|
|
|
870
800
|
### seeNumberOfVisibleElements
|
|
871
801
|
|
|
@@ -878,10 +808,8 @@ I.seeNumberOfVisibleElements('.buttons', 3);
|
|
|
878
808
|
|
|
879
809
|
#### Parameters
|
|
880
810
|
|
|
881
|
-
- `locator` ([string][
|
|
882
|
-
- `num` [number][
|
|
883
|
-
|
|
884
|
-
|
|
811
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
812
|
+
- `num` **[number][8]** number of elements.
|
|
885
813
|
|
|
886
814
|
### seeTextEquals
|
|
887
815
|
|
|
@@ -919,10 +847,8 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
|
|
|
919
847
|
|
|
920
848
|
#### Parameters
|
|
921
849
|
|
|
922
|
-
- `select` ([string][
|
|
923
|
-
- `option` ([string][
|
|
924
|
-
|
|
925
|
-
|
|
850
|
+
- `select` **([string][4] | [object][5])** field located by label|name|CSS|XPath|strict locator.
|
|
851
|
+
- `option` **([string][4] | [Array][9]<any>)** visible text or value of option.
|
|
926
852
|
|
|
927
853
|
### setCookie
|
|
928
854
|
|
|
@@ -934,9 +860,7 @@ I.setCookie({name: 'auth', value: true});
|
|
|
934
860
|
|
|
935
861
|
#### Parameters
|
|
936
862
|
|
|
937
|
-
- `cookie` [object][
|
|
938
|
-
|
|
939
|
-
|
|
863
|
+
- `cookie` **[object][5]** a cookie object.
|
|
940
864
|
|
|
941
865
|
### switchTo
|
|
942
866
|
|
|
@@ -949,9 +873,7 @@ I.switchTo(); // switch back to main page
|
|
|
949
873
|
|
|
950
874
|
#### Parameters
|
|
951
875
|
|
|
952
|
-
- `locator` ([string][
|
|
953
|
-
|
|
954
|
-
|
|
876
|
+
- `locator` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS|XPath|strict locator.
|
|
955
877
|
|
|
956
878
|
### uncheckOption
|
|
957
879
|
|
|
@@ -968,10 +890,8 @@ I.uncheckOption('agree', '//form');
|
|
|
968
890
|
|
|
969
891
|
#### Parameters
|
|
970
892
|
|
|
971
|
-
- `field` ([string][
|
|
972
|
-
- `context` [string][
|
|
973
|
-
|
|
974
|
-
|
|
893
|
+
- `field` **([string][4] | [object][5])** checkbox located by label | name | CSS | XPath | strict locator.
|
|
894
|
+
- `context` **([string][4]? | [object][5])** (optional, `null` by default) element located by CSS | XPath | strict locator.
|
|
975
895
|
|
|
976
896
|
### wait
|
|
977
897
|
|
|
@@ -983,9 +903,7 @@ I.wait(2); // wait 2 secs
|
|
|
983
903
|
|
|
984
904
|
#### Parameters
|
|
985
905
|
|
|
986
|
-
- `sec` [number][
|
|
987
|
-
|
|
988
|
-
|
|
906
|
+
- `sec` **[number][8]** number of second to wait.
|
|
989
907
|
|
|
990
908
|
### waitForElement
|
|
991
909
|
|
|
@@ -999,10 +917,8 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
|
|
|
999
917
|
|
|
1000
918
|
#### Parameters
|
|
1001
919
|
|
|
1002
|
-
- `locator` ([string][
|
|
1003
|
-
- `sec` [number][
|
|
1004
|
-
|
|
1005
|
-
|
|
920
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
921
|
+
- `sec` **[number][8]?** (optional, `1` by default) time in seconds to wait
|
|
1006
922
|
|
|
1007
923
|
### waitForFunction
|
|
1008
924
|
|
|
@@ -1021,11 +937,9 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
|
|
|
1021
937
|
|
|
1022
938
|
#### Parameters
|
|
1023
939
|
|
|
1024
|
-
- `fn` ([string][
|
|
1025
|
-
- `argsOrSec` ([
|
|
1026
|
-
- `sec` [number][
|
|
1027
|
-
|
|
1028
|
-
|
|
940
|
+
- `fn` **([string][4] | [function][6])** to be executed in browser context.
|
|
941
|
+
- `argsOrSec` **([Array][9]<any> | [number][8])?** (optional, `1` by default) arguments for function or seconds.
|
|
942
|
+
- `sec` **[number][8]?** (optional, `1` by default) time in seconds to wait
|
|
1029
943
|
|
|
1030
944
|
### waitForInvisible
|
|
1031
945
|
|
|
@@ -1038,10 +952,8 @@ I.waitForInvisible('#popup');
|
|
|
1038
952
|
|
|
1039
953
|
#### Parameters
|
|
1040
954
|
|
|
1041
|
-
- `locator` ([string][
|
|
1042
|
-
- `sec` [number][
|
|
1043
|
-
|
|
1044
|
-
|
|
955
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
956
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1045
957
|
|
|
1046
958
|
### waitForText
|
|
1047
959
|
|
|
@@ -1056,11 +968,9 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
|
|
|
1056
968
|
|
|
1057
969
|
#### Parameters
|
|
1058
970
|
|
|
1059
|
-
- `text` [string][
|
|
1060
|
-
- `sec` [number][
|
|
1061
|
-
- `context` ([string][
|
|
1062
|
-
|
|
1063
|
-
|
|
971
|
+
- `text` **[string][4]** to wait for.
|
|
972
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
973
|
+
- `context` **([string][4] | [object][5])?** (optional) element located by CSS|XPath|strict locator.
|
|
1064
974
|
|
|
1065
975
|
### waitForVisible
|
|
1066
976
|
|
|
@@ -1073,10 +983,8 @@ I.waitForVisible('#popup');
|
|
|
1073
983
|
|
|
1074
984
|
#### Parameters
|
|
1075
985
|
|
|
1076
|
-
- `locator` ([string][
|
|
1077
|
-
- `sec` [number][
|
|
1078
|
-
|
|
1079
|
-
|
|
986
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
987
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1080
988
|
|
|
1081
989
|
### waitInUrl
|
|
1082
990
|
|
|
@@ -1088,10 +996,8 @@ I.waitInUrl('/info', 2);
|
|
|
1088
996
|
|
|
1089
997
|
#### Parameters
|
|
1090
998
|
|
|
1091
|
-
- `urlPart` [string][
|
|
1092
|
-
- `sec` [number][
|
|
1093
|
-
|
|
1094
|
-
|
|
999
|
+
- `urlPart` **[string][4]** value to check.
|
|
1000
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1095
1001
|
|
|
1096
1002
|
### waitNumberOfVisibleElements
|
|
1097
1003
|
|
|
@@ -1103,11 +1009,9 @@ I.waitNumberOfVisibleElements('a', 3);
|
|
|
1103
1009
|
|
|
1104
1010
|
#### Parameters
|
|
1105
1011
|
|
|
1106
|
-
- `locator` ([string][
|
|
1107
|
-
- `num` [number][
|
|
1108
|
-
- `sec` [number][
|
|
1109
|
-
|
|
1110
|
-
|
|
1012
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
1013
|
+
- `num` **[number][8]** number of elements.
|
|
1014
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1111
1015
|
|
|
1112
1016
|
### waitToHide
|
|
1113
1017
|
|
|
@@ -1120,10 +1024,8 @@ I.waitToHide('#popup');
|
|
|
1120
1024
|
|
|
1121
1025
|
#### Parameters
|
|
1122
1026
|
|
|
1123
|
-
- `locator` ([string][
|
|
1124
|
-
- `sec` [number][
|
|
1125
|
-
|
|
1126
|
-
|
|
1027
|
+
- `locator` **([string][4] | [object][5])** element located by CSS|XPath|strict locator.
|
|
1028
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1127
1029
|
|
|
1128
1030
|
### waitUrlEquals
|
|
1129
1031
|
|
|
@@ -1136,10 +1038,8 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
|
|
|
1136
1038
|
|
|
1137
1039
|
#### Parameters
|
|
1138
1040
|
|
|
1139
|
-
- `urlPart` [string][
|
|
1140
|
-
- `sec` [number][
|
|
1141
|
-
|
|
1142
|
-
|
|
1041
|
+
- `urlPart` **[string][4]** value to check.
|
|
1042
|
+
- `sec` **[number][8]** (optional, `1` by default) time in seconds to wait
|
|
1143
1043
|
|
|
1144
1044
|
## getPageUrl
|
|
1145
1045
|
|
|
@@ -1153,18 +1053,20 @@ Client Functions
|
|
|
1153
1053
|
|
|
1154
1054
|
[2]: https://devexpress.github.io/testcafe/documentation/using-testcafe/common-concepts/browsers/browser-support.html
|
|
1155
1055
|
|
|
1156
|
-
[3]: https://
|
|
1056
|
+
[3]: https://devexpress.github.io/testcafe/documentation/recipes/test-on-remote-computers-and-mobile-devices.html
|
|
1157
1057
|
|
|
1158
|
-
[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/
|
|
1058
|
+
[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
1159
1059
|
|
|
1160
|
-
[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/
|
|
1060
|
+
[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
1161
1061
|
|
|
1162
|
-
[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/
|
|
1062
|
+
[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
1163
1063
|
|
|
1164
|
-
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/
|
|
1064
|
+
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
1165
1065
|
|
|
1166
|
-
[8]: https://
|
|
1066
|
+
[8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
1167
1067
|
|
|
1168
1068
|
[9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
1169
1069
|
|
|
1170
|
-
[10]: https://
|
|
1070
|
+
[10]: https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/value
|
|
1071
|
+
|
|
1072
|
+
[11]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|