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.
Files changed (269) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +28 -6
  3. package/bin/codecept.js +42 -0
  4. package/docs/advanced.md +45 -1
  5. package/docs/angular.md +3 -3
  6. package/docs/basics.md +162 -118
  7. package/docs/bdd.md +30 -5
  8. package/docs/best.md +8 -6
  9. package/docs/books.md +6 -1
  10. package/docs/build/Appium.js +95 -85
  11. package/docs/build/FileSystem.js +48 -3
  12. package/docs/build/GraphQL.js +3 -2
  13. package/docs/build/GraphQLDataFactory.js +1 -0
  14. package/docs/build/Mochawesome.js +3 -2
  15. package/docs/build/MockRequest.js +23 -5
  16. package/docs/build/Nightmare.js +87 -128
  17. package/docs/build/Protractor.js +107 -155
  18. package/docs/build/Puppeteer.js +190 -174
  19. package/docs/build/REST.js +13 -9
  20. package/docs/build/SeleniumWebdriver.js +0 -17
  21. package/docs/build/TestCafe.js +164 -158
  22. package/docs/build/WebDriver.js +236 -211
  23. package/docs/build/WebDriverIO.js +218 -187
  24. package/docs/changelog.md +57 -1
  25. package/docs/commands.md +41 -2
  26. package/docs/community-helpers.md +12 -1
  27. package/docs/configuration.md +5 -2
  28. package/docs/continuous-integration.md +22 -0
  29. package/docs/{helpers.md → custom-helpers.md} +16 -10
  30. package/docs/data.md +7 -6
  31. package/docs/detox.md +6 -6
  32. package/docs/email.md +4 -2
  33. package/docs/examples.md +22 -3
  34. package/docs/helpers/ApiDataFactory.md +15 -13
  35. package/docs/helpers/Appium.md +1011 -468
  36. package/docs/helpers/Detox.md +33 -26
  37. package/docs/helpers/FileSystem.md +43 -13
  38. package/docs/helpers/GraphQL.md +17 -15
  39. package/docs/helpers/GraphQLDataFactory.md +15 -13
  40. package/docs/helpers/Mochawesome.md +3 -1
  41. package/docs/helpers/MockRequest.md +37 -19
  42. package/docs/helpers/Nightmare.md +129 -240
  43. package/docs/helpers/Polly.md +1 -1
  44. package/docs/helpers/Protractor.md +157 -298
  45. package/docs/helpers/Puppeteer.md +216 -335
  46. package/docs/helpers/REST.md +29 -24
  47. package/docs/helpers/TestCafe.md +137 -235
  48. package/docs/helpers/WebDriver.md +250 -347
  49. package/docs/hooks.md +14 -10
  50. package/docs/index.md +112 -0
  51. package/docs/installation.md +3 -1
  52. package/docs/locators.md +19 -8
  53. package/docs/mobile-react-native-locators.md +2 -2
  54. package/docs/mobile.md +5 -3
  55. package/docs/nightmare.md +2 -1
  56. package/docs/pageobjects.md +4 -2
  57. package/docs/parallel.md +4 -2
  58. package/docs/plugins.md +41 -15
  59. package/docs/puppeteer.md +8 -6
  60. package/docs/quickstart.md +130 -0
  61. package/docs/react.md +4 -2
  62. package/docs/reports.md +6 -4
  63. package/docs/testcafe.md +10 -8
  64. package/docs/translation.md +4 -2
  65. package/docs/ui.md +56 -0
  66. package/docs/videos.md +11 -2
  67. package/docs/visual.md +7 -5
  68. package/docs/vue.md +121 -0
  69. package/docs/webapi/appendField.mustache +1 -1
  70. package/docs/webapi/attachFile.mustache +1 -1
  71. package/docs/webapi/checkOption.mustache +2 -2
  72. package/docs/webapi/clearCookie.mustache +1 -1
  73. package/docs/webapi/click.mustache +2 -2
  74. package/docs/webapi/clickLink.mustache +2 -2
  75. package/docs/webapi/dontSee.mustache +1 -2
  76. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +1 -1
  77. package/docs/webapi/dontSeeElement.mustache +1 -1
  78. package/docs/webapi/dontSeeElementInDOM.mustache +1 -1
  79. package/docs/webapi/dontSeeInField.mustache +1 -1
  80. package/docs/webapi/doubleClick.mustache +2 -2
  81. package/docs/webapi/downloadFile.mustache +1 -1
  82. package/docs/webapi/dragSlider.mustache +1 -1
  83. package/docs/webapi/executeAsyncScript.mustache +2 -1
  84. package/docs/webapi/executeScript.mustache +2 -1
  85. package/docs/webapi/fillField.mustache +1 -1
  86. package/docs/webapi/grabAttributeFrom.mustache +1 -1
  87. package/docs/webapi/grabBrowserLogs.mustache +1 -1
  88. package/docs/webapi/grabCookie.mustache +2 -2
  89. package/docs/webapi/grabCssPropertyFrom.mustache +1 -1
  90. package/docs/webapi/grabHTMLFrom.mustache +1 -1
  91. package/docs/webapi/grabNumberOfVisibleElements.mustache +1 -1
  92. package/docs/webapi/grabPageScrollPosition.mustache +1 -1
  93. package/docs/webapi/grabTextFrom.mustache +2 -2
  94. package/docs/webapi/grabValueFrom.mustache +1 -1
  95. package/docs/webapi/moveCursorTo.mustache +3 -3
  96. package/docs/webapi/pressKey.mustache +1 -1
  97. package/docs/webapi/pressKeyWithKeyNormalization.mustache +1 -1
  98. package/docs/webapi/rightClick.mustache +2 -2
  99. package/docs/webapi/saveScreenshot.mustache +1 -1
  100. package/docs/webapi/scrollIntoView.mustache +10 -0
  101. package/docs/webapi/scrollTo.mustache +3 -3
  102. package/docs/webapi/see.mustache +1 -1
  103. package/docs/webapi/seeAttributesOnElements.mustache +1 -1
  104. package/docs/webapi/seeCheckboxIsChecked.mustache +1 -1
  105. package/docs/webapi/seeCssPropertiesOnElements.mustache +1 -1
  106. package/docs/webapi/seeElement.mustache +1 -1
  107. package/docs/webapi/seeElementInDOM.mustache +1 -1
  108. package/docs/webapi/seeInField.mustache +1 -1
  109. package/docs/webapi/seeNumberOfElements.mustache +1 -1
  110. package/docs/webapi/seeNumberOfVisibleElements.mustache +1 -1
  111. package/docs/webapi/seeTextEquals.mustache +8 -0
  112. package/docs/webapi/selectOption.mustache +2 -2
  113. package/docs/webapi/switchTo.mustache +1 -1
  114. package/docs/webapi/uncheckOption.mustache +2 -2
  115. package/docs/webapi/waitForClickable.mustache +10 -0
  116. package/docs/webapi/waitForDetached.mustache +2 -2
  117. package/docs/webapi/waitForElement.mustache +2 -2
  118. package/docs/webapi/waitForEnabled.mustache +2 -2
  119. package/docs/webapi/waitForFunction.mustache +2 -2
  120. package/docs/webapi/waitForInvisible.mustache +2 -2
  121. package/docs/webapi/waitForText.mustache +2 -2
  122. package/docs/webapi/waitForValue.mustache +1 -1
  123. package/docs/webapi/waitForVisible.mustache +2 -2
  124. package/docs/webapi/waitInUrl.mustache +1 -1
  125. package/docs/webapi/waitNumberOfVisibleElements.mustache +2 -2
  126. package/docs/webapi/waitToHide.mustache +2 -2
  127. package/docs/webapi/waitUntil.mustache +3 -2
  128. package/docs/webapi/waitUrlEquals.mustache +1 -1
  129. package/docs/webdriver.md +20 -18
  130. package/docs/wiki/.git/FETCH_HEAD +1 -0
  131. package/docs/wiki/.git/HEAD +1 -0
  132. package/docs/wiki/.git/ORIG_HEAD +1 -0
  133. package/docs/wiki/.git/config +11 -0
  134. package/docs/wiki/.git/description +1 -0
  135. package/docs/wiki/.git/hooks/applypatch-msg.sample +15 -0
  136. package/docs/wiki/.git/hooks/commit-msg.sample +24 -0
  137. package/docs/wiki/.git/hooks/fsmonitor-watchman.sample +114 -0
  138. package/docs/wiki/.git/hooks/post-update.sample +8 -0
  139. package/docs/wiki/.git/hooks/pre-applypatch.sample +14 -0
  140. package/docs/wiki/.git/hooks/pre-commit.sample +49 -0
  141. package/docs/wiki/.git/hooks/pre-push.sample +53 -0
  142. package/docs/wiki/.git/hooks/pre-rebase.sample +169 -0
  143. package/docs/wiki/.git/hooks/pre-receive.sample +24 -0
  144. package/docs/wiki/.git/hooks/prepare-commit-msg.sample +42 -0
  145. package/docs/wiki/.git/hooks/update.sample +128 -0
  146. package/docs/wiki/.git/index +0 -0
  147. package/docs/wiki/.git/info/exclude +6 -0
  148. package/docs/wiki/.git/logs/HEAD +4 -0
  149. package/docs/wiki/.git/logs/refs/heads/master +4 -0
  150. package/docs/wiki/.git/logs/refs/remotes/origin/HEAD +1 -0
  151. package/docs/wiki/.git/logs/refs/remotes/origin/master +3 -0
  152. package/docs/wiki/.git/objects/00/d216b0774d15db2d0a2a0d4ce249b5251acc55 +3 -0
  153. package/docs/wiki/.git/objects/09/01d87c5241905fdfe3493cfe8f04df4a2685ea +0 -0
  154. package/docs/wiki/.git/objects/0d/bdd0c20c4deb6a8cc81dbbf32ecf8c09238983 +2 -0
  155. package/docs/wiki/.git/objects/1a/c29e4fa82422c52392f22f0f2b8d1a759535bf +0 -0
  156. package/docs/wiki/.git/objects/27/12f92898d3e8f68e229b6cda76570d6c66d781 +0 -0
  157. package/docs/wiki/.git/objects/2d/dbe22c257166b648928eeb9460ecfb71ba702d +0 -0
  158. package/docs/wiki/.git/objects/2f/c942ec3773efd2678d9ff98035c61fcded81a1 +0 -0
  159. package/docs/wiki/.git/objects/40/a2856342c67796b48911a256b764fb06888b94 +5 -0
  160. package/docs/wiki/.git/objects/47/53181844fc4dc563cf3aa5e80462243cb58d38 +0 -0
  161. package/docs/wiki/.git/objects/4e/24a95fb2e4f8ffef51f19b694451a205c06f10 +3 -0
  162. package/docs/wiki/.git/objects/73/31ebd96f3c7e08a9f63f05a25f939afa0d4de1 +0 -0
  163. package/docs/wiki/.git/objects/86/19cbb2289caa502e33fccf0ed14eecf6ba2ba0 +0 -0
  164. package/docs/wiki/.git/objects/a4/72f797d9d74b87c9f71a2b1539d75bb07d1e35 +0 -0
  165. package/docs/wiki/.git/objects/c9/9f3e4bd227d6b050b2e416f9876df49583dbf6 +0 -0
  166. package/docs/wiki/.git/objects/ca/e609b4ef3e0ef85fcbe0d68d1a58246584b915 +0 -0
  167. package/docs/wiki/.git/objects/d5/8386ca72f6d550548f3d71d74e3ac73d5ad488 +0 -0
  168. package/docs/wiki/.git/objects/d9/c6874a6de524bdafeb563a20d847f4fdd59a86 +0 -0
  169. package/docs/wiki/.git/objects/f1/c944675bb38b40ae553b0be36c14674c79af54 +0 -0
  170. package/docs/wiki/.git/objects/pack/pack-28da0fc7e6c08d4c5350717bfbb7b1c53e8198ad.idx +0 -0
  171. package/docs/wiki/.git/objects/pack/pack-28da0fc7e6c08d4c5350717bfbb7b1c53e8198ad.pack +0 -0
  172. package/docs/wiki/.git/packed-refs +2 -0
  173. package/docs/wiki/.git/refs/heads/master +1 -0
  174. package/docs/wiki/.git/refs/remotes/origin/HEAD +1 -0
  175. package/docs/wiki/.git/refs/remotes/origin/master +1 -0
  176. package/docs/wiki/Books-&-Posts.md +27 -0
  177. package/docs/wiki/Community-Helpers.md +41 -0
  178. package/docs/wiki/Examples.md +138 -0
  179. package/docs/wiki/Home.md +11 -0
  180. package/docs/wiki/Release-process.md +25 -0
  181. package/docs/wiki/Roadmap.md +23 -0
  182. package/docs/wiki/Videos.md +19 -0
  183. package/lib/actor.js +18 -1
  184. package/lib/assert/error.js +3 -3
  185. package/lib/codecept.js +9 -6
  186. package/lib/command/configMigrate.js +7 -6
  187. package/lib/command/definitions.js +98 -350
  188. package/lib/command/generate.js +22 -17
  189. package/lib/command/gherkin/init.js +2 -1
  190. package/lib/command/gherkin/snippets.js +6 -6
  191. package/lib/command/gherkin/steps.js +0 -1
  192. package/lib/command/info.js +40 -0
  193. package/lib/command/init.js +54 -41
  194. package/lib/command/run-multiple.js +5 -4
  195. package/lib/command/run-rerun.js +39 -0
  196. package/lib/command/run-workers.js +4 -6
  197. package/lib/command/run.js +8 -18
  198. package/lib/command/utils.js +23 -2
  199. package/lib/command/workers/runTests.js +1 -2
  200. package/lib/config.js +10 -4
  201. package/lib/container.js +31 -6
  202. package/lib/data/dataTableArgument.js +31 -0
  203. package/lib/data/table.js +4 -0
  204. package/lib/event.js +65 -1
  205. package/lib/helper/Appium.js +52 -38
  206. package/lib/helper/FileSystem.js +48 -3
  207. package/lib/helper/GraphQL.js +3 -2
  208. package/lib/helper/GraphQLDataFactory.js +1 -0
  209. package/lib/helper/Mochawesome.js +3 -2
  210. package/lib/helper/MockRequest.js +23 -5
  211. package/lib/helper/Nightmare.js +5 -6
  212. package/lib/helper/Protractor.js +7 -8
  213. package/lib/helper/Puppeteer.js +76 -20
  214. package/lib/helper/REST.js +13 -9
  215. package/lib/helper/SeleniumWebdriver.js +0 -17
  216. package/lib/helper/TestCafe.js +84 -36
  217. package/lib/helper/WebDriver.js +113 -59
  218. package/lib/helper/WebDriverIO.js +43 -59
  219. package/lib/helper/clientscripts/nightmare.js +66 -4
  220. package/lib/helper/scripts/isElementClickable.js +24 -0
  221. package/lib/helper.js +34 -10
  222. package/lib/history.js +1 -1
  223. package/lib/hooks.js +2 -1
  224. package/lib/index.js +19 -0
  225. package/lib/interfaces/bdd.js +4 -0
  226. package/lib/interfaces/featureConfig.js +10 -3
  227. package/lib/interfaces/gherkin.js +6 -2
  228. package/lib/interfaces/scenarioConfig.js +17 -6
  229. package/lib/listener/config.js +1 -1
  230. package/lib/listener/exit.js +6 -0
  231. package/lib/listener/steps.js +0 -1
  232. package/lib/listener/trace.js +0 -1
  233. package/lib/locator.js +67 -2
  234. package/lib/output.js +53 -0
  235. package/lib/parser.js +2 -71
  236. package/lib/pause.js +3 -2
  237. package/lib/plugin/allure.js +41 -22
  238. package/lib/plugin/autoLogin.js +4 -1
  239. package/lib/plugin/pauseOnFail.js +38 -0
  240. package/lib/plugin/puppeteerCoverage.js +8 -7
  241. package/lib/plugin/screenshotOnFail.js +13 -8
  242. package/lib/plugin/stepByStepReport.js +7 -6
  243. package/lib/plugin/wdio.js +2 -1
  244. package/lib/recorder.js +85 -7
  245. package/lib/rerun.js +81 -0
  246. package/lib/secret.js +6 -0
  247. package/lib/session.js +9 -2
  248. package/lib/step.js +37 -2
  249. package/lib/store.js +5 -1
  250. package/lib/ui.js +34 -8
  251. package/lib/utils.js +6 -13
  252. package/lib/within.js +5 -0
  253. package/package.json +49 -29
  254. package/typings/Mocha.d.ts +21 -0
  255. package/typings/Protractor.d.ts +16 -0
  256. package/typings/index.d.ts +169 -0
  257. package/typings/jsdoc.conf.js +34 -0
  258. package/typings/jsdoc.namespace.js +29 -0
  259. package/typings/types.d.ts +9827 -0
  260. package/typings/utils.d.ts +7 -0
  261. package/docs/acceptance.md +0 -409
  262. package/docs/api/codecept.md +0 -75
  263. package/docs/api/config.md +0 -49
  264. package/docs/api/container.md +0 -66
  265. package/docs/api/helper.md +0 -116
  266. package/docs/api/output.md +0 -67
  267. package/docs/api/recorder.md +0 -63
  268. package/docs/helpers/SeleniumWebdriver.md +0 -92
  269. package/docs/helpers/WebDriverIO.md +0 -1671
