@vardot/varbase-e2e 2.0.0

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 (301) hide show
  1. package/AGENTS.md +148 -0
  2. package/CLAUDE.md +544 -0
  3. package/README.md +22 -0
  4. package/bin/generate-reports.js +363 -0
  5. package/bin/init-varbase-e2e.js +330 -0
  6. package/bin/postinstall.js +26 -0
  7. package/cucumber.js +125 -0
  8. package/docs/00-quick-start.md +102 -0
  9. package/docs/01-getting-started.md +102 -0
  10. package/docs/02-bbr-smart-waits.md +77 -0
  11. package/docs/03-selector-registry.md +95 -0
  12. package/docs/04-step-reference.md +801 -0
  13. package/docs/05-web-first-assertions.md +91 -0
  14. package/docs/06-network-and-dialogs.md +83 -0
  15. package/docs/07-auth-state.md +75 -0
  16. package/docs/08-clock-mocking.md +59 -0
  17. package/docs/09-api-testing.md +114 -0
  18. package/docs/10-accessibility.md +167 -0
  19. package/docs/11-debugging.md +129 -0
  20. package/docs/12-ai-agent-guide.md +338 -0
  21. package/docs/13-faq.md +236 -0
  22. package/docs/14-recipes-cookbook.md +255 -0
  23. package/docs/15-tag-conventions.md +76 -0
  24. package/docs/16-ci-cd.md +90 -0
  25. package/docs/README.md +125 -0
  26. package/docs/advanced-screenshots/then-i-save-fullscreen-screenshot.md +36 -0
  27. package/docs/advanced-screenshots/then-i-save-width-x-height-screenshot.md +34 -0
  28. package/docs/advanced-screenshots/when-i-save-screenshot-name-filename.md +45 -0
  29. package/docs/advanced-screenshots.md +52 -0
  30. package/docs/advanced-selectors.md +18 -0
  31. package/docs/api-step-definitions.md +45 -0
  32. package/docs/global-settings.md +267 -0
  33. package/docs/install-varbase-e2e/ddev-varbase-e2e.md +52 -0
  34. package/docs/install-varbase-e2e.md +34 -0
  35. package/docs/overview.md +40 -0
  36. package/docs/step-definitions/given-i-am-anonymous-user.md +67 -0
  37. package/docs/step-definitions/given-i-am-homepage.md +68 -0
  38. package/docs/step-definitions/given-i-am-specific-page.md +72 -0
  39. package/docs/step-definitions/then-i-should-be.md +56 -0
  40. package/docs/step-definitions/then-i-should-see.md +62 -0
  41. package/docs/step-definitions/then-item-checkbox.md +54 -0
  42. package/docs/step-definitions/then-item-link-should-contain-url.md +84 -0
  43. package/docs/step-definitions/then-item-should-contain.md +67 -0
  44. package/docs/step-definitions/then-radio-button-value-should-be-selected.md +68 -0
  45. package/docs/step-definitions/then-response-status-code-should-be-number.md +69 -0
  46. package/docs/step-definitions/then-value-radio-button-selected.md +62 -0
  47. package/docs/step-definitions/when-i-attach-file-file-name-element.md +71 -0
  48. package/docs/step-definitions/when-i-check-checkbox.md +60 -0
  49. package/docs/step-definitions/when-i-click-link.md +51 -0
  50. package/docs/step-definitions/when-i-click-operation-text-row.md +71 -0
  51. package/docs/step-definitions/when-i-fill.md +59 -0
  52. package/docs/step-definitions/when-i-go-homepage.md +60 -0
  53. package/docs/step-definitions/when-i-go-specific-page.md +67 -0
  54. package/docs/step-definitions/when-i-move-backward-one-page.md +49 -0
  55. package/docs/step-definitions/when-i-move-forward-one-page.md +58 -0
  56. package/docs/step-definitions/when-i-press-button.md +58 -0
  57. package/docs/step-definitions/when-i-reload-page.md +51 -0
  58. package/docs/step-definitions/when-i-scroll.md +73 -0
  59. package/docs/step-definitions/when-i-select-option-select-list.md +53 -0
  60. package/docs/step-definitions/when-i-select-radio-button-value.md +62 -0
  61. package/docs/step-definitions/when-i-uncheck-checkbox.md +57 -0
  62. package/docs/step-definitions/when-i-wait-ajax-finish.md +64 -0
  63. package/docs/step-definitions/when-i-wait.md +62 -0
  64. package/docs/step-definitions.md +82 -0
  65. package/docs/steps/README.md +137 -0
  66. package/docs/steps/a11y.md +731 -0
  67. package/docs/steps/action.md +181 -0
  68. package/docs/steps/api.md +679 -0
  69. package/docs/steps/assertion.md +328 -0
  70. package/docs/steps/auth.md +108 -0
  71. package/docs/steps/clock.md +171 -0
  72. package/docs/steps/cookie.md +293 -0
  73. package/docs/steps/debug.md +52 -0
  74. package/docs/steps/dialog.md +226 -0
  75. package/docs/steps/drupal-canvas.md +414 -0
  76. package/docs/steps/drupal-ckeditor.md +118 -0
  77. package/docs/steps/drupal-core.md +688 -0
  78. package/docs/steps/drupal-layout-builder.md +437 -0
  79. package/docs/steps/drupal-media.md +107 -0
  80. package/docs/steps/drupal-moderation.md +81 -0
  81. package/docs/steps/drupal-paragraphs.md +36 -0
  82. package/docs/steps/element.md +455 -0
  83. package/docs/steps/field.md +648 -0
  84. package/docs/steps/file-download.md +235 -0
  85. package/docs/steps/form.md +344 -0
  86. package/docs/steps/iframe.md +248 -0
  87. package/docs/steps/input.md +220 -0
  88. package/docs/steps/javascript.md +111 -0
  89. package/docs/steps/keyboard.md +107 -0
  90. package/docs/steps/link.md +217 -0
  91. package/docs/steps/metatag.md +99 -0
  92. package/docs/steps/modal.md +232 -0
  93. package/docs/steps/navigation.md +275 -0
  94. package/docs/steps/network.md +284 -0
  95. package/docs/steps/path.md +203 -0
  96. package/docs/steps/response.md +102 -0
  97. package/docs/steps/responsive.md +139 -0
  98. package/docs/steps/rest.md +140 -0
  99. package/docs/steps/screenshot.md +211 -0
  100. package/docs/steps/scroll.md +266 -0
  101. package/docs/steps/selectors.md +848 -0
  102. package/docs/steps/storage.md +254 -0
  103. package/docs/steps/table.md +216 -0
  104. package/docs/steps/varbase.md +391 -0
  105. package/docs/steps/video.md +111 -0
  106. package/docs/steps/wait.md +553 -0
  107. package/docs/steps/web-first.md +289 -0
  108. package/docs/steps/xml.md +505 -0
  109. package/docs/steps/yaml.md +951 -0
  110. package/examples/a11y.html +31 -0
  111. package/examples/about-us.html +11 -0
  112. package/examples/account.html +32 -0
  113. package/examples/ajax-wait-examples.html +147 -0
  114. package/examples/contact-us.html +10 -0
  115. package/examples/cookies.html +10 -0
  116. package/examples/date.html +12 -0
  117. package/examples/dynamic-examples.html +498 -0
  118. package/examples/element.html +11 -0
  119. package/examples/example-api.json +28 -0
  120. package/examples/existing-page.html +11 -0
  121. package/examples/field.html +24 -0
  122. package/examples/index.html +37 -0
  123. package/examples/keyboard.html +11 -0
  124. package/examples/links.html +9 -0
  125. package/examples/modal.html +14 -0
  126. package/examples/path.html +3 -0
  127. package/examples/table.html +13 -0
  128. package/examples/test--modal-dialogs.html +252 -0
  129. package/examples/test--then--i-should--not--see-text-in-element.html +48 -0
  130. package/examples/test--then--i-should--see-text-in-element.html +48 -0
  131. package/examples/test--then--i-should--see-text-matching-pattern.html +31 -0
  132. package/examples/test--then--i-should-see-text-in-table-row.html +232 -0
  133. package/examples/test--then--the-checkbox-checked.html +68 -0
  134. package/examples/test--then--the-element-should_not-contain-cssproperty.html +47 -0
  135. package/examples/test--then--the-link-should-contain.html +21 -0
  136. package/examples/test--when--i-additionally-select.html +27 -0
  137. package/examples/test--when--i-attach-file-to-feild.html +50 -0
  138. package/examples/test--when--i-check-uncheck-checkbox.html +47 -0
  139. package/examples/test--when--i-click-link.html +18 -0
  140. package/examples/test--when--i-click-text-in-table-row.html +178 -0
  141. package/examples/test--when--i-fill-in.html +48 -0
  142. package/examples/test--when--i-press-button.html +31 -0
  143. package/examples/test--when--i-reload-page.html +27 -0
  144. package/examples/test--when--i-scroll-functionality.html +177 -0
  145. package/examples/test--when--i-scroll-left-right-functionality.html +149 -0
  146. package/examples/test--when--i-select-option-from-dropdownlist.html +35 -0
  147. package/examples/test--when--i-select-radio-button.html +95 -0
  148. package/examples/test--when-i-wait-max-of-time.html +39 -0
  149. package/examples/test--when-i-wait-page-until-is-loaded.html +47 -0
  150. package/examples/test--when-i-wait-specific-time.html +39 -0
  151. package/examples/test-acceptable-url-path.html +11 -0
  152. package/examples/video-demo.html +43 -0
  153. package/package.json +56 -0
  154. package/playwright.config.ts +39 -0
  155. package/tests/assets/test-document.pdf +14 -0
  156. package/tests/assets/vardot.png +0 -0
  157. package/tests/features/a11y.feature +39 -0
  158. package/tests/features/ajax-wait-examples.feature +24 -0
  159. package/tests/features/api-step-definitions-individual.feature +185 -0
  160. package/tests/features/complete-api-testing-examples.feature +205 -0
  161. package/tests/features/cookie.feature +13 -0
  162. package/tests/features/date.feature +11 -0
  163. package/tests/features/dynamic-content-examples.feature +156 -0
  164. package/tests/features/element.feature +16 -0
  165. package/tests/features/field.feature +25 -0
  166. package/tests/features/keyboard.feature +10 -0
  167. package/tests/features/link.feature +11 -0
  168. package/tests/features/modal-advanced-example.feature +54 -0
  169. package/tests/features/modal-basic-example.feature +42 -0
  170. package/tests/features/modal-error-handling-example.feature +37 -0
  171. package/tests/features/modal.feature +11 -0
  172. package/tests/features/path.feature +16 -0
  173. package/tests/features/response.feature +8 -0
  174. package/tests/features/responsive.feature +10 -0
  175. package/tests/features/table.feature +18 -0
  176. package/tests/features/test--given--i-am-an-anonymous-user.feature +10 -0
  177. package/tests/features/test--given--i-am-on-homepage.feature +16 -0
  178. package/tests/features/test--then--i-save-screenshot.feature +33 -0
  179. package/tests/features/test--then--i-see-locator.feature +320 -0
  180. package/tests/features/test--then--i-should--not--see-text-in-element.feature +13 -0
  181. package/tests/features/test--then--i-should--see-text-in-element-by-attr.feature +10 -0
  182. package/tests/features/test--then--i-should--see-text-in-element.feature +10 -0
  183. package/tests/features/test--then--i-should--see-text-matching-pattern-in-element.feature +13 -0
  184. package/tests/features/test--then--i-should--see-text-matching-pattern.feature +18 -0
  185. package/tests/features/test--then--i-should-be-on-page.feature +10 -0
  186. package/tests/features/test--then--i-should-be-on-the-homepage.feature +10 -0
  187. package/tests/features/test--then--i-should-not-see-an-element-by-attr.feature +8 -0
  188. package/tests/features/test--then--i-should-not-see-an-element.feature +8 -0
  189. package/tests/features/test--then--i-should-see-an-element-by-attr.feature +8 -0
  190. package/tests/features/test--then--i-should-see-an-element.feature +8 -0
  191. package/tests/features/test--then--i-should-see-n-elements.feature +24 -0
  192. package/tests/features/test--then--i-should-see-text-in-table-row.feature +96 -0
  193. package/tests/features/test--then--print-current-url-and-response.feature +21 -0
  194. package/tests/features/test--then--the-checkbox-is-checked.feature +18 -0
  195. package/tests/features/test--then--the-checkbox-should-be-checked.feature +16 -0
  196. package/tests/features/test--then--the-element-should-contain-cssproperty.feature +9 -0
  197. package/tests/features/test--then--the-element-should-not-contain-cssproperty.feature +10 -0
  198. package/tests/features/test--then--the-field-should-contain-value.feature +11 -0
  199. package/tests/features/test--then--the-response-should-contain.feature +11 -0
  200. package/tests/features/test--then--the-response-status-code-should-be.feature +31 -0
  201. package/tests/features/test--then--the-url-should-match.feature +7 -0
  202. package/tests/features/test--then-the-link-should-contain-by-attribute.feature +18 -0
  203. package/tests/features/test--then-the-link-should-contain.feature +7 -0
  204. package/tests/features/test--when--i-additionally-select.feature +30 -0
  205. package/tests/features/test--when--i-attach-file-to-feild.feature +9 -0
  206. package/tests/features/test--when--i-check-checkbox.feature +21 -0
  207. package/tests/features/test--when--i-click-link-by-attribute.feature +21 -0
  208. package/tests/features/test--when--i-click-link.feature +9 -0
  209. package/tests/features/test--when--i-click-text-in-table-row.feature +37 -0
  210. package/tests/features/test--when--i-fill-in-by-attr.feature +31 -0
  211. package/tests/features/test--when--i-fill-in-table-by-attr.feature +19 -0
  212. package/tests/features/test--when--i-fill-in.feature +32 -0
  213. package/tests/features/test--when--i-follow.feature +22 -0
  214. package/tests/features/test--when--i-go-to-homepage.feature +9 -0
  215. package/tests/features/test--when--i-move-forward-backward-one-page.feature +14 -0
  216. package/tests/features/test--when--i-press-button-by-attribute.feature +18 -0
  217. package/tests/features/test--when--i-press-button.feature +13 -0
  218. package/tests/features/test--when--i-reload-page.feature +11 -0
  219. package/tests/features/test--when--i-scroll-left-right.feature +48 -0
  220. package/tests/features/test--when--i-scroll.feature +48 -0
  221. package/tests/features/test--when--i-select-option-from-dropdownlist.feature +21 -0
  222. package/tests/features/test--when--i-select-radio-button.feature +37 -0
  223. package/tests/features/test--when--i-wait-page-is-loaded.feature +8 -0
  224. package/tests/features/test--when--i-wait-time.feature +21 -0
  225. package/tests/features/video.feature +18 -0
  226. package/tests/features/wait.feature +7 -0
  227. package/tests/features/yaml.feature +102 -0
  228. package/tests/selectors/_canonical-keys.json +113 -0
  229. package/tests/selectors/back-end-selectors.json +19 -0
  230. package/tests/selectors/cms-contentful-admin.json +35 -0
  231. package/tests/selectors/cms-craft-admin.json +39 -0
  232. package/tests/selectors/cms-drupal-cms-gin.json +56 -0
  233. package/tests/selectors/cms-drupal-core-claro.json +50 -0
  234. package/tests/selectors/cms-generic-admin.json +34 -0
  235. package/tests/selectors/cms-ghost-admin.json +34 -0
  236. package/tests/selectors/cms-joomla-admin.json +41 -0
  237. package/tests/selectors/cms-magento2-admin.json +32 -0
  238. package/tests/selectors/cms-prestashop-admin.json +38 -0
  239. package/tests/selectors/cms-shopify-admin.json +25 -0
  240. package/tests/selectors/cms-strapi-admin.json +42 -0
  241. package/tests/selectors/cms-typo3-admin.json +41 -0
  242. package/tests/selectors/cms-woocommerce-front.json +50 -0
  243. package/tests/selectors/cms-wordpress-admin.json +31 -0
  244. package/tests/selectors/framework-ant-design.json +80 -0
  245. package/tests/selectors/framework-bootstrap.json +86 -0
  246. package/tests/selectors/framework-bulma.json +74 -0
  247. package/tests/selectors/framework-chakra.json +58 -0
  248. package/tests/selectors/framework-foundation.json +51 -0
  249. package/tests/selectors/framework-material-ui.json +72 -0
  250. package/tests/selectors/framework-shadcn.json +51 -0
  251. package/tests/selectors/framework-tailwind.json +40 -0
  252. package/tests/selectors/framework-vuetify.json +61 -0
  253. package/tests/selectors/front-end-selectors.json +16 -0
  254. package/tests/selectors/homepage-selectors.json +13 -0
  255. package/tests/step-definitions/a11y.steps.js +800 -0
  256. package/tests/step-definitions/action.steps.js +167 -0
  257. package/tests/step-definitions/api.steps.js +732 -0
  258. package/tests/step-definitions/assertion.steps.js +352 -0
  259. package/tests/step-definitions/auth.steps.js +126 -0
  260. package/tests/step-definitions/clock.steps.js +128 -0
  261. package/tests/step-definitions/cookie.steps.js +216 -0
  262. package/tests/step-definitions/debug.steps.js +39 -0
  263. package/tests/step-definitions/dialog.steps.js +193 -0
  264. package/tests/step-definitions/drupal-canvas.steps.js +764 -0
  265. package/tests/step-definitions/drupal-ckeditor.steps.js +108 -0
  266. package/tests/step-definitions/drupal-core.steps.js +665 -0
  267. package/tests/step-definitions/drupal-helpers.js +371 -0
  268. package/tests/step-definitions/drupal-layout-builder.steps.js +466 -0
  269. package/tests/step-definitions/drupal-media.steps.js +99 -0
  270. package/tests/step-definitions/drupal-moderation.steps.js +71 -0
  271. package/tests/step-definitions/drupal-paragraphs.steps.js +50 -0
  272. package/tests/step-definitions/element.steps.js +356 -0
  273. package/tests/step-definitions/field.steps.js +653 -0
  274. package/tests/step-definitions/file-download.steps.js +211 -0
  275. package/tests/step-definitions/form.steps.js +333 -0
  276. package/tests/step-definitions/iframe.steps.js +228 -0
  277. package/tests/step-definitions/input.steps.js +202 -0
  278. package/tests/step-definitions/javascript.steps.js +232 -0
  279. package/tests/step-definitions/keyboard.steps.js +112 -0
  280. package/tests/step-definitions/link.steps.js +142 -0
  281. package/tests/step-definitions/metatag.steps.js +91 -0
  282. package/tests/step-definitions/modal.steps.js +244 -0
  283. package/tests/step-definitions/navigation.steps.js +218 -0
  284. package/tests/step-definitions/network.steps.js +280 -0
  285. package/tests/step-definitions/path.steps.js +141 -0
  286. package/tests/step-definitions/response.steps.js +98 -0
  287. package/tests/step-definitions/responsive.steps.js +125 -0
  288. package/tests/step-definitions/rest.steps.js +111 -0
  289. package/tests/step-definitions/screenshot.steps.js +423 -0
  290. package/tests/step-definitions/scroll.steps.js +189 -0
  291. package/tests/step-definitions/selectors.steps.js +1003 -0
  292. package/tests/step-definitions/storage.steps.js +194 -0
  293. package/tests/step-definitions/table.steps.js +181 -0
  294. package/tests/step-definitions/varbase-e2e.js +897 -0
  295. package/tests/step-definitions/varbase.steps.js +458 -0
  296. package/tests/step-definitions/video.steps.js +178 -0
  297. package/tests/step-definitions/wait.steps.js +400 -0
  298. package/tests/step-definitions/web-first.steps.js +298 -0
  299. package/tests/step-definitions/xml.steps.js +411 -0
  300. package/tests/step-definitions/yaml.steps.js +913 -0
  301. package/tsconfig.json +26 -0
