@oracle/oraclejet-webdriver 10.0.8

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 (667) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -0
  3. package/bin/generate +509 -0
  4. package/bin/generate-jet +163 -0
  5. package/bin/templates/baseclass.ts-template +13 -0
  6. package/bin/templates/class.ts-template +12 -0
  7. package/bin/templates/element-test.spec.ts-template +28 -0
  8. package/bin/templates/index.ts-template +27 -0
  9. package/bin/templates/jetcomponents.json +71 -0
  10. package/bin/templates/package.json-template +15 -0
  11. package/bin/templates/tsconfig.json-template +19 -0
  12. package/elements/OjWebElement.js +233 -0
  13. package/elements/OjWebElement.js.map +1 -0
  14. package/elements/OjWebElement.ts +675 -0
  15. package/elements/index.js +214 -0
  16. package/elements/index.js.map +1 -0
  17. package/elements/index.ts +75 -0
  18. package/elements/oj-accordion/OjAccordion.js +8 -0
  19. package/elements/oj-accordion/OjAccordion.js.map +1 -0
  20. package/elements/oj-accordion/OjAccordion.ts +12 -0
  21. package/elements/oj-accordion/OjAccordionBase.js +20 -0
  22. package/elements/oj-accordion/OjAccordionBase.js.map +1 -0
  23. package/elements/oj-accordion/OjAccordionBase.ts +48 -0
  24. package/elements/oj-accordion/index.js +17 -0
  25. package/elements/oj-accordion/index.js.map +1 -0
  26. package/elements/oj-accordion/index.ts +27 -0
  27. package/elements/oj-button/OjButton.js +20 -0
  28. package/elements/oj-button/OjButton.js.map +1 -0
  29. package/elements/oj-button/OjButton.ts +35 -0
  30. package/elements/oj-button/OjButtonBase.js +23 -0
  31. package/elements/oj-button/OjButtonBase.js.map +1 -0
  32. package/elements/oj-button/OjButtonBase.ts +57 -0
  33. package/elements/oj-button/index.js +17 -0
  34. package/elements/oj-button/index.js.map +1 -0
  35. package/elements/oj-button/index.ts +27 -0
  36. package/elements/oj-buttonset-many/OjButtonsetMany.js +8 -0
  37. package/elements/oj-buttonset-many/OjButtonsetMany.js.map +1 -0
  38. package/elements/oj-buttonset-many/OjButtonsetMany.ts +11 -0
  39. package/elements/oj-buttonset-many/OjButtonsetManyBase.js +35 -0
  40. package/elements/oj-buttonset-many/OjButtonsetManyBase.js.map +1 -0
  41. package/elements/oj-buttonset-many/OjButtonsetManyBase.ts +93 -0
  42. package/elements/oj-buttonset-many/index.js +17 -0
  43. package/elements/oj-buttonset-many/index.js.map +1 -0
  44. package/elements/oj-buttonset-many/index.ts +27 -0
  45. package/elements/oj-buttonset-one/OjButtonsetOne.js +8 -0
  46. package/elements/oj-buttonset-one/OjButtonsetOne.js.map +1 -0
  47. package/elements/oj-buttonset-one/OjButtonsetOne.ts +11 -0
  48. package/elements/oj-buttonset-one/OjButtonsetOneBase.js +35 -0
  49. package/elements/oj-buttonset-one/OjButtonsetOneBase.js.map +1 -0
  50. package/elements/oj-buttonset-one/OjButtonsetOneBase.ts +93 -0
  51. package/elements/oj-buttonset-one/index.js +17 -0
  52. package/elements/oj-buttonset-one/index.js.map +1 -0
  53. package/elements/oj-buttonset-one/index.ts +27 -0
  54. package/elements/oj-chart/OjChart.js +8 -0
  55. package/elements/oj-chart/OjChart.js.map +1 -0
  56. package/elements/oj-chart/OjChart.ts +12 -0
  57. package/elements/oj-chart/OjChartBase.js +170 -0
  58. package/elements/oj-chart/OjChartBase.js.map +1 -0
  59. package/elements/oj-chart/OjChartBase.ts +2468 -0
  60. package/elements/oj-chart/index.js +17 -0
  61. package/elements/oj-chart/index.js.map +1 -0
  62. package/elements/oj-chart/index.ts +27 -0
  63. package/elements/oj-checkboxset/OjCheckboxset.js +39 -0
  64. package/elements/oj-checkboxset/OjCheckboxset.js.map +1 -0
  65. package/elements/oj-checkboxset/OjCheckboxset.ts +74 -0
  66. package/elements/oj-checkboxset/OjCheckboxsetBase.js +68 -0
  67. package/elements/oj-checkboxset/OjCheckboxsetBase.js.map +1 -0
  68. package/elements/oj-checkboxset/OjCheckboxsetBase.ts +262 -0
  69. package/elements/oj-checkboxset/index.js +17 -0
  70. package/elements/oj-checkboxset/index.js.map +1 -0
  71. package/elements/oj-checkboxset/index.ts +27 -0
  72. package/elements/oj-collapsible/OjCollapsible.js +23 -0
  73. package/elements/oj-collapsible/OjCollapsible.js.map +1 -0
  74. package/elements/oj-collapsible/OjCollapsible.ts +36 -0
  75. package/elements/oj-collapsible/OjCollapsibleBase.js +23 -0
  76. package/elements/oj-collapsible/OjCollapsibleBase.js.map +1 -0
  77. package/elements/oj-collapsible/OjCollapsibleBase.ts +57 -0
  78. package/elements/oj-collapsible/index.js +17 -0
  79. package/elements/oj-collapsible/index.js.map +1 -0
  80. package/elements/oj-collapsible/index.ts +27 -0
  81. package/elements/oj-color-palette/OjColorPalette.js +8 -0
  82. package/elements/oj-color-palette/OjColorPalette.js.map +1 -0
  83. package/elements/oj-color-palette/OjColorPalette.ts +12 -0
  84. package/elements/oj-color-palette/OjColorPaletteBase.js +65 -0
  85. package/elements/oj-color-palette/OjColorPaletteBase.js.map +1 -0
  86. package/elements/oj-color-palette/OjColorPaletteBase.ts +235 -0
  87. package/elements/oj-color-palette/index.js +17 -0
  88. package/elements/oj-color-palette/index.js.map +1 -0
  89. package/elements/oj-color-palette/index.ts +27 -0
  90. package/elements/oj-color-spectrum/OjColorSpectrum.js +8 -0
  91. package/elements/oj-color-spectrum/OjColorSpectrum.js.map +1 -0
  92. package/elements/oj-color-spectrum/OjColorSpectrum.ts +12 -0
  93. package/elements/oj-color-spectrum/OjColorSpectrumBase.js +56 -0
  94. package/elements/oj-color-spectrum/OjColorSpectrumBase.js.map +1 -0
  95. package/elements/oj-color-spectrum/OjColorSpectrumBase.ts +210 -0
  96. package/elements/oj-color-spectrum/index.js +17 -0
  97. package/elements/oj-color-spectrum/index.js.map +1 -0
  98. package/elements/oj-color-spectrum/index.ts +27 -0
  99. package/elements/oj-combobox-many/OjComboboxMany.js +51 -0
  100. package/elements/oj-combobox-many/OjComboboxMany.js.map +1 -0
  101. package/elements/oj-combobox-many/OjComboboxMany.ts +80 -0
  102. package/elements/oj-combobox-many/OjComboboxManyBase.js +98 -0
  103. package/elements/oj-combobox-many/OjComboboxManyBase.js.map +1 -0
  104. package/elements/oj-combobox-many/OjComboboxManyBase.ts +428 -0
  105. package/elements/oj-combobox-many/index.js +17 -0
  106. package/elements/oj-combobox-many/index.js.map +1 -0
  107. package/elements/oj-combobox-many/index.ts +27 -0
  108. package/elements/oj-combobox-one/OjComboboxOne.js +49 -0
  109. package/elements/oj-combobox-one/OjComboboxOne.js.map +1 -0
  110. package/elements/oj-combobox-one/OjComboboxOne.ts +74 -0
  111. package/elements/oj-combobox-one/OjComboboxOneBase.js +101 -0
  112. package/elements/oj-combobox-one/OjComboboxOneBase.js.map +1 -0
  113. package/elements/oj-combobox-one/OjComboboxOneBase.ts +437 -0
  114. package/elements/oj-combobox-one/index.js +17 -0
  115. package/elements/oj-combobox-one/index.js.map +1 -0
  116. package/elements/oj-combobox-one/index.ts +27 -0
  117. package/elements/oj-conveyor-belt/OjConveyorBelt.js +16 -0
  118. package/elements/oj-conveyor-belt/OjConveyorBelt.js.map +1 -0
  119. package/elements/oj-conveyor-belt/OjConveyorBelt.ts +30 -0
  120. package/elements/oj-conveyor-belt/OjConveyorBeltBase.js +29 -0
  121. package/elements/oj-conveyor-belt/OjConveyorBeltBase.js.map +1 -0
  122. package/elements/oj-conveyor-belt/OjConveyorBeltBase.ts +87 -0
  123. package/elements/oj-conveyor-belt/index.js +17 -0
  124. package/elements/oj-conveyor-belt/index.js.map +1 -0
  125. package/elements/oj-conveyor-belt/index.ts +27 -0
  126. package/elements/oj-data-grid/OjDataGrid.js +198 -0
  127. package/elements/oj-data-grid/OjDataGrid.js.map +1 -0
  128. package/elements/oj-data-grid/OjDataGrid.ts +279 -0
  129. package/elements/oj-data-grid/OjDataGridBase.js +65 -0
  130. package/elements/oj-data-grid/OjDataGridBase.js.map +1 -0
  131. package/elements/oj-data-grid/OjDataGridBase.ts +705 -0
  132. package/elements/oj-data-grid/index.js +17 -0
  133. package/elements/oj-data-grid/index.js.map +1 -0
  134. package/elements/oj-data-grid/index.ts +27 -0
  135. package/elements/oj-date-picker/OjDatePicker.js +8 -0
  136. package/elements/oj-date-picker/OjDatePicker.js.map +1 -0
  137. package/elements/oj-date-picker/OjDatePicker.ts +12 -0
  138. package/elements/oj-date-picker/OjDatePickerBase.js +104 -0
  139. package/elements/oj-date-picker/OjDatePickerBase.js.map +1 -0
  140. package/elements/oj-date-picker/OjDatePickerBase.ts +536 -0
  141. package/elements/oj-date-picker/index.js +17 -0
  142. package/elements/oj-date-picker/index.js.map +1 -0
  143. package/elements/oj-date-picker/index.ts +27 -0
  144. package/elements/oj-date-time-picker/OjDateTimePicker.js +8 -0
  145. package/elements/oj-date-time-picker/OjDateTimePicker.js.map +1 -0
  146. package/elements/oj-date-time-picker/OjDateTimePicker.ts +32 -0
  147. package/elements/oj-date-time-picker/OjDateTimePickerBase.js +107 -0
  148. package/elements/oj-date-time-picker/OjDateTimePickerBase.js.map +1 -0
  149. package/elements/oj-date-time-picker/OjDateTimePickerBase.ts +567 -0
  150. package/elements/oj-date-time-picker/index.js +17 -0
  151. package/elements/oj-date-time-picker/index.js.map +1 -0
  152. package/elements/oj-date-time-picker/index.ts +27 -0
  153. package/elements/oj-diagram/OjDiagram.js +8 -0
  154. package/elements/oj-diagram/OjDiagram.js.map +1 -0
  155. package/elements/oj-diagram/OjDiagram.ts +12 -0
  156. package/elements/oj-diagram/OjDiagramBase.js +128 -0
  157. package/elements/oj-diagram/OjDiagramBase.js.map +1 -0
  158. package/elements/oj-diagram/OjDiagramBase.ts +740 -0
  159. package/elements/oj-diagram/index.js +17 -0
  160. package/elements/oj-diagram/index.js.map +1 -0
  161. package/elements/oj-diagram/index.ts +27 -0
  162. package/elements/oj-dialog/OjDialog.js +13 -0
  163. package/elements/oj-dialog/OjDialog.js.map +1 -0
  164. package/elements/oj-dialog/OjDialog.ts +21 -0
  165. package/elements/oj-dialog/OjDialogBase.js +32 -0
  166. package/elements/oj-dialog/OjDialogBase.js.map +1 -0
  167. package/elements/oj-dialog/OjDialogBase.ts +144 -0
  168. package/elements/oj-dialog/index.js +17 -0
  169. package/elements/oj-dialog/index.js.map +1 -0
  170. package/elements/oj-dialog/index.ts +27 -0
  171. package/elements/oj-file-picker/OjFilePicker.js +35 -0
  172. package/elements/oj-file-picker/OjFilePicker.js.map +1 -0
  173. package/elements/oj-file-picker/OjFilePicker.ts +46 -0
  174. package/elements/oj-file-picker/OjFilePickerBase.js +29 -0
  175. package/elements/oj-file-picker/OjFilePickerBase.js.map +1 -0
  176. package/elements/oj-file-picker/OjFilePickerBase.ts +75 -0
  177. package/elements/oj-file-picker/index.js +17 -0
  178. package/elements/oj-file-picker/index.js.map +1 -0
  179. package/elements/oj-file-picker/index.ts +27 -0
  180. package/elements/oj-film-strip/OjFilmStrip.js +8 -0
  181. package/elements/oj-film-strip/OjFilmStrip.js.map +1 -0
  182. package/elements/oj-film-strip/OjFilmStrip.ts +12 -0
  183. package/elements/oj-film-strip/OjFilmStripBase.js +32 -0
  184. package/elements/oj-film-strip/OjFilmStripBase.js.map +1 -0
  185. package/elements/oj-film-strip/OjFilmStripBase.ts +118 -0
  186. package/elements/oj-film-strip/index.js +17 -0
  187. package/elements/oj-film-strip/index.js.map +1 -0
  188. package/elements/oj-film-strip/index.ts +27 -0
  189. package/elements/oj-gantt/OjGantt.js +8 -0
  190. package/elements/oj-gantt/OjGantt.js.map +1 -0
  191. package/elements/oj-gantt/OjGantt.ts +12 -0
  192. package/elements/oj-gantt/OjGanttBase.js +98 -0
  193. package/elements/oj-gantt/OjGanttBase.js.map +1 -0
  194. package/elements/oj-gantt/OjGanttBase.ts +996 -0
  195. package/elements/oj-gantt/index.js +17 -0
  196. package/elements/oj-gantt/index.js.map +1 -0
  197. package/elements/oj-gantt/index.ts +27 -0
  198. package/elements/oj-indexer/OjIndexer.js +8 -0
  199. package/elements/oj-indexer/OjIndexer.js.map +1 -0
  200. package/elements/oj-indexer/OjIndexer.ts +12 -0
  201. package/elements/oj-indexer/OjIndexerBase.js +14 -0
  202. package/elements/oj-indexer/OjIndexerBase.js.map +1 -0
  203. package/elements/oj-indexer/OjIndexerBase.ts +62 -0
  204. package/elements/oj-indexer/index.js +17 -0
  205. package/elements/oj-indexer/index.js.map +1 -0
  206. package/elements/oj-indexer/index.ts +27 -0
  207. package/elements/oj-input-date/OjInputDate.js +10 -0
  208. package/elements/oj-input-date/OjInputDate.js.map +1 -0
  209. package/elements/oj-input-date/OjInputDate.ts +14 -0
  210. package/elements/oj-input-date/OjInputDateBase.js +107 -0
  211. package/elements/oj-input-date/OjInputDateBase.js.map +1 -0
  212. package/elements/oj-input-date/OjInputDateBase.ts +545 -0
  213. package/elements/oj-input-date/index.js +17 -0
  214. package/elements/oj-input-date/index.js.map +1 -0
  215. package/elements/oj-input-date/index.ts +27 -0
  216. package/elements/oj-input-date-time/OjInputDateTime.js +10 -0
  217. package/elements/oj-input-date-time/OjInputDateTime.js.map +1 -0
  218. package/elements/oj-input-date-time/OjInputDateTime.ts +14 -0
  219. package/elements/oj-input-date-time/OjInputDateTimeBase.js +110 -0
  220. package/elements/oj-input-date-time/OjInputDateTimeBase.js.map +1 -0
  221. package/elements/oj-input-date-time/OjInputDateTimeBase.ts +576 -0
  222. package/elements/oj-input-date-time/index.js +17 -0
  223. package/elements/oj-input-date-time/index.js.map +1 -0
  224. package/elements/oj-input-date-time/index.ts +27 -0
  225. package/elements/oj-input-number/OjInputNumber.js +10 -0
  226. package/elements/oj-input-number/OjInputNumber.js.map +1 -0
  227. package/elements/oj-input-number/OjInputNumber.ts +14 -0
  228. package/elements/oj-input-number/OjInputNumberBase.js +98 -0
  229. package/elements/oj-input-number/OjInputNumberBase.js.map +1 -0
  230. package/elements/oj-input-number/OjInputNumberBase.ts +406 -0
  231. package/elements/oj-input-number/index.js +17 -0
  232. package/elements/oj-input-number/index.js.map +1 -0
  233. package/elements/oj-input-number/index.ts +27 -0
  234. package/elements/oj-input-password/OjInputPassword.js +10 -0
  235. package/elements/oj-input-password/OjInputPassword.js.map +1 -0
  236. package/elements/oj-input-password/OjInputPassword.ts +14 -0
  237. package/elements/oj-input-password/OjInputPasswordBase.js +83 -0
  238. package/elements/oj-input-password/OjInputPasswordBase.js.map +1 -0
  239. package/elements/oj-input-password/OjInputPasswordBase.ts +323 -0
  240. package/elements/oj-input-password/index.js +17 -0
  241. package/elements/oj-input-password/index.js.map +1 -0
  242. package/elements/oj-input-password/index.ts +27 -0
  243. package/elements/oj-input-search/OjInputSearch.js +41 -0
  244. package/elements/oj-input-search/OjInputSearch.js.map +1 -0
  245. package/elements/oj-input-search/OjInputSearch.ts +64 -0
  246. package/elements/oj-input-search/OjInputSearchBase.js +26 -0
  247. package/elements/oj-input-search/OjInputSearchBase.js.map +1 -0
  248. package/elements/oj-input-search/OjInputSearchBase.ts +66 -0
  249. package/elements/oj-input-search/index.js +17 -0
  250. package/elements/oj-input-search/index.js.map +1 -0
  251. package/elements/oj-input-search/index.ts +27 -0
  252. package/elements/oj-input-text/OjInputText.js +10 -0
  253. package/elements/oj-input-text/OjInputText.js.map +1 -0
  254. package/elements/oj-input-text/OjInputText.ts +15 -0
  255. package/elements/oj-input-text/OjInputTextBase.js +95 -0
  256. package/elements/oj-input-text/OjInputTextBase.js.map +1 -0
  257. package/elements/oj-input-text/OjInputTextBase.ts +361 -0
  258. package/elements/oj-input-text/index.js +17 -0
  259. package/elements/oj-input-text/index.js.map +1 -0
  260. package/elements/oj-input-text/index.ts +27 -0
  261. package/elements/oj-input-time/OjInputTime.js +10 -0
  262. package/elements/oj-input-time/OjInputTime.js.map +1 -0
  263. package/elements/oj-input-time/OjInputTime.ts +14 -0
  264. package/elements/oj-input-time/OjInputTimeBase.js +101 -0
  265. package/elements/oj-input-time/OjInputTimeBase.js.map +1 -0
  266. package/elements/oj-input-time/OjInputTimeBase.ts +477 -0
  267. package/elements/oj-input-time/index.js +17 -0
  268. package/elements/oj-input-time/index.js.map +1 -0
  269. package/elements/oj-input-time/index.ts +27 -0
  270. package/elements/oj-label/OjLabel.js +8 -0
  271. package/elements/oj-label/OjLabel.js.map +1 -0
  272. package/elements/oj-label/OjLabel.ts +12 -0
  273. package/elements/oj-label/OjLabelBase.js +23 -0
  274. package/elements/oj-label/OjLabelBase.js.map +1 -0
  275. package/elements/oj-label/OjLabelBase.ts +79 -0
  276. package/elements/oj-label/index.js +17 -0
  277. package/elements/oj-label/index.js.map +1 -0
  278. package/elements/oj-label/index.ts +27 -0
  279. package/elements/oj-led-gauge/OjLedGauge.js +8 -0
  280. package/elements/oj-led-gauge/OjLedGauge.js.map +1 -0
  281. package/elements/oj-led-gauge/OjLedGauge.ts +12 -0
  282. package/elements/oj-led-gauge/OjLedGaugeBase.js +62 -0
  283. package/elements/oj-led-gauge/OjLedGaugeBase.js.map +1 -0
  284. package/elements/oj-led-gauge/OjLedGaugeBase.ts +302 -0
  285. package/elements/oj-led-gauge/index.js +17 -0
  286. package/elements/oj-led-gauge/index.js.map +1 -0
  287. package/elements/oj-led-gauge/index.ts +27 -0
  288. package/elements/oj-legend/OjLegend.js +8 -0
  289. package/elements/oj-legend/OjLegend.js.map +1 -0
  290. package/elements/oj-legend/OjLegend.ts +12 -0
  291. package/elements/oj-legend/OjLegendBase.js +74 -0
  292. package/elements/oj-legend/OjLegendBase.js.map +1 -0
  293. package/elements/oj-legend/OjLegendBase.ts +324 -0
  294. package/elements/oj-legend/index.js +17 -0
  295. package/elements/oj-legend/index.js.map +1 -0
  296. package/elements/oj-legend/index.ts +27 -0
  297. package/elements/oj-list-view/OjListView.js +25 -0
  298. package/elements/oj-list-view/OjListView.js.map +1 -0
  299. package/elements/oj-list-view/OjListView.ts +36 -0
  300. package/elements/oj-list-view/OjListViewBase.js +71 -0
  301. package/elements/oj-list-view/OjListViewBase.js.map +1 -0
  302. package/elements/oj-list-view/OjListViewBase.ts +355 -0
  303. package/elements/oj-list-view/index.js +17 -0
  304. package/elements/oj-list-view/index.js.map +1 -0
  305. package/elements/oj-list-view/index.ts +27 -0
  306. package/elements/oj-masonry-layout/OjMasonryLayout.js +8 -0
  307. package/elements/oj-masonry-layout/OjMasonryLayout.js.map +1 -0
  308. package/elements/oj-masonry-layout/OjMasonryLayout.ts +12 -0
  309. package/elements/oj-masonry-layout/OjMasonryLayoutBase.js +14 -0
  310. package/elements/oj-masonry-layout/OjMasonryLayoutBase.js.map +1 -0
  311. package/elements/oj-masonry-layout/OjMasonryLayoutBase.ts +46 -0
  312. package/elements/oj-masonry-layout/index.js +17 -0
  313. package/elements/oj-masonry-layout/index.js.map +1 -0
  314. package/elements/oj-masonry-layout/index.ts +27 -0
  315. package/elements/oj-menu/OjMenu.js +28 -0
  316. package/elements/oj-menu/OjMenu.js.map +1 -0
  317. package/elements/oj-menu/OjMenu.ts +42 -0
  318. package/elements/oj-menu/OjMenuBase.js +17 -0
  319. package/elements/oj-menu/OjMenuBase.js.map +1 -0
  320. package/elements/oj-menu/OjMenuBase.ts +121 -0
  321. package/elements/oj-menu/index.js +17 -0
  322. package/elements/oj-menu/index.js.map +1 -0
  323. package/elements/oj-menu/index.ts +27 -0
  324. package/elements/oj-menu-button/OjMenuButton.js +14 -0
  325. package/elements/oj-menu-button/OjMenuButton.js.map +1 -0
  326. package/elements/oj-menu-button/OjMenuButton.ts +20 -0
  327. package/elements/oj-menu-button/OjMenuButtonBase.js +20 -0
  328. package/elements/oj-menu-button/OjMenuButtonBase.js.map +1 -0
  329. package/elements/oj-menu-button/OjMenuButtonBase.ts +48 -0
  330. package/elements/oj-menu-button/index.js +17 -0
  331. package/elements/oj-menu-button/index.js.map +1 -0
  332. package/elements/oj-menu-button/index.ts +27 -0
  333. package/elements/oj-message/OjMessage.js +13 -0
  334. package/elements/oj-message/OjMessage.js.map +1 -0
  335. package/elements/oj-message/OjMessage.ts +19 -0
  336. package/elements/oj-message/OjMessageBase.js +17 -0
  337. package/elements/oj-message/OjMessageBase.js.map +1 -0
  338. package/elements/oj-message/OjMessageBase.ts +113 -0
  339. package/elements/oj-message/index.js +17 -0
  340. package/elements/oj-message/index.js.map +1 -0
  341. package/elements/oj-message/index.ts +27 -0
  342. package/elements/oj-n-box/OjNBox.js +8 -0
  343. package/elements/oj-n-box/OjNBox.js.map +1 -0
  344. package/elements/oj-n-box/OjNBox.ts +12 -0
  345. package/elements/oj-n-box/OjNBoxBase.js +116 -0
  346. package/elements/oj-n-box/OjNBoxBase.js.map +1 -0
  347. package/elements/oj-n-box/OjNBoxBase.ts +880 -0
  348. package/elements/oj-n-box/index.js +17 -0
  349. package/elements/oj-n-box/index.js.map +1 -0
  350. package/elements/oj-n-box/index.ts +27 -0
  351. package/elements/oj-navigation-list/OjNavigationList.js +186 -0
  352. package/elements/oj-navigation-list/OjNavigationList.js.map +1 -0
  353. package/elements/oj-navigation-list/OjNavigationList.ts +250 -0
  354. package/elements/oj-navigation-list/OjNavigationListBase.js +50 -0
  355. package/elements/oj-navigation-list/OjNavigationListBase.js.map +1 -0
  356. package/elements/oj-navigation-list/OjNavigationListBase.ts +164 -0
  357. package/elements/oj-navigation-list/index.js +17 -0
  358. package/elements/oj-navigation-list/index.js.map +1 -0
  359. package/elements/oj-navigation-list/index.ts +27 -0
  360. package/elements/oj-paging-control/OjPagingControl.js +13 -0
  361. package/elements/oj-paging-control/OjPagingControl.js.map +1 -0
  362. package/elements/oj-paging-control/OjPagingControl.ts +26 -0
  363. package/elements/oj-paging-control/OjPagingControlBase.js +29 -0
  364. package/elements/oj-paging-control/OjPagingControlBase.js.map +1 -0
  365. package/elements/oj-paging-control/OjPagingControlBase.ts +235 -0
  366. package/elements/oj-paging-control/index.js +17 -0
  367. package/elements/oj-paging-control/index.js.map +1 -0
  368. package/elements/oj-paging-control/index.ts +27 -0
  369. package/elements/oj-picto-chart/OjPictoChart.js +8 -0
  370. package/elements/oj-picto-chart/OjPictoChart.js.map +1 -0
  371. package/elements/oj-picto-chart/OjPictoChart.ts +12 -0
  372. package/elements/oj-picto-chart/OjPictoChartBase.js +86 -0
  373. package/elements/oj-picto-chart/OjPictoChartBase.js.map +1 -0
  374. package/elements/oj-picto-chart/OjPictoChartBase.ts +394 -0
  375. package/elements/oj-picto-chart/index.js +17 -0
  376. package/elements/oj-picto-chart/index.js.map +1 -0
  377. package/elements/oj-picto-chart/index.ts +27 -0
  378. package/elements/oj-popup/OjPopup.js +8 -0
  379. package/elements/oj-popup/OjPopup.js.map +1 -0
  380. package/elements/oj-popup/OjPopup.ts +11 -0
  381. package/elements/oj-popup/OjPopupBase.js +29 -0
  382. package/elements/oj-popup/OjPopupBase.js.map +1 -0
  383. package/elements/oj-popup/OjPopupBase.ts +155 -0
  384. package/elements/oj-popup/index.js +17 -0
  385. package/elements/oj-popup/index.js.map +1 -0
  386. package/elements/oj-popup/index.ts +27 -0
  387. package/elements/oj-progress/OjProgress.js +8 -0
  388. package/elements/oj-progress/OjProgress.js.map +1 -0
  389. package/elements/oj-progress/OjProgress.ts +12 -0
  390. package/elements/oj-progress/OjProgressBase.js +23 -0
  391. package/elements/oj-progress/OjProgressBase.js.map +1 -0
  392. package/elements/oj-progress/OjProgressBase.ts +65 -0
  393. package/elements/oj-progress/index.js +17 -0
  394. package/elements/oj-progress/index.js.map +1 -0
  395. package/elements/oj-progress/index.ts +27 -0
  396. package/elements/oj-progress-list/OjProgressList.js +8 -0
  397. package/elements/oj-progress-list/OjProgressList.js.map +1 -0
  398. package/elements/oj-progress-list/OjProgressList.ts +12 -0
  399. package/elements/oj-progress-list/OjProgressListBase.js +11 -0
  400. package/elements/oj-progress-list/OjProgressListBase.js.map +1 -0
  401. package/elements/oj-progress-list/OjProgressListBase.ts +21 -0
  402. package/elements/oj-progress-list/index.js +17 -0
  403. package/elements/oj-progress-list/index.js.map +1 -0
  404. package/elements/oj-progress-list/index.ts +27 -0
  405. package/elements/oj-radioset/OjRadioset.js +32 -0
  406. package/elements/oj-radioset/OjRadioset.js.map +1 -0
  407. package/elements/oj-radioset/OjRadioset.ts +63 -0
  408. package/elements/oj-radioset/OjRadiosetBase.js +68 -0
  409. package/elements/oj-radioset/OjRadiosetBase.js.map +1 -0
  410. package/elements/oj-radioset/OjRadiosetBase.ts +262 -0
  411. package/elements/oj-radioset/index.js +17 -0
  412. package/elements/oj-radioset/index.js.map +1 -0
  413. package/elements/oj-radioset/index.ts +27 -0
  414. package/elements/oj-rating-gauge/OjRatingGauge.js +8 -0
  415. package/elements/oj-rating-gauge/OjRatingGauge.js.map +1 -0
  416. package/elements/oj-rating-gauge/OjRatingGauge.ts +12 -0
  417. package/elements/oj-rating-gauge/OjRatingGaugeBase.js +80 -0
  418. package/elements/oj-rating-gauge/OjRatingGaugeBase.js.map +1 -0
  419. package/elements/oj-rating-gauge/OjRatingGaugeBase.ts +424 -0
  420. package/elements/oj-rating-gauge/index.js +17 -0
  421. package/elements/oj-rating-gauge/index.js.map +1 -0
  422. package/elements/oj-rating-gauge/index.ts +27 -0
  423. package/elements/oj-refresher/OjRefresher.js +8 -0
  424. package/elements/oj-refresher/OjRefresher.js.map +1 -0
  425. package/elements/oj-refresher/OjRefresher.ts +12 -0
  426. package/elements/oj-refresher/OjRefresherBase.js +20 -0
  427. package/elements/oj-refresher/OjRefresherBase.js.map +1 -0
  428. package/elements/oj-refresher/OjRefresherBase.ts +64 -0
  429. package/elements/oj-refresher/index.js +17 -0
  430. package/elements/oj-refresher/index.js.map +1 -0
  431. package/elements/oj-refresher/index.ts +27 -0
  432. package/elements/oj-row-expander/OjRowExpander.js +8 -0
  433. package/elements/oj-row-expander/OjRowExpander.js.map +1 -0
  434. package/elements/oj-row-expander/OjRowExpander.ts +12 -0
  435. package/elements/oj-row-expander/OjRowExpanderBase.js +20 -0
  436. package/elements/oj-row-expander/OjRowExpanderBase.js.map +1 -0
  437. package/elements/oj-row-expander/OjRowExpanderBase.ts +76 -0
  438. package/elements/oj-row-expander/index.js +17 -0
  439. package/elements/oj-row-expander/index.js.map +1 -0
  440. package/elements/oj-row-expander/index.ts +27 -0
  441. package/elements/oj-select-many/OjSelectMany.js +51 -0
  442. package/elements/oj-select-many/OjSelectMany.js.map +1 -0
  443. package/elements/oj-select-many/OjSelectMany.ts +80 -0
  444. package/elements/oj-select-many/OjSelectManyBase.js +89 -0
  445. package/elements/oj-select-many/OjSelectManyBase.js.map +1 -0
  446. package/elements/oj-select-many/OjSelectManyBase.ts +387 -0
  447. package/elements/oj-select-many/index.js +17 -0
  448. package/elements/oj-select-many/index.js.map +1 -0
  449. package/elements/oj-select-many/index.ts +27 -0
  450. package/elements/oj-select-one/OjSelectOne.js +45 -0
  451. package/elements/oj-select-one/OjSelectOne.js.map +1 -0
  452. package/elements/oj-select-one/OjSelectOne.ts +70 -0
  453. package/elements/oj-select-one/OjSelectOneBase.js +89 -0
  454. package/elements/oj-select-one/OjSelectOneBase.js.map +1 -0
  455. package/elements/oj-select-one/OjSelectOneBase.ts +387 -0
  456. package/elements/oj-select-one/index.js +17 -0
  457. package/elements/oj-select-one/index.js.map +1 -0
  458. package/elements/oj-select-one/index.ts +27 -0
  459. package/elements/oj-select-single/OjSelectSingle.js +35 -0
  460. package/elements/oj-select-single/OjSelectSingle.js.map +1 -0
  461. package/elements/oj-select-single/OjSelectSingle.ts +51 -0
  462. package/elements/oj-select-single/OjSelectSingleBase.js +77 -0
  463. package/elements/oj-select-single/OjSelectSingleBase.js.map +1 -0
  464. package/elements/oj-select-single/OjSelectSingleBase.ts +303 -0
  465. package/elements/oj-select-single/index.js +17 -0
  466. package/elements/oj-select-single/index.js.map +1 -0
  467. package/elements/oj-select-single/index.ts +27 -0
  468. package/elements/oj-selector/OjSelector.js +13 -0
  469. package/elements/oj-selector/OjSelector.js.map +1 -0
  470. package/elements/oj-selector/OjSelector.ts +20 -0
  471. package/elements/oj-selector/OjSelectorBase.js +26 -0
  472. package/elements/oj-selector/OjSelectorBase.js.map +1 -0
  473. package/elements/oj-selector/OjSelectorBase.ts +66 -0
  474. package/elements/oj-selector/index.js +17 -0
  475. package/elements/oj-selector/index.js.map +1 -0
  476. package/elements/oj-selector/index.ts +27 -0
  477. package/elements/oj-slider/OjSlider.js +15 -0
  478. package/elements/oj-slider/OjSlider.js.map +1 -0
  479. package/elements/oj-slider/OjSlider.ts +25 -0
  480. package/elements/oj-slider/OjSliderBase.js +71 -0
  481. package/elements/oj-slider/OjSliderBase.js.map +1 -0
  482. package/elements/oj-slider/OjSliderBase.ts +259 -0
  483. package/elements/oj-slider/index.js +17 -0
  484. package/elements/oj-slider/index.js.map +1 -0
  485. package/elements/oj-slider/index.ts +27 -0
  486. package/elements/oj-spark-chart/OjSparkChart.js +8 -0
  487. package/elements/oj-spark-chart/OjSparkChart.js.map +1 -0
  488. package/elements/oj-spark-chart/OjSparkChart.ts +12 -0
  489. package/elements/oj-spark-chart/OjSparkChartBase.js +95 -0
  490. package/elements/oj-spark-chart/OjSparkChartBase.js.map +1 -0
  491. package/elements/oj-spark-chart/OjSparkChartBase.ts +431 -0
  492. package/elements/oj-spark-chart/index.js +17 -0
  493. package/elements/oj-spark-chart/index.js.map +1 -0
  494. package/elements/oj-spark-chart/index.ts +27 -0
  495. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.js +8 -0
  496. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.js.map +1 -0
  497. package/elements/oj-status-meter-gauge/OjStatusMeterGauge.ts +12 -0
  498. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.js +107 -0
  499. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.js.map +1 -0
  500. package/elements/oj-status-meter-gauge/OjStatusMeterGaugeBase.ts +491 -0
  501. package/elements/oj-status-meter-gauge/index.js +17 -0
  502. package/elements/oj-status-meter-gauge/index.js.map +1 -0
  503. package/elements/oj-status-meter-gauge/index.ts +27 -0
  504. package/elements/oj-stream-list/OjStreamList.js +70 -0
  505. package/elements/oj-stream-list/OjStreamList.js.map +1 -0
  506. package/elements/oj-stream-list/OjStreamList.ts +79 -0
  507. package/elements/oj-stream-list/OjStreamListBase.js +29 -0
  508. package/elements/oj-stream-list/OjStreamListBase.js.map +1 -0
  509. package/elements/oj-stream-list/OjStreamListBase.ts +109 -0
  510. package/elements/oj-stream-list/index.js +17 -0
  511. package/elements/oj-stream-list/index.js.map +1 -0
  512. package/elements/oj-stream-list/index.ts +27 -0
  513. package/elements/oj-sunburst/OjSunburst.js +8 -0
  514. package/elements/oj-sunburst/OjSunburst.js.map +1 -0
  515. package/elements/oj-sunburst/OjSunburst.ts +12 -0
  516. package/elements/oj-sunburst/OjSunburstBase.js +104 -0
  517. package/elements/oj-sunburst/OjSunburstBase.js.map +1 -0
  518. package/elements/oj-sunburst/OjSunburstBase.ts +512 -0
  519. package/elements/oj-sunburst/index.js +17 -0
  520. package/elements/oj-sunburst/index.js.map +1 -0
  521. package/elements/oj-sunburst/index.ts +27 -0
  522. package/elements/oj-swipe-actions/OjSwipeActions.js +19 -0
  523. package/elements/oj-swipe-actions/OjSwipeActions.js.map +1 -0
  524. package/elements/oj-swipe-actions/OjSwipeActions.ts +30 -0
  525. package/elements/oj-swipe-actions/OjSwipeActionsBase.js +11 -0
  526. package/elements/oj-swipe-actions/OjSwipeActionsBase.js.map +1 -0
  527. package/elements/oj-swipe-actions/OjSwipeActionsBase.ts +37 -0
  528. package/elements/oj-swipe-actions/index.js +17 -0
  529. package/elements/oj-swipe-actions/index.js.map +1 -0
  530. package/elements/oj-swipe-actions/index.ts +27 -0
  531. package/elements/oj-switch/OjSwitch.js +16 -0
  532. package/elements/oj-switch/OjSwitch.js.map +1 -0
  533. package/elements/oj-switch/OjSwitch.ts +26 -0
  534. package/elements/oj-switch/OjSwitchBase.js +56 -0
  535. package/elements/oj-switch/OjSwitchBase.js.map +1 -0
  536. package/elements/oj-switch/OjSwitchBase.ts +192 -0
  537. package/elements/oj-switch/index.js +17 -0
  538. package/elements/oj-switch/index.js.map +1 -0
  539. package/elements/oj-switch/index.ts +27 -0
  540. package/elements/oj-tab-bar/OjTabBar.js +8 -0
  541. package/elements/oj-tab-bar/OjTabBar.js.map +1 -0
  542. package/elements/oj-tab-bar/OjTabBar.ts +12 -0
  543. package/elements/oj-tab-bar/OjTabBarBase.js +50 -0
  544. package/elements/oj-tab-bar/OjTabBarBase.js.map +1 -0
  545. package/elements/oj-tab-bar/OjTabBarBase.ts +200 -0
  546. package/elements/oj-tab-bar/index.js +17 -0
  547. package/elements/oj-tab-bar/index.js.map +1 -0
  548. package/elements/oj-tab-bar/index.ts +27 -0
  549. package/elements/oj-table/OjTable.js +8 -0
  550. package/elements/oj-table/OjTable.js.map +1 -0
  551. package/elements/oj-table/OjTable.ts +12 -0
  552. package/elements/oj-table/OjTableBase.js +98 -0
  553. package/elements/oj-table/OjTableBase.js.map +1 -0
  554. package/elements/oj-table/OjTableBase.ts +702 -0
  555. package/elements/oj-table/index.js +17 -0
  556. package/elements/oj-table/index.js.map +1 -0
  557. package/elements/oj-table/index.ts +27 -0
  558. package/elements/oj-tag-cloud/OjTagCloud.js +8 -0
  559. package/elements/oj-tag-cloud/OjTagCloud.js.map +1 -0
  560. package/elements/oj-tag-cloud/OjTagCloud.ts +12 -0
  561. package/elements/oj-tag-cloud/OjTagCloudBase.js +68 -0
  562. package/elements/oj-tag-cloud/OjTagCloudBase.js.map +1 -0
  563. package/elements/oj-tag-cloud/OjTagCloudBase.ts +318 -0
  564. package/elements/oj-tag-cloud/index.js +17 -0
  565. package/elements/oj-tag-cloud/index.js.map +1 -0
  566. package/elements/oj-tag-cloud/index.ts +27 -0
  567. package/elements/oj-text-area/OjTextArea.js +10 -0
  568. package/elements/oj-text-area/OjTextArea.js.map +1 -0
  569. package/elements/oj-text-area/OjTextArea.ts +14 -0
  570. package/elements/oj-text-area/OjTextAreaBase.js +95 -0
  571. package/elements/oj-text-area/OjTextAreaBase.js.map +1 -0
  572. package/elements/oj-text-area/OjTextAreaBase.ts +365 -0
  573. package/elements/oj-text-area/index.js +17 -0
  574. package/elements/oj-text-area/index.js.map +1 -0
  575. package/elements/oj-text-area/index.ts +27 -0
  576. package/elements/oj-thematic-map/OjThematicMap.js +8 -0
  577. package/elements/oj-thematic-map/OjThematicMap.js.map +1 -0
  578. package/elements/oj-thematic-map/OjThematicMap.ts +12 -0
  579. package/elements/oj-thematic-map/OjThematicMapBase.js +119 -0
  580. package/elements/oj-thematic-map/OjThematicMapBase.js.map +1 -0
  581. package/elements/oj-thematic-map/OjThematicMapBase.ts +777 -0
  582. package/elements/oj-thematic-map/index.js +17 -0
  583. package/elements/oj-thematic-map/index.js.map +1 -0
  584. package/elements/oj-thematic-map/index.ts +27 -0
  585. package/elements/oj-time-axis/OjTimeAxis.js +8 -0
  586. package/elements/oj-time-axis/OjTimeAxis.js.map +1 -0
  587. package/elements/oj-time-axis/OjTimeAxis.ts +12 -0
  588. package/elements/oj-time-axis/OjTimeAxisBase.js +26 -0
  589. package/elements/oj-time-axis/OjTimeAxisBase.js.map +1 -0
  590. package/elements/oj-time-axis/OjTimeAxisBase.ts +176 -0
  591. package/elements/oj-time-axis/index.js +17 -0
  592. package/elements/oj-time-axis/index.js.map +1 -0
  593. package/elements/oj-time-axis/index.ts +27 -0
  594. package/elements/oj-timeline/OjTimeline.js +8 -0
  595. package/elements/oj-timeline/OjTimeline.js.map +1 -0
  596. package/elements/oj-timeline/OjTimeline.ts +12 -0
  597. package/elements/oj-timeline/OjTimelineBase.js +71 -0
  598. package/elements/oj-timeline/OjTimelineBase.js.map +1 -0
  599. package/elements/oj-timeline/OjTimelineBase.ts +715 -0
  600. package/elements/oj-timeline/index.js +17 -0
  601. package/elements/oj-timeline/index.js.map +1 -0
  602. package/elements/oj-timeline/index.ts +27 -0
  603. package/elements/oj-train/OjTrain.js +8 -0
  604. package/elements/oj-train/OjTrain.js.map +1 -0
  605. package/elements/oj-train/OjTrain.ts +12 -0
  606. package/elements/oj-train/OjTrainBase.js +20 -0
  607. package/elements/oj-train/OjTrainBase.js.map +1 -0
  608. package/elements/oj-train/OjTrainBase.ts +72 -0
  609. package/elements/oj-train/index.js +17 -0
  610. package/elements/oj-train/index.js.map +1 -0
  611. package/elements/oj-train/index.ts +27 -0
  612. package/elements/oj-tree-view/OjTreeView.js +80 -0
  613. package/elements/oj-tree-view/OjTreeView.js.map +1 -0
  614. package/elements/oj-tree-view/OjTreeView.ts +117 -0
  615. package/elements/oj-tree-view/OjTreeViewBase.js +35 -0
  616. package/elements/oj-tree-view/OjTreeViewBase.js.map +1 -0
  617. package/elements/oj-tree-view/OjTreeViewBase.ts +131 -0
  618. package/elements/oj-tree-view/index.js +17 -0
  619. package/elements/oj-tree-view/index.js.map +1 -0
  620. package/elements/oj-tree-view/index.ts +27 -0
  621. package/elements/oj-treemap/OjTreemap.js +8 -0
  622. package/elements/oj-treemap/OjTreemap.js.map +1 -0
  623. package/elements/oj-treemap/OjTreemap.ts +12 -0
  624. package/elements/oj-treemap/OjTreemapBase.js +110 -0
  625. package/elements/oj-treemap/OjTreemapBase.js.map +1 -0
  626. package/elements/oj-treemap/OjTreemapBase.ts +594 -0
  627. package/elements/oj-treemap/index.js +17 -0
  628. package/elements/oj-treemap/index.js.map +1 -0
  629. package/elements/oj-treemap/index.ts +27 -0
  630. package/elements/oj-waterfall-layout/OjWaterfallLayout.js +8 -0
  631. package/elements/oj-waterfall-layout/OjWaterfallLayout.js.map +1 -0
  632. package/elements/oj-waterfall-layout/OjWaterfallLayout.ts +12 -0
  633. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js +23 -0
  634. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.js.map +1 -0
  635. package/elements/oj-waterfall-layout/OjWaterfallLayoutBase.ts +87 -0
  636. package/elements/oj-waterfall-layout/index.js +17 -0
  637. package/elements/oj-waterfall-layout/index.js.map +1 -0
  638. package/elements/oj-waterfall-layout/index.ts +27 -0
  639. package/index.js +171 -0
  640. package/index.js.map +1 -0
  641. package/index.ts +449 -0
  642. package/lib/Expectation.js +189 -0
  643. package/lib/Expectation.js.map +1 -0
  644. package/lib/Expectation.ts +272 -0
  645. package/lib/OjFetch.js +83 -0
  646. package/lib/OjFetch.js.map +1 -0
  647. package/lib/OjFetch.ts +158 -0
  648. package/lib/ScreenshotManager.js +113 -0
  649. package/lib/ScreenshotManager.js.map +1 -0
  650. package/lib/ScreenshotManager.ts +195 -0
  651. package/lib/driver-manager.js +89 -0
  652. package/lib/driver-manager.js.map +1 -0
  653. package/lib/driver-manager.ts +330 -0
  654. package/lib/driver-override.js +116 -0
  655. package/lib/driver-override.js.map +1 -0
  656. package/lib/driver-override.ts +270 -0
  657. package/lib/input-utils.js +24 -0
  658. package/lib/input-utils.js.map +1 -0
  659. package/lib/input-utils.ts +50 -0
  660. package/lib/slot-proxy.js +25 -0
  661. package/lib/slot-proxy.js.map +1 -0
  662. package/lib/slot-proxy.ts +61 -0
  663. package/lib/stale-element.js +26 -0
  664. package/lib/stale-element.js.map +1 -0
  665. package/lib/stale-element.ts +40 -0
  666. package/package.json +19 -0
  667. package/tsconfig.json +10 -0