@@ -1,5 +1,7 @@
1
1
  ---
2
- id: WebDriver
2
+ permalink: /helpers/WebDriver
3
+ editLink: false
4
+ sidebar: auto
3
5
  title: WebDriver
4
6
  ---
5
7
 
@@ -7,7 +9,7 @@ title: WebDriver
7
9
 
8
10
  ## WebDriver
9
11
 
10
- Extends Helper
12
+ **Extends Helper**
11
13
 
12
14
  WebDriver helper which wraps [webdriverio][1] library to
13
15
  manipulate browser using Selenium WebDriver or PhantomJS.
@@ -19,20 +21,21 @@ WebDriver requires [Selenium Server and ChromeDriver/GeckoDriver to be installed
19
21
  This helper should be configured in codecept.json or codecept.conf.js
20
22
 
21
23
  - `url`: base url of website to be tested.
24
+ - `basicAuth`: (optional) the basic authentication to pass to base url. Example: {username: 'username', password: 'password'}
22
25
  - `browser`: browser in which to perform testing.
23
26
  - `host`: - WebDriver host to connect.
24
27
  - `port`: - WebDriver port to connect.
25
28
  - `protocol`: - protocol for WebDriver server.
26
29
  - `path`: - path to WebDriver server,
27
30
  - `restart`: - restart browser between tests.
28
- - `smartWait`: (optional) enables [SmartWait][3]; wait for additional milliseconds for element to appear. Enable for 5 secs: "smartWait": 5000.
31
+ - `smartWait`: (optional) **enables [SmartWait][3]**; wait for additional milliseconds for element to appear. Enable for 5 secs: "smartWait": 5000.
29
32
  - `disableScreenshots`: - don't save screenshots on failure.
30
33
  - `fullPageScreenshots` - make full page screenshots on failure.
31
34
  - `uniqueScreenshotNames`: - option to prevent screenshot override if you have scenarios with the same name in different suites.
32
35
  - `keepBrowserState`: - keep browser state between tests when `restart` is set to false.
33
36
  - `keepCookies`: - keep cookies between tests when `restart` set to false.
34
37
  - `windowSize`: (optional) default window size. Set to `maximize` or a dimension in the format `640x480`.
35
- - `waitForTimeout`: sets default wait time in _ms_ for all `wait` functions.
38
+ - `waitForTimeout`: sets default wait time in _ms_ for all `wait*` functions.
36
39
  - `desiredCapabilities`: Selenium's [desired
37
40
  capabilities][4].