@@ -0,0 +1,60 @@
1
+
2
+ # When I check "checkbox"
3
+
4
+ ## Step Definition
5
+
6
+ This step definition serves as a command to mark/select a checkbox.
7
+
8
+ **Gherkin Pattern:**
9
+ ```
10
+ When (I|we)* check "([^"]*)?"
11
+ ```
12
+
13
+ ## Description
14
+
15
+ Define the step of checking the checkbox element specified by id|class|name|label.
16
+
17
+ ## Examples
18
+
19
+ **Example (1): label**
20
+ ```
21
+ When I check "Remember me"
22
+ ```
23
+
24
+ **Example (2): id/class**
25
+ ```
26
+ When I check "rememberme"
27
+ ```
28
+
29
+ ## More examples
30
+
31
+ <!-- generated: extended-examples -->
32
+
33
+ ### Example 1
34
+
35
+ ```gherkin
36
+ When I check "Remember me"
37
+ And I press "Sign in"
38
+ ```
39
+
40
+ ### Example 2
41
+
42
+ ```gherkin
43
+ When I check "#newsletter"
44
+ Then the "#newsletter" checkbox should be checked
45
+ ```
46
+
47
+ ### Example 3
48
+
49
+ ```gherkin
50
+ When we check ".terms"
51
+ And I press "Continue"
52
+ ```
53
+
54
+ ### Example 4
55
+
56
+ ```gherkin
57
+ When I check "Subscribe to updates"
58
+ Then the checkbox "#subscribe" is checked
59
+ ```
60
+
@@ -0,0 +1,51 @@
1
+
2
+ # When I click "link"
3
+
4
+ ## Step Definition
5
+
6
+ ```gherkin
7
+ When (I|we)* click "([^"]*)?"
8
+ ```
9
+
10
+ ## Description
11
+
12
+ This step definition functions as a command to click a link, ensuring correct navigation to the expected page. It allows you to define the step for clicking the link by its text.
13
+
14
+ ## Example
15
+
16
+ ```gherkin
17
+ When I click "Contact Us"
18
+ ```
19
+
20
+ ## More examples
21
+
22
+ <!-- generated: extended-examples -->
23
+
24
+ ### Example 1
25
+
26
+ ```gherkin
27
+ When I click "About"
28
+ Then I should be on "/about"
29
+ ```
30
+
31
+ ### Example 2
32
+
33
+ ```gherkin
34
+ When I click "Read more"
35
+ And I wait for AJAX to finish
36
+ ```
37
+
38
+ ### Example 3
39
+
40
+ ```gherkin
41
+ When we click "Contact"
42
+ Then "<form#contact>" should be visible
43
+ ```
44
+
45
+ ### Example 4
46
+
47
+ ```gherkin
48
+ When I click "main-nav-link" by attr
49
+ Then I should see "Pricing"
50
+ ```
51
+
@@ -0,0 +1,71 @@
1
+
2
+ # When I click "operation" in "text" row
3
+
4
+ ## Step Definition
5
+
6
+ ```
7
+ When (I |we )*click "([^"]*)?" in( the)* "([^"]*)?" row$
8
+ ```
9
+
10
+ ## Description
11
+
12
+ This step locates a table, finds a row containing specified identifier text, and clicks on the target text within that row.
13
+
14
+ ## Functionality
15
+
16
+ The step performs a targeted click on specific text within a table row that contains a given identifier.
17
+
18
+ ## Examples
19
+
20
+ ```
21
+ When I click "Edit" in the "John Smith" row
22
+ ```
23
+
24
+ ```
25
+ When I click "Delete" in the "Product A" row
26
+ ```
27
+
28
+ ```
29
+ When we click "View Details" in the "Order #12345" row
30
+ ```
31
+
32
+ ```
33
+ And I click "Download" in the "Report 2024" row
34
+ ```
35
+
36
+ ## Parameters
37
+
38
+ - **First parameter** ("operation"): The clickable text/action within the row
39
+ - **Second parameter** ("text"): The identifier text that locates the specific row
40
+
41
+ ## More examples
42
+
43
+ <!-- generated: extended-examples -->
44
+
45
+ ### Example 1
46
+
47
+ ```gherkin
48
+ When I click "Edit" in the "Alice Smith" row
49
+ Then I should see "Edit user"
50
+ ```
51
+
52
+ ### Example 2
53
+
54
+ ```gherkin
55
+ When I click "Delete" in the "Project Alpha" row
56
+ And I wait for the modal to appear
57
+ ```
58
+
59
+ ### Example 3
60
+
61
+ ```gherkin
62
+ When we click "Download" in the "Report 2026" row
63
+ ```
64
+
65
+ ### Example 4
66
+
67
+ ```gherkin
68
+ When I click "Approve" in the "Order #1234" row
69
+ And I wait for AJAX to finish
70
+ ```
71
+
@@ -0,0 +1,59 @@
1
+
2
+ # When I fill in
3
+
4
+ ## Overview
5
+
6
+ "These step definitions are used to simulate user input of data into different fields or form elements." The purpose is to verify website functionality related to data entry and form submission.
7
+
8
+ ## Available Step Definitions
9
+
10
+ 1. **When I fill in "field" with "value"**
11
+ 2. **When I fill in "field" with "value" by its attribute**
12
+ 3. **When I fill in "value" for "field"**
13
+ 4. **When I fill in "value" for "field" by its attribute**
14
+ 5. **When I fill in "field" with:**
15
+ 6. **When I fill in "field" with an empty value by its attribute**
16
+ 7. **When I fill in the following:**
17
+ 8. **When I fill in the following: by its attribute**
18
+
19
+ Each variant supports different approaches to locating form elements—whether by label text, CSS selectors, or HTML attributes—and accommodates both single-field and multi-field input scenarios.
20
+
21
+ ## More examples
22
+
23
+ <!-- generated: extended-examples -->
24
+
25
+ ### Example 1
26
+
27
+ ```gherkin
28
+ When I fill in "Email" with "alice@example.com"
29
+ And I press "Sign in"
30
+ ```
31
+
32
+ ### Example 2
33
+
34
+ ```gherkin
35
+ When I fill in "username" with "alice" by attr
36
+ And I fill in "password" with "s3cret" by attr
37
+ ```
38
+
39
+ ### Example 3
40
+
41
+ ```gherkin
42
+ When I fill in the following:
43
+ | First name | Alice |
44
+ | Last name | Smith |
45
+ ```
46
+
47
+ ### Example 4
48
+
49
+ ```gherkin
50
+ When I fill in "alice" for "#user"
51
+ And I press "Submit"
52
+ ```
53
+
54
+ ### Example 5
55
+
56
+ ```gherkin
57
+ When I fill in "Hello" for "Your message" by its "placeholder" attribute
58
+ ```
59
+
@@ -0,0 +1,60 @@
1
+
2
+ # When I go to the homepage
3
+
4
+ ## Step Definition
5
+
6
+ The Gherkin step pattern for this navigation action is:
7
+
8
+ ```
9
+ When (I go |I navigate |we go |we navigate |navigating )?to( the)* (homepage|frontpage)
10
+ ```
11
+
12
+ ## Description
13
+
14
+ This step definition enables users to navigate to the website's homepage during testing. The implementation varies based on the testing framework, potentially involving clicking navigation elements, entering URLs directly, or executing predefined navigation commands in web applications.
15
+
16
+ ## Usage Examples
17
+
18
+ ```
19
+ When I go to homepage
20
+
21
+ When I go to the homepage
22
+
23
+ When I navigate to the homepage
24
+
25
+ When navigating to the homepage
26
+
27
+ When navigating to homepage
28
+
29
+ When navigating to the frontpage
30
+
31
+ When we go to the homepage
32
+
33
+ When we navigate to the homepage
34
+ ```
35
+
36
+ ## More examples
37
+
38
+ <!-- generated: extended-examples -->
39
+
40
+ ### Example 1
41
+
42
+ ```gherkin
43
+ When I go to the homepage
44
+ Then "<#hero>" should be visible
45
+ ```
46
+
47
+ ### Example 2
48
+
49
+ ```gherkin
50
+ When we navigate to homepage
51
+ Then I should see "Welcome"
52
+ ```
53
+
54
+ ### Example 3
55
+
56
+ ```gherkin
57
+ When navigating to the frontpage
58
+ Then I should be on "/"
59
+ ```
60
+
@@ -0,0 +1,67 @@
1
+
2
+ # When I go to "specific page"
3
+
4
+ ## Step Definition
5
+
6
+ The Gherkin step syntax is:
7
+
8
+ ```
9
+ When (I go |I navigate |we go |we navigate |navigating )?to "([^"]*)?"
10
+ ```
11
+
12
+ ## Description
13
+
14
+ This step definition enables users to navigate to a particular page within the website under test. The actual implementation varies based on the testing framework employed. For web applications, this typically involves selecting a hyperlink or button, entering a URL directly, or leveraging a built-in navigation function.
15
+
16
+ ## Examples
17
+
18
+ ```
19
+ When I go to "contact"
20
+
21
+ When I go to "/user/login"
22
+
23
+ When I navigate to "/admin/dashboard"
24
+
25
+ When navigating to "/products"
26
+
27
+ When we go to "/products"
28
+
29
+ When we navigate to "/terms"
30
+ ```
31
+
32
+ ## Key Details
33
+
34
+ This step accepts flexible phrasing with multiple variations including "go," "navigate," and collective pronouns ("we"). The page identifier is captured as a parameter in quotation marks and can represent either a page name or a complete URL path.
35
+
36
+ ## More examples
37
+
38
+ <!-- generated: extended-examples -->
39
+
40
+ ### Example 1
41
+
42
+ ```gherkin
43
+ When I go to "/about"
44
+ Then I should see "Our mission"
45
+ ```
46
+
47
+ ### Example 2
48
+
49
+ ```gherkin
50
+ When I navigate to "/admin/dashboard"
51
+ And I wait until the URL contains "/dashboard"
52
+ ```
53
+
54
+ ### Example 3
55
+
56
+ ```gherkin
57
+ When we go to "/cart"
58
+ Then "<#cart-list>" should be visible
59
+ ```
60
+
61
+ ### Example 4
62
+
63
+ ```gherkin
64
+ When navigating to "/products"
65
+ Then I should see at least 5 ".product-card" elements
66
+ ```
67
+
@@ -0,0 +1,49 @@
1
+
2
+ # When I move backward one page
3
+
4
+ ## Gherkin Step
5
+
6
+ ```gherkin
7
+ When (I|we)* move backward one page
8
+ ```
9
+
10
+ ## Description
11
+
12
+ This step definition represents user interaction for navigating backward through a series of pages on a website. It's commonly employed when browsing paginated lists—allowing testers to visit each page, execute necessary tests, and return to the main list page before advancing to the subsequent page.
13
+
14
+ ## Technical Details
15
+
16
+ - **Sentence Definition Type**: Static (no probabilities)
17
+ - **Common Use Case**: Paginated list navigation and testing workflows
18
+
19
+ ## Related Step Definitions
20
+
21
+ The documentation includes related navigation steps such as "When I move forward one page" and "When I reload the page," available within the Varbase E2E 2.0.x step definitions library.
22
+
23
+ ## More examples
24
+
25
+ <!-- generated: extended-examples -->
26
+
27
+ ### Example 1
28
+
29
+ ```gherkin
30
+ When I follow "About"
31
+ And I move backward one page
32
+ Then I should be on the homepage
33
+ ```
34
+
35
+ ### Example 2
36
+
37
+ ```gherkin
38
+ When I go to "/cart"
39
+ And I move backward one page
40
+ Then I should be on "/products"
41
+ ```
42
+
43
+ ### Example 3
44
+
45
+ ```gherkin
46
+ When we move backward one page
47
+ And I wait for AJAX to finish
48
+ ```
49
+
@@ -0,0 +1,58 @@
1
+
2
+ # When I move forward one page
3
+
4
+ ## Gherkin Step Definition
5
+
6
+ ```gherkin
7
+ When (I|we)* move forward one page
8
+ ```
9
+
10
+ ## Description
11
+
12
+ This step definition represents a user action for navigating forward through a sequence of pages on a website. It's typically employed after the user has moved backward one or more pages and then decides to advance forward again.
13
+
14
+ ## Usage Context
15
+
16
+ The step is commonly used in scenarios where:
17
+ - A user has previously navigated backward through multiple pages
18
+ - The user then chooses to move forward one page
19
+ - This action may be repeated for additional forward navigation steps
20
+
21
+ ## Technical Details
22
+
23
+ - **Static sentence definition**: Yes
24
+ - **Probabilities**: None (static definition)
25
+
26
+ ## Purpose
27
+
28
+ This step allows test authors to validate browser navigation behavior, simulating user interactions with browser forward button functionality or equivalent page navigation controls.
29
+
30
+ ## More examples
31
+
32
+ <!-- generated: extended-examples -->
33
+
34
+ ### Example 1
35
+
36
+ ```gherkin
37
+ When I move backward one page
38
+ And I move forward one page
39
+ Then I should be on "/about"
40
+ ```
41
+
42
+ ### Example 2
43
+
44
+ ```gherkin
45
+ When I go to "/x"
46
+ And I go to "/y"
47
+ And I move backward one page
48
+ And I move forward one page
49
+ Then I should be on "/y"
50
+ ```
51
+
52
+ ### Example 3
53
+
54
+ ```gherkin
55
+ When we move forward one page
56
+ And I wait until the page is interactive
57
+ ```
58
+
@@ -0,0 +1,58 @@
1
+
2
+ # When I press "button"
3
+
4
+ ## Step Definition
5
+
6
+ **Gherkin Syntax:**
7
+ ```
8
+ When (I|we)* press "([^"]*)?"
9
+ ```
10
+
11
+ ## Description
12
+
13
+ This step definition executes a command to press a button by its text, ensuring the correct execution of the expected action.
14
+
15
+ ## Example
16
+
17
+ **By text:**
18
+ ```
19
+ When I press "Log In"
20
+ ```
21
+
22
+ ## Related Documentation
23
+
24
+ This step is part of the Varbase E2E 2.0.x Step Definitions documentation and has a sub-variant:
25
+ - When I press "button" by attribute
26
+
27
+ ## More examples
28
+
29
+ <!-- generated: extended-examples -->
30
+
31
+ ### Example 1
32
+
33
+ ```gherkin
34
+ When I press "Sign in"
35
+ And I wait until the URL contains "/dashboard"
36
+ ```
37
+
38
+ ### Example 2
39
+
40
+ ```gherkin
41
+ When I press the "Submit" button
42
+ And I wait for AJAX to finish
43
+ ```
44
+
45
+ ### Example 3
46
+
47
+ ```gherkin
48
+ When we press "Cancel"
49
+ Then I should not see the modal
50
+ ```
51
+
52
+ ### Example 4
53
+
54
+ ```gherkin
55
+ When I press "save-btn" by attr
56
+ Then I should see "Saved"
57
+ ```
58
+
@@ -0,0 +1,51 @@
1
+
2
+ # When I reload the page
3
+
4
+ ## Step Definition
5
+
6
+ ```gherkin
7
+ When (I|we)* reload( the)* page
8
+ ```
9
+
10
+ ## Description
11
+
12
+ This step definition is employed in website testing to signal that the user is refreshing the current page. It's typically used after executing an event on the page, when results are expected to appear following a page reload.
13
+
14
+ ## Usage Examples
15
+
16
+ ```gherkin
17
+ When I reload the page
18
+ When we reload page
19
+ ```
20
+
21
+ ## Context
22
+
23
+ The step definition supports flexible phrasing with optional words, allowing testers to write natural language scenarios. It's part of the Varbase E2E 2.0.x testing framework and appears within the broader "Step Definitions" documentation section alongside other navigation and interaction steps.
24
+
25
+ ## More examples
26
+
27
+ <!-- generated: extended-examples -->
28
+
29
+ ### Example 1
30
+
31
+ ```gherkin
32
+ When I reload
33
+ Then I should see "Welcome"
34
+ ```
35
+
36
+ ### Example 2
37
+
38
+ ```gherkin
39
+ When I press "Save"
40
+ And I reload the page
41
+ Then I should see "Saved"
42
+ ```
43
+
44
+ ### Example 3
45
+
46
+ ```gherkin
47
+ When we reload page
48
+ And I wait for AJAX to finish
49
+ Then "<.spinner>" should not be visible
50
+ ```
51
+
@@ -0,0 +1,73 @@
1
+
2
+ # When I Scroll
3
+
4
+ ## Overview
5
+
6
+ "Use this step when you want to simulate a scroll action on the page during your automated testing scenario. It can be helpful to test lazy-loaded elements, infinite scroll areas, or to simply bring specific elements into view."
7
+
8
+ ## Available Scroll Step Definitions
9
+
10
+ The following scroll-related steps are available in Varbase E2E 2.0.x:
11
+
12
+ - When I scroll down
13
+ - When I scroll up
14
+ - When I scroll to top
15
+ - When I scroll to the bottom
16
+ - When I scroll to top of "<selector>"
17
+ - When I scroll to bottom of "<selector>"
18
+ - When I scroll right
19
+ - When I scroll left
20
+ - When I scroll to start
21
+ - When I scroll to the end
22
+ - When I scroll to start of "<selector>"
23
+ - When I scroll to end of "<selector>"
24
+
25
+ Each step enables testing of different scrolling behaviors to validate page functionality, element visibility, and lazy-loading mechanisms within automated testing scenarios.
26
+
27
+ ## More examples
28
+
29
+ <!-- generated: extended-examples -->
30
+
31
+ ### Example 1
32
+
33
+ ```gherkin
34
+ When I scroll down
35
+ ```
36
+
37
+ ### Example 2
38
+
39
+ ```gherkin
40
+ When I scroll down 800
41
+ ```
42
+
43
+ ### Example 3
44
+
45
+ ```gherkin
46
+ And I scroll to the top
47
+ ```
48
+
49
+ ### Example 4
50
+
51
+ ```gherkin
52
+ When I scroll to the bottom
53
+ And I wait for AJAX to finish
54
+ ```
55
+
56
+ ### Example 5
57
+
58
+ ```gherkin
59
+ When I scroll to top of "#sidebar"
60
+ ```
61
+
62
+ ### Example 6
63
+
64
+ ```gherkin
65
+ And we scroll to bottom of "#log-panel"
66
+ ```
67
+
68
+ ### Example 7
69
+
70
+ ```gherkin
71
+ When I scroll right 500
72
+ ```
73
+
@@ -0,0 +1,53 @@
1
+
2
+ # When I select "option" from "select list"
3
+
4
+ ## Step Definition
5
+
6
+ ```
7
+ When (I|we)* select "([^"]*)?" from "([^"]*)?"
8
+ ```
9
+
10
+ ## Description
11
+
12
+ "This step definition acts as a command to select an option from a dropdown list." The mechanism identifies a select element by its associated label, then selects the matching option based on its displayed text.
13
+
14
+ ## Example
15
+
16
+ **Selection by label:**
17
+
18
+ ```
19
+ When we select "Mercedes" from "Cars"
20
+ ```
21
+
22
+ This syntax allows test authors to select dropdown values using human-readable option names and field labels rather than technical selectors.
23
+
24
+ ## More examples
25
+
26
+ <!-- generated: extended-examples -->
27
+
28
+ ### Example 1
29
+
30
+ ```gherkin
31
+ When I select "Mercedes" from "Cars"
32
+ Then I should see "Mercedes selected"
33
+ ```
34
+
35
+ ### Example 2
36
+
37
+ ```gherkin
38
+ When I select "saab" from "#cars"
39
+ ```
40
+
41
+ ### Example 3
42
+
43
+ ```gherkin
44
+ When we select "English" from "Language"
45
+ ```
46
+
47
+ ### Example 4
48
+
49
+ ```gherkin
50
+ When I select "Premium" from "Plan"
51
+ And I press "Continue"
52
+ ```
53
+