package/index.ts ADDED
@@ -0,0 +1,449 @@
1
+ /**
2
+ * This module exposes the utility functions for JET-based WebDriver tests.
3
+ */
4
+ import {
5
+ By,
6
+ Condition,
7
+ error,
8
+ Locator,
9
+ WebDriver,
10
+ WebElement,
11
+ WebElementPromise
12
+ } from "selenium-webdriver";
13
+
14
+ // Export register function before importing elements so that they can
15
+ // call it to register themselves
16
+ export { register } from "./lib/driver-override";
17
+ export { DriverManager } from "./lib/driver-manager";
18
+ import {
19
+ MarshalableRequestInfo,
20
+ MarshalableResponseInfo,
21
+ MarshaledResponse,
22
+ MarshalableRequestInit,
23
+ OjFetch
24
+ } from "./lib/OjFetch";
25
+
26
+ //export screenshotManager module
27
+ import * as sm from "./lib/ScreenshotManager";
28
+ export { sm as ScreenshotManager };
29
+
30
+ import { OjWebElement } from "./elements/OjWebElement";
31
+ import { Expectation } from "./lib/Expectation";
32
+ export { Expectation };
33
+
34
+ export { SlotProxy, slotProxy } from "./lib/slot-proxy";
35
+
36
+ /**
37
+ * This interface describes the functions that are needed from the driver object
38
+ * passed to the factory functions in this utility. This allows tests to pass
39
+ * either the main WebDriver instance or individual WebElements from which to
40
+ * locate the component elemenet.
41
+ * ###### Using WebDriver instance to locate a button in the document
42
+ * ```javascript
43
+ * const driver = new Builder().build();
44
+ * let button = await ojButton(driver, By.id("mybutton"))
45
+ * ```
46
+ * ###### Using WebElement instance to locate a button underneath a <div>
47
+ * ```javascript
48
+ * let div = await driver.findElement(By.id("my-div"));
49
+ * let button = await ojButton(div, By.css("oj-button"));
50
+ * ```
51
+ */
52
+ export interface DriverLike {
53
+ /**
54
+ * Find an element using a given locator strategy
55
+ * @param by The locator strategy to find the element
56
+ */
57
+ findElement(by: Locator): WebElementPromise;
58
+ /**
59
+ * Find a set of elements using a given locator strategy
60
+ * @param by The locator strategy to find the elements
61
+ */
62
+ findElements(by: Locator): Promise<WebElement[]>
63
+ }
64
+
65
+ /**
66
+ * Create a Condition for WebDriver to wait on the page's BusyContext to be ready
67
+ */
68
+ function pageReady(): Condition<Promise<boolean>> {
69
+ return new Condition("for JET page to indicate ready", async (driver) => {
70
+ // Check that <html> element has a size after page ready
71
+ // Call thru executeScript to bypass WebElement overrides
72
+ const size = await driver.executeScript<{width:Number, height:number}>(`
73
+ const html = document.querySelector('html');
74
+ return { width: html.clientWidth, height: html.clientHeight }
75
+ `);
76
+ if (!(size.width && size.height)) {
77
+ return false;
78
+ }
79
+
80
+ // Test if the page BusyContext is ready. Since the script is continually
81
+ // run by the Condition, any errors returned will mean the page is not ready.
82
+ // If issues exist trying to get ojs/ojcontext, then remove (undef) the module
83
+ // from RequireJS so that it (RequireJS) will attempt to fetch the script again.
84
+ const remoteScript = `
85
+ const done = arguments[0];
86
+ const contextModule = 'ojs/ojcontext';
87
+ try {
88
+ require(
89
+ [contextModule],
90
+ function(Context) {
91
+ if (Context.getPageContext().getBusyContext().isReady()) {
92
+ done();
93
+ } else {
94
+ done('not yet ready');
95
+ }
96
+ },
97
+ function (ex) {
98
+ require.undef(contextModule);
99
+ done(ex.message);
100
+ }
101
+ )
102
+ } catch (ex) { done(ex.message) }
103
+ `;
104
+ // Any message returned from the script is an exception. Only return true
105
+ // if the script completes w/o a message.
106
+ // Exceptions will eventually cause the Condition to timeout
107
+ return !(await driver.executeAsyncScript<string>(remoteScript));
108
+ });
109
+ }
110
+
111
+ /**
112
+ * Script executed by ojwd.assert() to run the Chai assertion on the browser
113
+ */
114
+ const ASSERT_SCRIPT = `
115
+ var viewmodelEl = arguments[0];
116
+ var assertion = arguments[1];
117
+ var callback = arguments[arguments.length - 1];
118
+ require([
119
+ 'chai',
120
+ 'knockout',
121
+ 'ojs/ojcspexpressionevaluator'
122
+ ], function(chai, ko, ExpressionEval) {
123
+ if (chai) {
124
+ try {
125
+ var viewmodel = ko.dataFor(viewmodelEl);
126
+ var evaluator = new ExpressionEval();
127
+ // Use ExpressionEval to get the value from the viewmodel
128
+ var value = evaluator.createEvaluator(assertion.expression).evaluate([viewmodel]);
129
+
130
+ function compare(value) {
131
+ var expect = chai.expect(value);
132
+ // For each chained assertion, call the assertion method with the arguments
133
+ assertion.chain.forEach((desc) => {
134
+ if (typeof desc === 'string') {
135
+ // Simple assertions, "is", "to", "be", etc
136
+ expect = expect[desc];
137
+ } else {
138
+ // Complex assertions (chained functions)
139
+ const name = desc.name;
140
+ const args = desc.args;
141
+ let evaluatedArgs = [];
142
+
143
+ if (name === 'match') {
144
+ args[0] = new RegExp(args[0]);
145
+ }
146
+
147
+ if (args) {
148
+ evaluatedArgs = args;
149
+ }
150
+
151
+ expect = expect[name](...evaluatedArgs);
152
+ }
153
+ });
154
+ callback(true);
155
+ }
156
+
157
+ // If "value" is a Promise
158
+ if (value && typeof value.then === 'function') {
159
+ value.then(compare).catch(function(ex) { callback(ex.message) });
160
+ } else {
161
+ compare(value);
162
+ }
163
+ } catch (ex) {
164
+ callback(ex.message);
165
+ }
166
+ } else {
167
+ callback('Chai not found');
168
+ }
169
+ }, function(ex) { callback(ex.message); });
170
+ `;
171
+
172
+ /**
173
+ * Check the running JET UI version against this oraclejet-webdriver package
174
+ * version. It's expected that the JET UI is already fully loaded so that
175
+ * "oj.version" and "oj.revision" will resolve.
176
+ * If a mismatch is found, a console warning will be logged with the mismatched
177
+ * values.
178
+ * @param driver WebDriver instance
179
+ */
180
+ async function checkVersions(driver: WebDriver) {
181
+ const pjson = require('./package.json');
182
+ const version = pjson.version;
183
+ const rev = pjson.config.revision;
184
+ const jet = await driver.executeScript<{ version:string, revision:string }>(`
185
+ return { version: oj.version, revision: oj.revision }
186
+ `);
187
+ const localRegex = /^#@@oj\./;
188
+ if (
189
+ // Check if not local build (running from JET repo)
190
+ !(version === '1.0.0' && localRegex.test(rev)) &&
191
+ // or version mismatch
192
+ (version !== jet.version || rev !== jet.revision)) {
193
+ const mismatch = `version mismatch: oraclejet ${JSON.stringify(jet)}, oraclejet-webdriver {"version": "${version}", "revision": "${rev}"}`;
194
+ console.warn(`
195
+ Your oraclejet UI version/revision does not match oraclejet-webdriver
196
+ ${mismatch}
197
+ `);
198
+ }
199
+ }
200
+
201
+ /**
202
+ * The test utility object for JET component WebElements. This object contains
203
+ * all of the factory functions needed to create the component WebElements, plus,
204
+ * additional utilities useful for testing JET-based UIs. This object should be
205
+ * imported into tests with
206
+ * ```javascript
207
+ * import ojwd from "@oracle/oraclejet-webdriver";
208
+ * ```
209
+ */
210
+ const ojwd = {
211
+ /**
212
+ * Opens a JET page and wait for the UI to be ready for testing. This method
213
+ * should be used in place of WebDriver.get() to open a page for test. It will
214
+ * wait on the page's BusyContext to clear before continuing on.
215
+ * Note that this method should only be used to open a JET page, one which uses
216
+ * RequireJS. Attempting to open a non-JET page will result in the script
217
+ * timing out waiting for RequireJS to become available.
218
+ *
219
+ * @param driver The WebDriver instance
220
+ * @param url The URL to open
221
+ */
222
+ async get(driver: WebDriver, url: string) {
223
+ await driver.get(url);
224
+ const timeouts = await driver.manage().getTimeouts();
225
+ try {
226
+ await driver.wait(pageReady(), timeouts.pageLoad);
227
+ await checkVersions(driver);
228
+ } catch (ex) {
229
+ if (ex instanceof error.TimeoutError || ex instanceof error.ScriptTimeoutError) {
230
+ const openStates = await driver.executeScript<string[]>(`
231
+ let Context = require('ojs/ojcontext');
232
+ return Context.getPageContext().getBusyContext().getBusyStates()
233
+ .map((state) => state.description);
234
+ `).catch(ex => ex.message);
235
+ ex.message += ` - open busy states: ${openStates}`;
236
+ }
237
+ throw ex;
238
+ }
239
+ },
240
+ /**
241
+ * @deprecated
242
+ * Wait until the JET page indicates that it's loaded and ready. This function
243
+ * returns a Condition that can be used with WebDriver.wait().
244
+ * ```javascript
245
+ * driver.wait(ojwd.pageReady())
246
+ * ```
247
+ * This function is deprecated. All WebElements interacting with JET pages
248
+ * should automatically block until the BusyContext is cleared before performing
249
+ * their actions. Therefore, explicitly waiting for the page to be ready should
250
+ * not be needed.
251
+ */
252
+ pageReady(): Condition<Promise<boolean>> {
253
+ console.warn(
254
+ "pageReady() is deprecated and will be removed in the next release. " +
255
+ "Use ojwd.get() to open and wait for the page to be ready for testing"
256
+ );
257
+ return pageReady();
258
+ },
259
+
260
+ /**
261
+ * Invoke fetch in the browser to permit interaction with REST services.
262
+ * Browsers must support fetch api.
263
+ *
264
+ * The fetch parameters mirror the MDN fetch api
265
+ * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters
266
+ *
267
+ * Note the return value is not the typical Response object, to accommodate webdriver marshalling.
268
+ *
269
+ * @param {WebDriver} driver A WebDriver-like object
270
+ * @param {MarshalableRequestInfo} input String containing the direct URL of the resource you want to fetch.
271
+ * @param {MarshalableResponseInfo} responseInfo Indicates the desired structure of the response body, text or json
272
+ * @param {MarshalableRequestInit} init Optional
273
+ * An options object containing any custom settings that you want to apply to the request.
274
+ * @param {string} init.method: The request method, e.g., GET, POST. Note that the Origin header is not set on Fetch requests with a method of HEAD or GET (this behavior was corrected in Firefox 65 — seebug 1508661).
275
+ * @param {MarshalableHeaders} init.headers: Any headers you want to add to your request, contained within a MarshalableHeaders object
276
+ * @param {MarshalableBody} init.body: Any body that you want to add to your request, json or text, in a MarshalableBody object
277
+ * @param {string} init.mode: The mode you want to use for the request, e.g., cors, no-cors, or same-origin.
278
+ * @param {string} init.credentials: The request credentials you want to use for the request: omit, same-origin, or include. To automatically send cookies for the current domain, this option must be provided. Starting with Chrome 50, this property also takes a FederatedCredential instance or a PasswordCredential instance.
279
+ * @return {Promise<MarshaledResponse>} A Promise resolving to a MarshaledResponse object
280
+ *
281
+ * ###### Example of READ and UPDATE operations
282
+ * ```javascript
283
+ * let dept:any;
284
+ * try {
285
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/?DepartmentId=20',
286
+ * { "responseBodyAs": "json" } );
287
+ * assert(res.status == 200,"Status code should be 200, was " + res.status);
288
+ * assert(res.body.kind == "json","Body kind should be 'json', was " + res.body.kind);
289
+ * assert(res.body.body[0].DepartmentName == "Marketing","Dept 20 should be named 'Marketing' not " + res.body.body[0].DepartmentName);
290
+ * dept = res.body.body[0];
291
+ *
292
+ * dept.DepartmentName = "Product Marketing";
293
+ * res = await ojwd.fetch(driver,restServer + 'Departments/30', { "responseBodyAs": "json" }, {
294
+ * method: 'put',
295
+ * headers: { "Content-Type": "application/json" },
296
+ * body: {"kind":"json", "body": JSON.stringify(dept)}
297
+ * });
298
+ * assert(res.status == 200,"Status code should be 200, was " + res.status + " body = " + JSON.stringify(res.body,null,2));
299
+ * } catch(err) {
300
+ * assert(false, "fetch failed : " + err);
301
+ * }
302
+ * ```
303
+ *
304
+ * ###### Example of CREATE and DELETE operations
305
+ * ```javascript
306
+ * try {
307
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/',
308
+ * { "responseBodyAs": "json" },
309
+ * { method: 'post',
310
+ * headers: { "Content-Type": "application/json"},
311
+ * body: { "kind": "json", "body": JSON.stringify(newdept)} });
312
+ * assert(res.status == 201,"Status code should be 201, was " + res.status);
313
+ *
314
+ * res = await ojwd.fetch(driver,restServer + 'Departments/190',
315
+ * { "responseBodyAs": "text" },
316
+ * { method: 'delete' });
317
+ * assert(res.status == 200,"Status code should be 200, was " + res.status);
318
+ * } catch(err) {
319
+ * assert(false, "fetch failed : " + err);
320
+ * }
321
+ * ```
322
+ *
323
+ * ###### Example of Checking for row deleted operation
324
+ * ```javascript
325
+ * try {
326
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/400',
327
+ * { "responseBodyAs": "json" });
328
+ * assert(res.status == 404,"Status code should be 404, was " + res.status);
329
+ * } catch(err) {
330
+ * assert(false, "fetch failed : " + err);
331
+ * }
332
+ * ```
333
+ *
334
+ * ###### Example of MarshaledResponse object for READ fetch
335
+ * ```javascript
336
+ * {
337
+ * "body": {
338
+ * "body": [
339
+ * {
340
+ * "DepartmentId": 20,
341
+ * "DepartmentName": "Marketing",
342
+ * "LocationId": null,
343
+ * "ManagerId": null
344
+ * }
345
+ * ],
346
+ * "kind": "json"
347
+ * },
348
+ * "headers": {
349
+ * "cache-control": "no-cache",
350
+ * "content-type": "application/json; charset=utf-8",
351
+ * "expires": "-1",
352
+ * "pragma": "no-cache"
353
+ * },
354
+ * "ok": true,
355
+ * "redirected": false,
356
+ * "status": 200,
357
+ * "statusText": "OK",
358
+ * "type": "cors",
359
+ * "url": "http://localhost:3000/Departments/?DepartmentId=20"
360
+ * }
361
+ * ```
362
+ *
363
+ */
364
+ async fetch(
365
+ driver: WebDriver,
366
+ requestInfo: MarshalableRequestInfo,
367
+ responseInfo: MarshalableResponseInfo,
368
+ init?: MarshalableRequestInit
369
+ ): Promise<MarshaledResponse> {
370
+ let ojFetch: OjFetch = new OjFetch();
371
+ return ojFetch.fetch(driver, requestInfo, responseInfo, init);
372
+ },
373
+
374
+ /**
375
+ * Wait for an element to appear in the DOM and find it using the By locator.
376
+ * This is a convenience function to allow either WebDriver or WebElement to
377
+ * be passed as the driver.
378
+ * @param driver A WebDriver-like object, either WebDriver itself or a
379
+ * WebElement.
380
+ * @param by The locator by which to find the element
381
+ */
382
+ async waitAndFindElement(driver: DriverLike, by: By): Promise<WebElement> {
383
+ let wd = driver as WebDriver;
384
+ let we = driver as WebElement;
385
+ if (typeof we.getDriver === 'function') {
386
+ wd = we.getDriver();
387
+ }
388
+
389
+ // WebDriver waiting isn't needed since waiting on BusyContext should ideally
390
+ // block until the UI is ready (and element is in DOM)
391
+ await wd.wait(pageReady());
392
+ return driver.findElement(by);
393
+ },
394
+
395
+ /**
396
+ * Assert a given expectation against a JET application's viewmodel.
397
+ * Assertions are [Chai](https://www.chaijs.com)-like expressions, represented
398
+ * by the {@link Expectation} class, and compared remotely on the test browser
399
+ * against the identified viewmodel and its path to the target value.
400
+ *
401
+ * The viewmodel is typically identiied by the DOM node on which Knockout's
402
+ * <code>ko.applyBindings</code> was called, but can also be descendants of
403
+ * that originial "root" node.
404
+ * ```javascript
405
+ * new Expectation(...)
406
+ * ```
407
+ *
408
+ * The target value within the viewmodel is identified by a dot-notated path
409
+ * and/or expression which yields the value. For instance, a value may be an
410
+ * observable, therefore, the expression must include parenthesis to unwrap
411
+ * the observable.
412
+ * ```javascript
413
+ * new JetExpecation(By.id('view-container'), 'firstName()')
414
+ * ```
415
+ *
416
+ * The expression to which the viewmodel value will be compared is expressed
417
+ * as BDD-style chains, such as
418
+ * ```javascript
419
+ * const fnExpectation = new Expectation('firstName()')
420
+ * .to.equal('Joe');
421
+ * ```
422
+ *
423
+ * If a viewmodel value returns a Promise, the assertion will wait for it to
424
+ * resolve before doing the comparison.
425
+ *
426
+ * @param driver The instance of WebDriver to use in performing the expectation
427
+ * @param vmLocator The Locator which identifies the DOM node associated with the
428
+ * viewmodel on the client.
429
+ * @param expression The path within the viewmodel to locate the value
430
+ * @param expectation The Expectation object to evaluate on the client browser.
431
+ */
432
+ async assertViewModelValue(driver: WebDriver, vmLocator: Locator, expectation: Expectation): Promise<any> {
433
+ const viewmodelEl = await driver.findElement(vmLocator) as OjWebElement;
434
+ // Script executes on client to build the Chai assertion from the Expectation.
435
+ // Any exceptions (including failed assertions) will be returned to the test.
436
+ await viewmodelEl.whenBusyContextReady();
437
+ const result = await driver.executeAsyncScript(
438
+ ASSERT_SCRIPT,
439
+ viewmodelEl,
440
+ expectation.assertion
441
+ );
442
+ if (result !== true) {
443
+ throw Error(String(result));
444
+ }
445
+ return result;
446
+ }
447
+ };
448
+
449
+ export default ojwd;
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Expectation = void 0;
4
+ class Expectation {
5
+ constructor(expression) {
6
+ this.assertion = {
7
+ expression,
8
+ chain: []
9
+ };
10
+ }
11
+ chainGetter(name) {
12
+ this.assertion.chain.push(name);
13
+ return this;
14
+ }
15
+ chainFunction(name, ...args) {
16
+ this.assertion.chain.push({
17
+ name,
18
+ args
19
+ });
20
+ return this;
21
+ }
22
+ get to() {
23
+ return this.chainGetter("to");
24
+ }
25
+ get be() {
26
+ return this.chainGetter("be");
27
+ }
28
+ get been() {
29
+ return this.chainGetter("been");
30
+ }
31
+ get is() {
32
+ return this.chainGetter("is");
33
+ }
34
+ get that() {
35
+ return this.chainGetter("that");
36
+ }
37
+ get which() {
38
+ return this.chainGetter("which");
39
+ }
40
+ get and() {
41
+ return this.chainGetter("and");
42
+ }
43
+ get has() {
44
+ return this.chainGetter("has");
45
+ }
46
+ get have() {
47
+ return this.chainGetter("have");
48
+ }
49
+ get with() {
50
+ return this.chainGetter("with");
51
+ }
52
+ get at() {
53
+ return this.chainGetter("at");
54
+ }
55
+ get of() {
56
+ return this.chainGetter("of");
57
+ }
58
+ get same() {
59
+ return this.chainGetter("same");
60
+ }
61
+ get but() {
62
+ return this.chainGetter("but");
63
+ }
64
+ get does() {
65
+ return this.chainGetter("does");
66
+ }
67
+ get still() {
68
+ return this.chainGetter("still");
69
+ }
70
+ get not() {
71
+ return this.chainGetter("not");
72
+ }
73
+ get deep() {
74
+ return this.chainGetter("deep");
75
+ }
76
+ get nested() {
77
+ return this.chainGetter("nested");
78
+ }
79
+ get own() {
80
+ return this.chainGetter("own");
81
+ }
82
+ get ordered() {
83
+ return this.chainGetter("ordered");
84
+ }
85
+ get any() {
86
+ return this.chainGetter("any");
87
+ }
88
+ get all() {
89
+ return this.chainGetter("all");
90
+ }
91
+ get ok() {
92
+ return this.chainGetter("ok");
93
+ }
94
+ get true() {
95
+ return this.chainGetter("true");
96
+ }
97
+ get false() {
98
+ return this.chainGetter("false");
99
+ }
100
+ get null() {
101
+ return this.chainGetter("null");
102
+ }
103
+ get undefined() {
104
+ return this.chainGetter("undefined");
105
+ }
106
+ get NaN() {
107
+ return this.chainGetter("NaN");
108
+ }
109
+ get exist() {
110
+ return this.chainGetter("exist");
111
+ }
112
+ get empty() {
113
+ return this.chainGetter("empty");
114
+ }
115
+ get arguments() {
116
+ return this.chainGetter("arguments");
117
+ }
118
+ get extensible() {
119
+ return this.chainGetter("extensible");
120
+ }
121
+ get sealed() {
122
+ return this.chainGetter("sealed");
123
+ }
124
+ get frozen() {
125
+ return this.chainGetter("frozen");
126
+ }
127
+ get finite() {
128
+ return this.chainGetter("finite");
129
+ }
130
+ a(type, msg) {
131
+ return this.chainFunction("a", type, msg);
132
+ }
133
+ include(val, msg) {
134
+ return this.chainFunction("include", val, msg);
135
+ }
136
+ equal(val, msg) {
137
+ return this.chainFunction("equal", val, msg);
138
+ }
139
+ eql(obj, msg) {
140
+ return this.chainFunction("eql", obj, msg);
141
+ }
142
+ above(n, msg) {
143
+ return this.chainFunction("above", n, msg);
144
+ }
145
+ least(n, msg) {
146
+ return this.chainFunction("least", n, msg);
147
+ }
148
+ below(n, msg) {
149
+ return this.chainFunction("below", n, msg);
150
+ }
151
+ most(n, msg) {
152
+ return this.chainFunction("most", n, msg);
153
+ }
154
+ within(start, finish, msg) {
155
+ return this.chainFunction("within", start, finish, msg);
156
+ }
157
+ property(name, val, msg) {
158
+ return this.chainFunction("property", name, val, msg);
159
+ }
160
+ ownPropertyDescriptor(name, descriptor, msg) {
161
+ return this.chainFunction("ownPropertyDescriptor", name, descriptor, msg);
162
+ }
163
+ lengthOf(n, msg) {
164
+ return this.chainFunction("lengthOf", n, msg);
165
+ }
166
+ match(re, msg) {
167
+ return this.chainFunction("match", re.source, msg);
168
+ }
169
+ string(str, msg) {
170
+ return this.chainFunction("string", str, msg);
171
+ }
172
+ keys(...keys) {
173
+ return this.chainFunction("keys", ...keys);
174
+ }
175
+ closeTo(expected, delta, msg) {
176
+ return this.chainFunction("closeTo", expected, delta, msg);
177
+ }
178
+ members(set, msg) {
179
+ return this.chainFunction("members", set, msg);
180
+ }
181
+ oneOf(list, msg) {
182
+ return this.chainFunction("oneOf", list, msg);
183
+ }
184
+ fail(...args) {
185
+ return this.chainFunction("fail", ...args);
186
+ }
187
+ }
188
+ exports.Expectation = Expectation;
189
+ //# sourceMappingURL=Expectation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expectation.js","sourceRoot":"","sources":["../../../rt/src/test/webdriverjs/oraclejet-webdriver/lib/Expectation.ts"],"names":[],"mappings":"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"}