38
41
  - `manualStart`: - do not start browser before a test, start it manually inside a helper
@@ -58,6 +61,26 @@ Example:
58
61
  }
59
62
  ```
60
63
 
64
+ Example with basic authentication
65
+
66
+ ```js
67
+ {
68
+ helpers: {
69
+ WebDriver : {
70
+ smartWait: 5000,
71
+ browser: "chrome",
72
+ basicAuth: {username: 'username', password: 'password'},
73
+ restart: false,
74
+ windowSize: "maximize",
75
+ timeouts: {
76
+ "script": 60000,
77
+ "page load": 10000
78
+ }
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
61
84
  Additional configuration params can be used from [webdriverio
62
85
  website][6].
63
86
 
@@ -71,7 +94,7 @@ website][6].
71
94
  browser: "chrome",
72
95
  desiredCapabilities: {
73
96
  chromeOptions: {
74
- args: [ "--headless", "--disable-gpu", "--window-size=800,600" ]
97
+ args: [ "--headless", "--disable-gpu", "--no-sandbox" ]
75
98
  }
76
99
  }
77
100
  }
@@ -256,7 +279,7 @@ See [complete reference on webdriver.io][12].
256
279
 
257
280
  #### TestingBot
258
281
 
259
- > Recommended: use official [TestingBot Helper][14].
282
+ > **Recommended**: use official [TestingBot Helper][14].
260
283
 
261
284
  Alternatively, TestingBot can be configured via wdio service, which should be installed additionally:
262
285
 
@@ -329,7 +352,7 @@ const browser = WebDriver.browser
329
352
 
330
353
  - `config`
331
354
 
332
- ### \_locate
355
+ ### _locate
333
356
 
334
357
  Get elements by different locator types, including strict locator.
335
358
  Should be used in custom helpers:
@@ -340,10 +363,10 @@ this.helpers['WebDriver']._locate({name: 'password'}).then //...
340
363
 
341
364
  #### Parameters
342
365
 
343
- - `locator` element located by CSS|XPath|strict locator.
366
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
344
367
  - `smartWait`
345
368
 
346
- ### \_locateCheckable
369
+ ### _locateCheckable
347
370
 
348
371
  Find a checkbox by providing human readable text:
349
372
 
@@ -353,9 +376,9 @@ this.helpers['WebDriver']._locateCheckable('I agree with terms and conditions').
353
376
 
354
377
  #### Parameters
355
378
 
356
- - `locator` element located by CSS|XPath|strict locator.
379
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
357
380
 
358
- ### \_locateClickable
381
+ ### _locateClickable
359
382
 
360
383
  Find a clickable element by providing human readable text:
361
384
 
@@ -365,9 +388,9 @@ this.helpers['WebDriver']._locateClickable('Next page').then // ...
365
388
 
366
389
  #### Parameters
367
390
 
368
- - `locator` element located by CSS|XPath|strict locator.
391
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
369
392
 
370
- ### \_locateFields
393
+ ### _locateFields
371
394
 
372
395
  Find field elements by providing human readable text:
373
396
 
@@ -377,13 +400,13 @@ this.helpers['WebDriver']._locateFields('Your email').then // ...
377
400
 
378
401
  #### Parameters
379
402
 
380
- - `locator` element located by CSS|XPath|strict locator.
403
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
381
404
 
382
405
  ### acceptPopup
383
406
 
384
407
  Accepts the active JavaScript native popup window, as created by window.alert|window.confirm|window.prompt.
385
408
  Don't confuse popups with modal windows, as created by [various
386
- libraries][18].
409
+ libraries][20].
387
410
 
388
411
  ### amOnPage
389
412
 
@@ -398,9 +421,7 @@ I.amOnPage('/login'); // opens a login page
398
421
 
399
422
  #### Parameters
400
423
 
401
- - `url` [string][19] url path or global url.
402
-
403
-
424
+ - `url` **[string][18]** url path or global url.
404
425
 
405
426
  ### appendField
406
427
 
@@ -413,10 +434,8 @@ I.appendField('#myTextField', 'appended');
413
434
 
414
435
  #### Parameters
415
436
 
416
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator
417
- - `value` [string][19] text value to append.
418
-
419
-
437
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator
438
+ - `value` **[string][18]** text value to append.
420
439
 
421
440
 
422
441
 
@@ -436,10 +455,8 @@ I.attachFile('form input[name=avatar]', 'data/avatar.jpg');
436
455
 
437
456
  #### Parameters
438
457
 
439
- - `locator` ([string][19] \| [object][20]) field located by label|name|CSS|XPath|strict locator.
440
- - `pathToFile` [string][19] local file path relative to codecept.json config file.
441
-
442
-
458
+ - `locator` **([string][18] | [object][19])** field located by label|name|CSS|XPath|strict locator.
459
+ - `pathToFile` **[string][18]** local file path relative to codecept.json config file.
443
460
  Appium: not tested
444
461
 
445
462
  ### cancelPopup
@@ -461,10 +478,8 @@ I.checkOption('agree', '//form');
461
478
 
462
479
  #### Parameters
463
480
 
464
- - `field` ([string][19] \| [object][20]) checkbox located by label | name | CSS | XPath | strict locator.
465
- - `context` [string][19] (optional, `null` by default) element located by CSS | XPath | strict locator.
466
-
467
-
481
+ - `field` **([string][18] | [object][19])** checkbox located by label | name | CSS | XPath | strict locator.
482
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element located by CSS | XPath | strict locator.
468
483
  Appium: not tested
469
484
 
470
485
  ### clearCookie
@@ -479,9 +494,7 @@ I.clearCookie('test');
479
494
 
480
495
  #### Parameters
481
496
 
482
- - `cookie` [string][19] (optional, `null` by default) cookie name
483
-
484
-
497
+ - `cookie` **[string][18]?** (optional, `null` by default) cookie name
485
498
 
486
499
  ### clearField
487
500
 
@@ -496,9 +509,7 @@ I.clearField('#email');
496
509
  #### Parameters
497
510
 
498
511
  - `field`
499
- - `editable` ([string][19] \| [object][20]) field located by label|name|CSS|XPath|strict locator.
500
-
501
-
512
+ - `editable` **([string][18] | [object][19])** field located by label|name|CSS|XPath|strict locator.
502
513
 
503
514
  ### click
504
515
 
@@ -517,7 +528,7 @@ I.click('Submit');
517
528
  // CSS button
518
529
  I.click('#form input[type=submit]');
519
530
  // XPath
520
- I.click('//form/[@type=submit]');
531
+ I.click('//form/*[@type=submit]');
521
532
  // link in context
522
533
  I.click('Logout', '#nav');
523
534
  // using strict locator
@@ -526,10 +537,8 @@ I.click({css: 'nav a.login'});
526
537
 
527
538
  #### Parameters
528
539
 
529
- - `locator` ([string][19] \| [object][20]) clickable link or button located by text, or any element located by CSS|XPath|strict locator.
530
- - `context` ([string][19] \| [object][20]) (optional, `null` by default) element to search in CSS|XPath|Strict locator.
531
-
532
-
540
+ - `locator` **([string][18] | [object][19])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
541
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
533
542
 
534
543
 
535
544
  This action supports [React locators](https://codecept.io/react#locators)
@@ -564,7 +573,7 @@ I.defineTimeout({ implicit: 10000, pageLoad: 10000, script: 5000 });
564
573
 
565
574
  #### Parameters
566
575
 
567
- - `timeouts` WebDriver timeouts object.
576
+ - `timeouts` **WebdriverIO.Timeouts** WebDriver timeouts object.
568
577
 
569
578
  ### dontSee
570
579
 
@@ -578,9 +587,8 @@ I.dontSee('Login', '.nav'); // no login inside .nav element
578
587
 
579
588
  #### Parameters
580
589
 
581
- - `text` [string][19] which is not present.
582
- - `context` ([string][19] \| [object][20]) (optional) element located by CSS|XPath|strict locator in which to perfrom search.
583
-
590
+ - `text` **[string][18]** which is not present.
591
+ - `context` **([string][18] | [object][19])?** (optional) element located by CSS|XPath|strict locator in which to perfrom search.
584
592
 
585
593
 
586
594
  This action supports [React locators](https://codecept.io/react#locators)
@@ -598,10 +606,7 @@ I.dontSeeCheckboxIsChecked('agree'); // located by name
598
606
 
599
607
  #### Parameters
600
608
 
601
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
602
-
603
-
604
- Appium: not tested
609
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.Appium: not tested
605
610
 
606
611
  ### dontSeeCookie
607
612
 
@@ -613,9 +618,7 @@ I.dontSeeCookie('auth'); // no auth cookie
613
618
 
614
619
  #### Parameters
615
620
 
616
- - `name` [string][19] cookie name.
617
-
618
-
621
+ - `name` **[string][18]** cookie name.
619
622
 
620
623
  ### dontSeeCurrentUrlEquals
621
624
 
@@ -629,9 +632,7 @@ I.dontSeeCurrentUrlEquals('http://mysite.com/login'); // absolute urls are also
629
632
 
630
633
  #### Parameters
631
634
 
632
- - `url` [string][19] value to check.
633
-
634
-
635
+ - `url` **[string][18]** value to check.
635
636
 
636
637
  ### dontSeeElement
637
638
 
@@ -643,9 +644,7 @@ I.dontSeeElement('.modal'); // modal is not shown
643
644
 
644
645
  #### Parameters
645
646
 
646
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|Strict locator.
647
-
648
-
647
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|Strict locator.
649
648
 
650
649
 
651
650
 
@@ -662,9 +661,7 @@ I.dontSeeElementInDOM('.nav'); // checks that element is not on page visible or
662
661
 
663
662
  #### Parameters
664
663
 
665
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|Strict locator.
666
-
667
-
664
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|Strict locator.
668
665
 
669
666
  ### dontSeeInCurrentUrl
670
667
 
@@ -672,9 +669,7 @@ Checks that current url does not contain a provided fragment.
672
669
 
673
670
  #### Parameters
674
671
 
675
- - `url` [string][19] value to check.
676
-
677
-
672
+ - `url` **[string][18]** value to check.
678
673
 
679
674
  ### dontSeeInField
680
675
 
@@ -688,10 +683,8 @@ I.dontSeeInField({ css: 'form input.email' }, 'user@user.com'); // field by CSS
688
683
 
689
684
  #### Parameters
690
685
 
691
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
692
- - `value` [string][19] value to check.
693
-
694
-
686
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.
687
+ - `value` **[string][18]** value to check.
695
688
 
696
689
  ### dontSeeInSource
697
690
 
@@ -704,9 +697,7 @@ I.dontSeeInSource('<!--'); // no comments in source
704
697
  #### Parameters
705
698
 
706
699
  - `text`
707
- - `value` [string][19] to check.
708
-
709
-
700
+ - `value` **[string][18]** to check.
710
701
 
711
702
  ### dontSeeInTitle
712
703
 
@@ -718,9 +709,7 @@ I.dontSeeInTitle('Error');
718
709
 
719
710
  #### Parameters
720
711
 
721
- - `text` [string][19] value to check.
722
-
723
-
712
+ - `text` **[string][18]** value to check.
724
713
 
725
714
  ### doubleClick
726
715
 
@@ -736,10 +725,8 @@ I.doubleClick('.btn.edit');
736
725
 
737
726
  #### Parameters
738
727
 
739
- - `locator` ([string][19] \| [object][20]) clickable link or button located by text, or any element located by CSS|XPath|strict locator.
740
- - `context` ([string][19] \| [object][20]) (optional, `null` by default) element to search in CSS|XPath|Strict locator.
741
-
742
-
728
+ - `locator` **([string][18] | [object][19])** clickable link or button located by text, or any element located by CSS|XPath|strict locator.
729
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element to search in CSS|XPath|Strict locator.
743
730
 
744
731
 
745
732
  This action supports [React locators](https://codecept.io/react#locators)
@@ -755,10 +742,8 @@ I.dragAndDrop('#dragHandle', '#container');
755
742
 
756
743
  #### Parameters
757
744
 
758
- - `srcElement` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
759
- - `destElement` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
760
-
761
-
745
+ - `srcElement` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
746
+ - `destElement` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
762
747
  Appium: not tested
763
748
 
764
749
  ### dragSlider
@@ -773,10 +758,8 @@ I.dragSlider('#slider', -70);
773
758
 
774
759
  #### Parameters
775
760
 
776
- - `locator` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
777
- - `offsetX` [number][22] position to drag.
778
-
779
-
761
+ - `locator` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.
762
+ - `offsetX` **[number][22]** position to drag.
780
763
 
781
764
  ### executeAsyncScript
782
765
 
@@ -803,7 +786,10 @@ let val = await I.executeAsyncScript(function(url, done) {
803
786
 
804
787
  #### Parameters
805
788
 
806
- - `fn` ([string][19] \| [function][24]) function to be executed in browser context.
789
+ - `fn` **([string][18] | [function][24])** function to be executed in browser context.
790
+ - `args` **...any** to be passed to function.
791
+
792
+ Returns **[Promise][25]&lt;any>**
807
793
 
808
794
  ### executeScript
809
795
 
@@ -833,7 +819,10 @@ let date = await I.executeScript(function(el) {
833
819
 
834
820
  #### Parameters
835
821
 
836
- - `fn` ([string][19] \| [function][24]) function to be executed in browser context.
822
+ - `fn` **([string][18] | [function][24])** function to be executed in browser context.
823
+ - `args` **...any** to be passed to function.
824
+
825
+ Returns **[Promise][25]&lt;any>** Wraps [execute][26] command.
837
826
 
838
827
  ### fillField
839
828
 
@@ -853,11 +842,8 @@ I.fillField({css: 'form#login input[name=username]'}, 'John');
853
842
 
854
843
  #### Parameters
855
844
 
856
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
857
- - `value` [string][19] text value to fill.
858
-
859
-
860
-
845
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.
846
+ - `value` **[string][18]** text value to fill.
861
847
 
862
848
 
863
849
  This action supports [React locators](https://codecept.io/react#locators)
@@ -876,7 +862,7 @@ const windows = await I.grabAllWindowHandles();
876
862
 
877
863
  Retrieves an attribute from an element located by CSS or XPath and returns it to test.
878
864
  An array as a result will be returned if there are more than one matched element.
879
- Resumes test execution, so should be used inside async with `await` operator.
865
+ Resumes test execution, so **should be used inside async with `await`** operator.
880
866
 
881
867
  ```js
882
868
  let hint = await I.grabAttributeFrom('#tooltip', 'title');
@@ -884,12 +870,10 @@ let hint = await I.grabAttributeFrom('#tooltip', 'title');
884
870
 
885
871
  #### Parameters
886
872
 
887
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
888
- - `attr` [string][19] attribute name.
889
-
890
- Returns [Promise][25]&lt;[string][19]> attribute value
891
-
873
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
874
+ - `attr` **[string][18]** attribute name.
892
875
 
876
+ Returns **[Promise][25]&lt;[string][18]>** attribute value
893
877
  Appium: can be used for apps only with several values ("contentDescription", "text", "className", "resourceId")
894
878
 
895
879
  ### grabBrowserLogs
@@ -901,12 +885,13 @@ let logs = await I.grabBrowserLogs();
901
885
  console.log(JSON.stringify(logs))
902
886
  ```
903
887
 
888
+ Returns **[Promise][25]&lt;([string][18] | [undefined][27])>**
889
+
904
890
  ### grabCookie
905
891
 
906
892
  Gets a cookie object by name.
907
893
  If none provided gets all cookies.
908
-
909
- - Resumes test execution, so should be used inside async with `await` operator.
894
+ Resumes test execution, so **should be used inside async with `await`** operator.
910
895
 
911
896
  ```js
912
897
  let cookie = await I.grabCookie('auth');
@@ -915,16 +900,14 @@ assert(cookie.value, '123456');
915
900
 
916
901
  #### Parameters
917
902
 
918
- - `name` cookie name.
919
-
920
- Returns [Promise][25]&lt;[string][19]> attribute value
921
-
903
+ - `name` **[string][18]?** cookie name.
922
904
 
905
+ Returns **[Promise][25]&lt;[string][18]>** attribute value
923
906
 
924
907
  ### grabCssPropertyFrom
925
908
 
926
909
  Grab CSS property for given locator
927
- Resumes test execution, so should be used inside an async function with `await` operator.
910
+ Resumes test execution, so **should be used inside an async function with `await`** operator.
928
911
 
929
912
  ```js
930
913
  const value = await I.grabCssPropertyFrom('h3', 'font-weight');
@@ -932,12 +915,10 @@ const value = await I.grabCssPropertyFrom('h3', 'font-weight');
932
915
 
933
916
  #### Parameters
934
917
 
935
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
936
- - `cssProperty` [string][19] CSS property name.
937
-
938
- Returns [Promise][25]&lt;[string][19]> CSS value
939
-
918
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
919
+ - `cssProperty` **[string][18]** CSS property name.
940
920
 
921
+ Returns **[Promise][25]&lt;[string][18]>** CSS value
941
922
 
942
923
  ### grabCurrentUrl
943
924
 
@@ -949,9 +930,7 @@ let url = await I.grabCurrentUrl();
949
930
  console.log(`Current URL is [${url}]`);
950
931
  ```
951
932
 
952
- Returns [Promise][25]&lt;[string][19]> current URL
953
-
954
-
933
+ Returns **[Promise][25]&lt;[string][18]>** current URL
955
934
 
956
935
  ### grabCurrentWindowHandle
957
936
 
@@ -966,7 +945,7 @@ const window = await I.grabCurrentWindowHandle();
966
945
 
967
946
  Grab the width, height, location of given locator.
968
947
  Provide `width` or `height`as second param to get your desired prop.
969
- Resumes test execution, so should be used inside an async function with `await` operator.
948
+ Resumes test execution, so **should be used inside an async function with `await`** operator.
970
949
 
971
950
  Returns an object with `x`, `y`, `width`, `height` keys.
972
951
 
@@ -984,13 +963,11 @@ const width = await I.grabElementBoundingRect('h3', 'width');
984
963
 
985
964
  #### Parameters
986
965
 
987
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
966
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
988
967
  - `prop`
989
- - `elementSize` [string][19] x, y, width or height of the given element.
990
-
991
- Returns [object][20] Element bounding rectangle
992
-
968
+ - `elementSize` **[string][18]** x, y, width or height of the given element.
993
969
 
970
+ Returns **[object][19]** Element bounding rectangle
994
971
 
995
972
  ### grabGeoLocation
996
973
 
@@ -1000,13 +977,10 @@ Return the current geo location
1000
977
  let geoLocation = await I.grabGeoLocation();
1001
978
  ```
1002
979
 
1003
-
1004
-
1005
-
1006
980
  ### grabHTMLFrom
1007
981
 
1008
982
  Retrieves the innerHTML from an element located by CSS or XPath and returns it to test.
1009
- Resumes test execution, so should be used inside async function with `await` operator.
983
+ Resumes test execution, so **should be used inside async function with `await`** operator.
1010
984
  If more than one element is found - an array of HTMLs returned.
1011
985
 
1012
986
  ```js
@@ -1015,11 +989,10 @@ let postHTML = await I.grabHTMLFrom('#post');
1015
989
 
1016
990
  #### Parameters
1017
991
 
1018
- - `locator` element located by CSS|XPath|strict locator.
1019
-
1020
- Returns [Promise][25]&lt;[string][19]> HTML code for an element
1021
-
992
+ - `locator`
993
+ - `element` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1022
994
 
995
+ Returns **[Promise][25]&lt;[string][18]>** HTML code for an element
1023
996
 
1024
997
  ### grabNumberOfOpenTabs
1025
998
 
@@ -1029,9 +1002,7 @@ Grab number of open tabs.
1029
1002
  let tabs = await I.grabNumberOfOpenTabs();
1030
1003
  ```
1031
1004
 
1032
- Returns [Promise][25]&lt;[number][22]> number of open tabs
1033
-
1034
-
1005
+ Returns **[Promise][25]&lt;[number][22]>** number of open tabs
1035
1006
 
1036
1007
  ### grabNumberOfVisibleElements
1037
1008
 
@@ -1043,24 +1014,20 @@ let numOfElements = await I.grabNumberOfVisibleElements('p');
1043
1014
 
1044
1015
  #### Parameters
1045
1016
 
1046
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1047
-
1048
- Returns [Promise][25]&lt;[number][22]> number of visible elements
1049
-
1017
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1050
1018
 
1019
+ Returns **[Promise][25]&lt;[number][22]>** number of visible elements
1051
1020
 
1052
1021
  ### grabPageScrollPosition
1053
1022
 
1054
1023
  Retrieves a page scroll position and returns it to test.
1055
- Resumes test execution, so should be used inside an async function with `await` operator.
1024
+ Resumes test execution, so **should be used inside an async function with `await`** operator.
1056
1025
 
1057
1026
  ```js
1058
1027
  let { x, y } = await I.grabPageScrollPosition();
1059
1028
  ```
1060
1029
 
1061
- Returns [Promise][25]&lt;[object][20]> scroll position
1062
-
1063
-
1030
+ Returns **[Promise][25]&lt;[Object][19]&lt;[string][18], any>>** scroll position
1064
1031
 
1065
1032
  ### grabPopupText
1066
1033
 
@@ -1079,14 +1046,12 @@ Resumes test execution, so should be used inside an async function.
1079
1046
  let pageSource = await I.grabSource();
1080
1047
  ```
1081
1048
 
1082
- Returns [Promise][25]&lt;[string][19]> source code
1083
-
1084
-
1049
+ Returns **[Promise][25]&lt;[string][18]>** source code
1085
1050
 
1086
1051
  ### grabTextFrom
1087
1052
 
1088
1053
  Retrieves a text from an element located by CSS or XPath and returns it to test.
1089
- Resumes test execution, so should be used inside async with `await` operator.
1054
+ Resumes test execution, so **should be used inside async with `await`** operator.
1090
1055
 
1091
1056
  ```js
1092
1057
  let pin = await I.grabTextFrom('#pin');
@@ -1096,29 +1061,25 @@ If multiple elements found returns an array of texts.
1096
1061
 
1097
1062
  #### Parameters
1098
1063
 
1099
- - `locator` element located by CSS|XPath|strict locator.
1100
-
1101
- Returns [Promise][25]&lt;[string][19]> attribute value
1102
-
1064
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1103
1065
 
1066
+ Returns **[Promise][25]&lt;([string][18] | [Array][28]&lt;[string][18]>)>** attribute value
1104
1067
 
1105
1068
  ### grabTitle
1106
1069
 
1107
1070
  Retrieves a page title and returns it to test.
1108
- Resumes test execution, so should be used inside async with `await` operator.
1071
+ Resumes test execution, so **should be used inside async with `await`** operator.
1109
1072
 
1110
1073
  ```js
1111
1074
  let title = await I.grabTitle();
1112
1075
  ```
1113
1076
 
1114
- Returns [Promise][25]&lt;[string][19]> title
1115
-
1116
-
1077
+ Returns **[Promise][25]&lt;[string][18]>** title
1117
1078
 
1118
1079
  ### grabValueFrom
1119
1080
 
1120
1081
  Retrieves a value from a form element located by CSS or XPath and returns it to test.
1121
- Resumes test execution, so should be used inside async function with `await` operator.
1082
+ Resumes test execution, so **should be used inside async function with `await`** operator.
1122
1083
 
1123
1084
  ```js
1124
1085
  let email = await I.grabValueFrom('input[name=email]');
@@ -1126,11 +1087,9 @@ let email = await I.grabValueFrom('input[name=email]');
1126
1087
 
1127
1088
  #### Parameters
1128
1089
 
1129
- - `locator` ([string][19] \| [object][20]) field located by label|name|CSS|XPath|strict locator.
1130
-
1131
- Returns [Promise][25]&lt;[string][19]> attribute value
1132
-
1090
+ - `locator` **([string][18] | [object][19])** field located by label|name|CSS|XPath|strict locator.
1133
1091
 
1092
+ Returns **[Promise][25]&lt;[string][18]>** attribute value
1134
1093
 
1135
1094
  ### moveCursorTo
1136
1095
 
@@ -1144,11 +1103,9 @@ I.moveCursorTo('#submit', 5,5);
1144
1103
 
1145
1104
  #### Parameters
1146
1105
 
1147
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1148
- - `offsetX` [number][22] (optional, `0` by default) X-axis offset.
1149
- - `offsetY` [number][22] (optional, `0` by default) Y-axis offset.
1150
-
1151
-
1106
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1107
+ - `offsetX` **[number][22]** (optional, `0` by default) X-axis offset.
1108
+ - `offsetY` **[number][22]** (optional, `0` by default) Y-axis offset.
1152
1109
 
1153
1110
  ### openNewTab
1154
1111
 
@@ -1167,7 +1124,7 @@ I.openNewTab();
1167
1124
 
1168
1125
  Presses a key in the browser (on a focused element).
1169
1126
 
1170
- _Hint:_ For populating text field or textarea, it is recommended to use [`fillField`][26].
1127
+ _Hint:_ For populating text field or textarea, it is recommended to use [`fillField`][29].
1171
1128
 
1172
1129
  ```js
1173
1130
  I.pressKey('Backspace');
@@ -1226,15 +1183,13 @@ Some of the supported key names are:
1226
1183
 
1227
1184
  #### Parameters
1228
1185
 
1229
- - `key` ([string][19] \| [array][27]) key or array of keys to press.
1230
-
1231
- _Note:_ In case a text field or textarea is focused be aware that some browsers do not respect active modifier when combining modifier keys with other keys.
1186
+ - `key` **([string][18] | [Array][28]&lt;[string][18]>)** key or array of keys to press._Note:_ In case a text field or textarea is focused be aware that some browsers do not respect active modifier when combining modifier keys with other keys.
1232
1187
 
1233
1188
  ### pressKeyDown
1234
1189
 
1235
1190
  Presses a key in the browser and leaves it in a down state.
1236
1191
 
1237
- To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`][28]).
1192
+ To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`][30]).
1238
1193
 
1239
1194
  ```js
1240
1195
  I.pressKeyDown('Control');
@@ -1244,15 +1199,13 @@ I.pressKeyUp('Control');
1244
1199
 
1245
1200
  #### Parameters
1246
1201
 
1247
- - `key` [string][19] name of key to press down.
1248
-
1249
-
1202
+ - `key` **[string][18]** name of key to press down.
1250
1203
 
1251
1204
  ### pressKeyUp
1252
1205
 
1253
1206
  Releases a key in the browser which was previously set to a down state.
1254
1207
 
1255
- To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`][28]).
1208
+ To make combinations with modifier key and user operation (e.g. `'Control'` + [`click`][30]).
1256
1209
 
1257
1210
  ```js
1258
1211
  I.pressKeyDown('Control');
@@ -1262,9 +1215,7 @@ I.pressKeyUp('Control');
1262
1215
 
1263
1216
  #### Parameters
1264
1217
 
1265
- - `key` [string][19] name of key to release.
1266
-
1267
-
1218
+ - `key` **[string][18]** name of key to release.
1268
1219
 
1269
1220
  ### refreshPage
1270
1221
 
@@ -1274,9 +1225,6 @@ Reload the current page.
1274
1225
  I.refreshPage();
1275
1226
  ```
1276
1227
 
1277
-
1278
-
1279
-
1280
1228
  ### resizeWindow
1281
1229
 
1282
1230
  Resize the current window to provided width and height.
@@ -1284,10 +1232,8 @@ First parameter can be set to `maximize`.
1284
1232
 
1285
1233
  #### Parameters
1286
1234
 
1287
- - `width` [number][22] width in pixels or `maximize`.
1288
- - `height` [number][22] height in pixels.
1289
-
1290
-
1235
+ - `width` **[number][22]** width in pixels or `maximize`.
1236
+ - `height` **[number][22]** height in pixels.
1291
1237
  Appium: not tested in web, in apps doesn't work
1292
1238
 
1293
1239
  ### rightClick
@@ -1305,14 +1251,12 @@ I.rightClick('Click me', '.context');
1305
1251
 
1306
1252
  #### Parameters
1307
1253
 
1308
- - `locator` ([string][19] \| [object][20]) clickable element located by CSS|XPath|strict locator.
1309
- - `context` ([string][19] \| [object][20]) (optional, `null` by default) element located by CSS|XPath|strict locator.
1310
-
1311
-
1254
+ - `locator` **([string][18] | [object][19])** clickable element located by CSS|XPath|strict locator.
1255
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element located by CSS|XPath|strict locator.
1312
1256
 
1313
1257
 
1314
1258
  This action supports [React locators](https://codecept.io/react#locators)
1315
-
1259
+
1316
1260
 
1317
1261
  ### runInWeb
1318
1262
 
@@ -1353,21 +1297,32 @@ I.saveScreenshot('debug.png', true) //resizes to available scrollHeight and scro
1353
1297
 
1354
1298
  #### Parameters
1355
1299
 
1356
- - `fileName` [string][19] file name to save.
1357
- - `fullPage` [boolean][29] (optional, `false` by default) flag to enable fullscreen screenshot mode.
1358
-
1359
-
1300
+ - `fileName` **[string][18]** file name to save.
1301
+ - `fullPage` **[boolean][31]** (optional, `false` by default) flag to enable fullscreen screenshot mode.
1360
1302
 
1361
- ### scrollPageToBottom
1303
+ ### scrollIntoView
1362
1304
 
1363
- Scroll page to the bottom.
1305
+ Scroll element into viewport.
1364
1306
 
1365
1307
  ```js
1366
- I.scrollPageToBottom();
1308
+ I.scrollIntoView('#submit');
1309
+ I.scrollIntoView('#submit', true);
1310
+ I.scrollIntoView('#submit', { behavior: "smooth", block: "center", inline: "center" });
1367
1311
  ```
1368
1312
 
1313
+ #### Parameters
1314
+
1315
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1316
+ - `scrollIntoViewOptions`
1317
+ - `alignToTop` **([boolean][31] | [object][19])** (optional) or scrollIntoViewOptions (optional), see [https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView][32].
1318
+
1319
+ ### scrollPageToBottom
1369
1320
 
1321
+ Scroll page to the bottom.
1370
1322
 
1323
+ ```js
1324
+ I.scrollPageToBottom();
1325
+ ```
1371
1326
 
1372
1327
  ### scrollPageToTop
1373
1328
 
@@ -1377,9 +1332,6 @@ Scroll page to the top.
1377
1332
  I.scrollPageToTop();
1378
1333
  ```
1379
1334
 
1380
-
1381
-
1382
-
1383
1335
  ### scrollTo
1384
1336
 
1385
1337
  Scrolls to element matched by locator.
@@ -1392,11 +1344,9 @@ I.scrollTo('#submit', 5, 5);
1392
1344
 
1393
1345
  #### Parameters
1394
1346
 
1395
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1396
- - `offsetX` [number][22] (optional, `0` by default) X-axis offset.
1397
- - `offsetY` [number][22] (optional, `0` by default) Y-axis offset.
1398
-
1399
-
1347
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1348
+ - `offsetX` **[number][22]** (optional, `0` by default) X-axis offset.
1349
+ - `offsetY` **[number][22]** (optional, `0` by default) Y-axis offset.
1400
1350
 
1401
1351
  ### see
1402
1352
 
@@ -1411,10 +1361,8 @@ I.see('Register', {css: 'form.register'}); // use strict locator
1411
1361
 
1412
1362
  #### Parameters
1413
1363
 
1414
- - `text` [string][19] expected on page.
1415
- - `context` ([string][19] \| [object][20]) (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
1416
-
1417
-
1364
+ - `text` **[string][18]** expected on page.
1365
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element located by CSS|Xpath|strict locator in which to search for text.
1418
1366
 
1419
1367
 
1420
1368
  This action supports [React locators](https://codecept.io/react#locators)
@@ -1430,10 +1378,8 @@ I.seeAttributesOnElements('//form', { method: "post"});
1430
1378
 
1431
1379
  #### Parameters
1432
1380
 
1433
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1434
- - `attributes` [object][20] attributes and their values to check.
1435
-
1436
-
1381
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1382
+ - `attributes` **[object][19]** attributes and their values to check.
1437
1383
 
1438
1384
  ### seeCheckboxIsChecked
1439
1385
 
@@ -1447,10 +1393,7 @@ I.seeCheckboxIsChecked({css: '#signup_form input[type=checkbox]'});
1447
1393
 
1448
1394
  #### Parameters
1449
1395
 
1450
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
1451
-
1452
-
1453
- Appium: not tested
1396
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.Appium: not tested
1454
1397
 
1455
1398
  ### seeCookie
1456
1399
 
@@ -1462,9 +1405,7 @@ I.seeCookie('Auth');
1462
1405
 
1463
1406
  #### Parameters
1464
1407
 
1465
- - `name` [string][19] cookie name.
1466
-
1467
-
1408
+ - `name` **[string][18]** cookie name.
1468
1409
 
1469
1410
  ### seeCssPropertiesOnElements
1470
1411
 
@@ -1476,10 +1417,8 @@ I.seeCssPropertiesOnElements('h3', { 'font-weight': "bold"});
1476
1417
 
1477
1418
  #### Parameters
1478
1419
 
1479
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1480
- - `cssProperties` [object][20] object with CSS properties and their values to check.
1481
-
1482
-
1420
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1421
+ - `cssProperties` **[object][19]** object with CSS properties and their values to check.
1483
1422
 
1484
1423
  ### seeCurrentUrlEquals
1485
1424
 
@@ -1494,9 +1433,7 @@ I.seeCurrentUrlEquals('http://my.site.com/register');
1494
1433
 
1495
1434
  #### Parameters
1496
1435
 
1497
- - `url` [string][19] value to check.
1498
-
1499
-
1436
+ - `url` **[string][18]** value to check.
1500
1437
 
1501
1438
  ### seeElement
1502
1439
 
@@ -1509,9 +1446,7 @@ I.seeElement('#modal');
1509
1446
 
1510
1447
  #### Parameters
1511
1448
 
1512
- - `locator` ([string][19] \| [object][20]) located by CSS|XPath|strict locator.
1513
-
1514
-
1449
+ - `locator` **([string][18] | [object][19])** located by CSS|XPath|strict locator.
1515
1450
 
1516
1451
 
1517
1452
 
@@ -1529,9 +1464,7 @@ I.seeElementInDOM('#modal');
1529
1464
 
1530
1465
  #### Parameters
1531
1466
 
1532
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1533
-
1534
-
1467
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1535
1468
 
1536
1469
  ### seeInCurrentUrl
1537
1470
 
@@ -1543,9 +1476,7 @@ I.seeInCurrentUrl('/register'); // we are on registration page
1543
1476
 
1544
1477
  #### Parameters
1545
1478
 
1546
- - `url` [string][19] a fragment to check
1547
-
1548
-
1479
+ - `url` **[string][18]** a fragment to check
1549
1480
 
1550
1481
  ### seeInField
1551
1482
 
@@ -1561,10 +1492,8 @@ I.seeInField('#searchform input','Search');
1561
1492
 
1562
1493
  #### Parameters
1563
1494
 
1564
- - `field` ([string][19] \| [object][20]) located by label|name|CSS|XPath|strict locator.
1565
- - `value` [string][19] value to check.
1566
-
1567
-
1495
+ - `field` **([string][18] | [object][19])** located by label|name|CSS|XPath|strict locator.
1496
+ - `value` **[string][18]** value to check.
1568
1497
 
1569
1498
  ### seeInPopup
1570
1499
 
@@ -1573,7 +1502,7 @@ given string.
1573
1502
 
1574
1503
  #### Parameters
1575
1504
 
1576
- - `text` value to check.
1505
+ - `text` **[string][18]** value to check.
1577
1506
 
1578
1507
  ### seeInSource
1579
1508
 
@@ -1585,9 +1514,7 @@ I.seeInSource('<h1>Green eggs &amp; ham</h1>');
1585
1514
 
1586
1515
  #### Parameters
1587
1516
 
1588
- - `text` [string][19] value to check.
1589
-
1590
-
1517
+ - `text` **[string][18]** value to check.
1591
1518
 
1592
1519
  ### seeInTitle
1593
1520
 
@@ -1599,9 +1526,7 @@ I.seeInTitle('Home Page');
1599
1526
 
1600
1527
  #### Parameters
1601
1528
 
1602
- - `text` [string][19] text value to check.
1603
-
1604
-
1529
+ - `text` **[string][18]** text value to check.
1605
1530
 
1606
1531
  ### seeNumberOfElements
1607
1532
 
@@ -1614,11 +1539,8 @@ I.seeNumberOfElements('#submitBtn', 1);
1614
1539
 
1615
1540
  #### Parameters
1616
1541
 
1617
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1618
- - `num` [number][22] number of elements.
1619
-
1620
-
1621
-
1542
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1543
+ - `num` **[number][22]** number of elements.
1622
1544
 
1623
1545
 
1624
1546
  This action supports [React locators](https://codecept.io/react#locators)
@@ -1635,11 +1557,8 @@ I.seeNumberOfVisibleElements('.buttons', 3);
1635
1557
 
1636
1558
  #### Parameters
1637
1559
 
1638
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1639
- - `num` [number][22] number of elements.
1640
-
1641
-
1642
-
1560
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1561
+ - `num` **[number][22]** number of elements.
1643
1562
 
1644
1563
 
1645
1564
  This action supports [React locators](https://codecept.io/react#locators)
@@ -1655,8 +1574,8 @@ I.seeTextEquals('text', 'h1');
1655
1574
 
1656
1575
  #### Parameters
1657
1576
 
1658
- - `text` element value to check.
1659
- - `context` (optional) element located by CSS|XPath|strict locator.
1577
+ - `text` **[string][18]** element value to check.
1578
+ - `context` **([string][18] | [object][19]?)** element located by CSS|XPath|strict locator.
1660
1579
 
1661
1580
  ### seeTitleEquals
1662
1581
 
@@ -1668,7 +1587,7 @@ I.seeTitleEquals('Test title.');
1668
1587
 
1669
1588
  #### Parameters
1670
1589
 
1671
- - `text` value to check.
1590
+ - `text` **[string][18]** value to check.
1672
1591
 
1673
1592
  ### selectOption
1674
1593
 
@@ -1693,10 +1612,8 @@ I.selectOption('Which OS do you use?', ['Android', 'iOS']);
1693
1612
 
1694
1613
  #### Parameters
1695
1614
 
1696
- - `select` ([string][19] \| [object][20]) field located by label|name|CSS|XPath|strict locator.
1697
- - `option` ([string][19] \| [array][27]) visible text or value of option.
1698
-
1699
-
1615
+ - `select` **([string][18] | [object][19])** field located by label|name|CSS|XPath|strict locator.
1616
+ - `option` **([string][18] | [Array][28]&lt;any>)** visible text or value of option.
1700
1617
 
1701
1618
  ### setCookie
1702
1619
 
@@ -1708,10 +1625,8 @@ I.setCookie({name: 'auth', value: true});
1708
1625
 
1709
1626
  #### Parameters
1710
1627
 
1711
- - `cookie` [object][20] a cookie object.
1712
-
1713
- Uses Selenium's JSON [cookie
1714
- format][30].
1628
+ - `cookie` **[object][19]** a cookie object.Uses Selenium's JSON [cookie
1629
+ format][33].
1715
1630
 
1716
1631
  ### setGeoLocation
1717
1632
 
@@ -1724,11 +1639,9 @@ I.setGeoLocation(121.21, 11.56, 10);
1724
1639
 
1725
1640
  #### Parameters
1726
1641
 
1727
- - `latitude` [number][22] to set.
1728
- - `longitude` [number][22] to set
1729
- - `altitude` [number][22] (optional, null by default) to set
1730
-
1731
-
1642
+ - `latitude` **[number][22]** to set.
1643
+ - `longitude` **[number][22]** to set
1644
+ - `altitude` **[number][22]** (optional, null by default) to set
1732
1645
 
1733
1646
  ### switchTo
1734
1647
 
@@ -1741,9 +1654,7 @@ I.switchTo(); // switch back to main page
1741
1654
 
1742
1655
  #### Parameters
1743
1656
 
1744
- - `locator` ([string][19] \| [object][20]) (optional, `null` by default) element located by CSS|XPath|strict locator.
1745
-
1746
-
1657
+ - `locator` **([string][18]? | [object][19])** (optional, `null` by default) element located by CSS|XPath|strict locator.
1747
1658
 
1748
1659
  ### switchToNextTab
1749
1660
 
@@ -1756,8 +1667,8 @@ I.switchToNextTab(2);
1756
1667
 
1757
1668
  #### Parameters
1758
1669
 
1759
- - `num` (optional) number of tabs to switch forward, default: 1.
1760
- - `sec` (optional) time in seconds to wait.
1670
+ - `num` **[number][22]?** (optional) number of tabs to switch forward, default: 1.
1671
+ - `sec` **([number][22] | null)?** (optional) time in seconds to wait.
1761
1672
 
1762
1673
  ### switchToPreviousTab
1763
1674
 
@@ -1770,8 +1681,8 @@ I.switchToPreviousTab(2);
1770
1681
 
1771
1682
  #### Parameters
1772
1683
 
1773
- - `num` (optional) number of tabs to switch backward, default: 1.
1774
- - `sec` (optional) time in seconds to wait.
1684
+ - `num` **[number][22]?** (optional) number of tabs to switch backward, default: 1.
1685
+ - `sec` **[number][22]??** (optional) time in seconds to wait.
1775
1686
 
1776
1687
  ### switchToWindow
1777
1688
 
@@ -1806,10 +1717,8 @@ I.uncheckOption('agree', '//form');
1806
1717
 
1807
1718
  #### Parameters
1808
1719
 
1809
- - `field` ([string][19] \| [object][20]) checkbox located by label | name | CSS | XPath | strict locator.
1810
- - `context` [string][19] (optional, `null` by default) element located by CSS | XPath | strict locator.
1811
-
1812
-
1720
+ - `field` **([string][18] | [object][19])** checkbox located by label | name | CSS | XPath | strict locator.
1721
+ - `context` **([string][18]? | [object][19])** (optional, `null` by default) element located by CSS | XPath | strict locator.
1813
1722
  Appium: not tested
1814
1723
 
1815
1724
  ### wait
@@ -1822,9 +1731,23 @@ I.wait(2); // wait 2 secs
1822
1731
 
1823
1732
  #### Parameters
1824
1733
 
1825
- - `sec` [number][22] number of second to wait.
1826
-
1734
+ - `sec` **[number][22]** number of second to wait.
1735
+
1736
+ ### waitForClickable
1827
1737
 
1738
+ Waits for element to be clickable (by default waits for 1sec).
1739
+ Element can be located by CSS or XPath.
1740
+
1741
+ ```js
1742
+ I.waitForClickable('.btn.continue');
1743
+ I.waitForClickable('.btn.continue', 5); // wait for 5 secs
1744
+ ```
1745
+
1746
+ #### Parameters
1747
+
1748
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1749
+ - `waitTimeout`
1750
+ - `sec` **[number][22]?** (optional, `1` by default) time in seconds to wait
1828
1751
 
1829
1752
  ### waitForDetached
1830
1753
 
@@ -1837,10 +1760,8 @@ I.waitForDetached('#popup');
1837
1760
 
1838
1761
  #### Parameters
1839
1762
 
1840
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1841
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1842
-
1843
-
1763
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1764
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1844
1765
 
1845
1766
  ### waitForElement
1846
1767
 
@@ -1854,10 +1775,8 @@ I.waitForElement('.btn.continue', 5); // wait for 5 secs
1854
1775
 
1855
1776
  #### Parameters
1856
1777
 
1857
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1858
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1859
-
1860
-
1778
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1779
+ - `sec` **[number][22]?** (optional, `1` by default) time in seconds to wait
1861
1780
 
1862
1781
  ### waitForEnabled
1863
1782
 
@@ -1866,10 +1785,8 @@ Element can be located by CSS or XPath.
1866
1785
 
1867
1786
  #### Parameters
1868
1787
 
1869
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1870
- - `sec` (optional) time in seconds to wait, 1 by default.
1871
-
1872
-
1788
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1789
+ - `sec` **[number][22]** (optional) time in seconds to wait, 1 by default.
1873
1790
 
1874
1791
  ### waitForFunction
1875
1792
 
@@ -1888,11 +1805,9 @@ I.waitForFunction((count) => window.requests == count, [3], 5) // pass args and
1888
1805
 
1889
1806
  #### Parameters
1890
1807
 
1891
- - `fn` ([string][19] \| [function][24]) to be executed in browser context.
1892
- - `argsOrSec` ([array][27] \| [number][22]) (optional, `1` by default) arguments for function or seconds.
1893
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1894
-
1895
-
1808
+ - `fn` **([string][18] | [function][24])** to be executed in browser context.
1809
+ - `argsOrSec` **([Array][28]&lt;any> | [number][22])?** (optional, `1` by default) arguments for function or seconds.
1810
+ - `sec` **[number][22]?** (optional, `1` by default) time in seconds to wait
1896
1811
 
1897
1812
  ### waitForInvisible
1898
1813
 
@@ -1905,10 +1820,8 @@ I.waitForInvisible('#popup');
1905
1820
 
1906
1821
  #### Parameters
1907
1822
 
1908
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1909
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1910
-
1911
-
1823
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1824
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1912
1825
 
1913
1826
  ### waitForText
1914
1827
 
@@ -1923,11 +1836,9 @@ I.waitForText('Thank you, form has been submitted', 5, '#modal');
1923
1836
 
1924
1837
  #### Parameters
1925
1838
 
1926
- - `text` [string][19] to wait for.
1927
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1928
- - `context` ([string][19] \| [object][20]) (optional) element located by CSS|XPath|strict locator.
1929
-
1930
-
1839
+ - `text` **[string][18]** to wait for.
1840
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1841
+ - `context` **([string][18] | [object][19])?** (optional) element located by CSS|XPath|strict locator.
1931
1842
 
1932
1843
  ### waitForValue
1933
1844
 
@@ -1939,11 +1850,9 @@ I.waitForValue('//input', "GoodValue");
1939
1850
 
1940
1851
  #### Parameters
1941
1852
 
1942
- - `field` ([string][19] \| [object][20]) input field.
1943
- - `value` [string][19] expected value.
1944
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1945
-
1946
-
1853
+ - `field` **([string][18] | [object][19])** input field.
1854
+ - `value` **[string][18]** expected value.
1855
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1947
1856
 
1948
1857
  ### waitForVisible
1949
1858
 
@@ -1956,10 +1865,8 @@ I.waitForVisible('#popup');
1956
1865
 
1957
1866
  #### Parameters
1958
1867
 
1959
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1960
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1961
-
1962
-
1868
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1869
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1963
1870
 
1964
1871
  ### waitInUrl
1965
1872
 
@@ -1971,10 +1878,8 @@ I.waitInUrl('/info', 2);
1971
1878
 
1972
1879
  #### Parameters
1973
1880
 
1974
- - `urlPart` [string][19] value to check.
1975
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1976
-
1977
-
1881
+ - `urlPart` **[string][18]** value to check.
1882
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1978
1883
 
1979
1884
  ### waitNumberOfVisibleElements
1980
1885
 
@@ -1986,11 +1891,9 @@ I.waitNumberOfVisibleElements('a', 3);
1986
1891
 
1987
1892
  #### Parameters
1988
1893
 
1989
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
1990
- - `num` [number][22] number of elements.
1991
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
1992
-
1993
-
1894
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1895
+ - `num` **[number][22]** number of elements.
1896
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1994
1897
 
1995
1898
  ### waitToHide
1996
1899
 
@@ -2003,10 +1906,8 @@ I.waitToHide('#popup');
2003
1906
 
2004
1907
  #### Parameters
2005
1908
 
2006
- - `locator` ([string][19] \| [object][20]) element located by CSS|XPath|strict locator.
2007
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
2008
-
2009
-
1909
+ - `locator` **([string][18] | [object][19])** element located by CSS|XPath|strict locator.
1910
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
2010
1911
 
2011
1912
  ### waitUntil
2012
1913
 
@@ -2019,12 +1920,10 @@ I.waitUntil(() => window.requests == 0, 5);
2019
1920
 
2020
1921
  #### Parameters
2021
1922
 
2022
- - `fn` ([function][24] \| [string][19]) function which is executed in browser context.
2023
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
2024
- - `timeoutMsg` [string][19] message to show in case of timeout fail.
2025
-
2026
-
2027
- - `interval`
1923
+ - `fn` **([function][24] | [string][18])** function which is executed in browser context.
1924
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
1925
+ - `timeoutMsg` **[string][18]** message to show in case of timeout fail.
1926
+ - `interval` **[number][22]?**
2028
1927
 
2029
1928
  ### waitUrlEquals
2030
1929
 
@@ -2037,10 +1936,8 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
2037
1936
 
2038
1937
  #### Parameters
2039
1938
 
2040
- - `urlPart` [string][19] value to check.
2041
- - `sec` [number][22] (optional, `1` by default) time in seconds to wait
2042
-
2043
-
1939
+ - `urlPart` **[string][18]** value to check.
1940
+ - `sec` **[number][22]** (optional, `1` by default) time in seconds to wait
2044
1941
 
2045
1942
  [1]: http://webdriver.io/
2046
1943
 
@@ -2076,11 +1973,11 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
2076
1973
 
2077
1974
  [17]: http://webdriver.io/guide/usage/multiremote.html
2078
1975
 
2079
- [18]: http://jster.net/category/windows-modals-popups
1976
+ [18]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
2080
1977
 
2081
- [19]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
1978
+ [19]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
2082
1979
 
2083
- [20]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
1980
+ [20]: http://jster.net/category/windows-modals-popups
2084
1981
 
2085
1982
  [21]: https://webdriver.io/docs/timeouts.html
2086
1983
 
@@ -2092,12 +1989,18 @@ I.waitUrlEquals('http://127.0.0.1:8000/info');
2092
1989
 
2093
1990
  [25]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise
2094
1991
 
2095
- [26]: #fillfield
1992
+ [26]: http://webdriver.io/api/protocol/execute.html
1993
+
1994
+ [27]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined
1995
+
1996
+ [28]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
1997
+
1998
+ [29]: #fillfield
2096
1999
 
2097
- [27]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
2000
+ [30]: #click
2098
2001
 
2099
- [28]: #click
2002
+ [31]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
2100
2003
 
2101
- [29]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
2004
+ [32]: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
2102
2005
 
2103
- [30]: https://code.google.com/p/selenium/wiki/JsonWireProtocol#Cookie_JSON_Object
2006
+ [33]: https://code.google.com/p/selenium/wiki/JsonWireProtocol#Cookie_JSON_Object