@oracle/oraclejet-webdriver 10.1.7

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 +232 -0
  13. package/elements/OjWebElement.js.map +1 -0
  14. package/elements/OjWebElement.ts +674 -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 +36 -0
  172. package/elements/oj-file-picker/OjFilePicker.js.map +1 -0
  173. package/elements/oj-file-picker/OjFilePicker.ts +49 -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 +33 -0
  550. package/elements/oj-table/OjTable.js.map +1 -0
  551. package/elements/oj-table/OjTable.ts +52 -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 +164 -0
  640. package/index.js.map +1 -0
  641. package/index.ts +440 -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 +120 -0
  655. package/lib/driver-override.js.map +1 -0
  656. package/lib/driver-override.ts +255 -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 +29 -0
  664. package/lib/stale-element.js.map +1 -0
  665. package/lib/stale-element.ts +44 -0
  666. package/package.json +19 -0
  667. package/tsconfig.json +10 -0
package/index.ts ADDED
@@ -0,0 +1,440 @@
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<Promise<boolean>>("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
+ const remoteScript = `
83
+ const done = arguments[0];
84
+ try {
85
+ const Context = require('ojs/ojcontext');
86
+ if (Context.getPageContext().getBusyContext().isReady()) {
87
+ done();
88
+ } else {
89
+ done('not yet ready');
90
+ }
91
+ } catch (ex) {
92
+ done(ex.message);
93
+ }
94
+ `;
95
+ // Any message returned from the script is an exception. Only return true
96
+ // if the script completes w/o a message.
97
+ // Exceptions will eventually cause the Condition to timeout
98
+ return !(await driver.executeAsyncScript<string>(remoteScript));
99
+ });
100
+ }
101
+
102
+ /**
103
+ * Script executed by ojwd.assert() to run the Chai assertion on the browser
104
+ */
105
+ const ASSERT_SCRIPT = `
106
+ var viewmodelEl = arguments[0];
107
+ var assertion = arguments[1];
108
+ var callback = arguments[arguments.length - 1];
109
+ require([
110
+ 'chai',
111
+ 'knockout',
112
+ 'ojs/ojcspexpressionevaluator'
113
+ ], function(chai, ko, ExpressionEval) {
114
+ if (chai) {
115
+ try {
116
+ var viewmodel = ko.dataFor(viewmodelEl);
117
+ var evaluator = new ExpressionEval();
118
+ // Use ExpressionEval to get the value from the viewmodel
119
+ var value = evaluator.createEvaluator(assertion.expression).evaluate([viewmodel]);
120
+
121
+ function compare(value) {
122
+ var expect = chai.expect(value);
123
+ // For each chained assertion, call the assertion method with the arguments
124
+ assertion.chain.forEach((desc) => {
125
+ if (typeof desc === 'string') {
126
+ // Simple assertions, "is", "to", "be", etc
127
+ expect = expect[desc];
128
+ } else {
129
+ // Complex assertions (chained functions)
130
+ const name = desc.name;
131
+ const args = desc.args;
132
+ let evaluatedArgs = [];
133
+
134
+ if (name === 'match') {
135
+ args[0] = new RegExp(args[0]);
136
+ }
137
+
138
+ if (args) {
139
+ evaluatedArgs = args;
140
+ }
141
+
142
+ expect = expect[name](...evaluatedArgs);
143
+ }
144
+ });
145
+ callback(true);
146
+ }
147
+
148
+ // If "value" is a Promise
149
+ if (value && typeof value.then === 'function') {
150
+ value.then(compare).catch(function(ex) { callback(ex.message) });
151
+ } else {
152
+ compare(value);
153
+ }
154
+ } catch (ex) {
155
+ callback(ex.message);
156
+ }
157
+ } else {
158
+ callback('Chai not found');
159
+ }
160
+ }, function(ex) { callback(ex.message); });
161
+ `;
162
+
163
+ /**
164
+ * Check the running JET UI version against this oraclejet-webdriver package
165
+ * version. It's expected that the JET UI is already fully loaded so that
166
+ * "oj.version" and "oj.revision" will resolve.
167
+ * If a mismatch is found, a console warning will be logged with the mismatched
168
+ * values.
169
+ * @param driver WebDriver instance
170
+ */
171
+ async function checkVersions(driver: WebDriver) {
172
+ const pjson = require('./package.json');
173
+ const version = pjson.version;
174
+ const rev = pjson.config.revision;
175
+ const jet = await driver.executeScript<{ version:string, revision:string }>(`
176
+ return { version: oj.version, revision: oj.revision }
177
+ `);
178
+ const localRegex = /^#@@oj\./;
179
+ if (
180
+ // Check if not local build (running from JET repo)
181
+ !(version === '1.0.0' && localRegex.test(rev)) &&
182
+ // or version mismatch
183
+ (version !== jet.version || rev !== jet.revision)) {
184
+ const mismatch = `version mismatch: oraclejet ${JSON.stringify(jet)}, oraclejet-webdriver {"version": "${version}", "revision": "${rev}"}`;
185
+ console.warn(`
186
+ Your oraclejet UI version/revision does not match oraclejet-webdriver
187
+ ${mismatch}
188
+ `);
189
+ }
190
+ }
191
+
192
+ /**
193
+ * The test utility object for JET component WebElements. This object contains
194
+ * all of the factory functions needed to create the component WebElements, plus,
195
+ * additional utilities useful for testing JET-based UIs. This object should be
196
+ * imported into tests with
197
+ * ```javascript
198
+ * import ojwd from "@oracle/oraclejet-webdriver";
199
+ * ```
200
+ */
201
+ const ojwd = {
202
+ /**
203
+ * Opens a JET page and wait for the UI to be ready for testing. This method
204
+ * should be used in place of WebDriver.get() to open a page for test. It will
205
+ * wait on the page's BusyContext to clear before continuing on.
206
+ * Note that this method should only be used to open a JET page, one which uses
207
+ * RequireJS. Attempting to open a non-JET page will result in the script
208
+ * timing out waiting for RequireJS to become available.
209
+ *
210
+ * @param driver The WebDriver instance
211
+ * @param url The URL to open
212
+ */
213
+ async get(driver: WebDriver, url: string) {
214
+ await driver.get(url);
215
+ const timeouts = await driver.manage().getTimeouts();
216
+ try {
217
+ await driver.wait(pageReady(), timeouts.pageLoad);
218
+ await checkVersions(driver);
219
+ } catch (ex) {
220
+ if (ex instanceof error.TimeoutError || ex instanceof error.ScriptTimeoutError) {
221
+ const openStates = await driver.executeScript<string[]>(`
222
+ let Context = require('ojs/ojcontext');
223
+ return Context.getPageContext().getBusyContext().getBusyStates()
224
+ .map((state) => state.description);
225
+ `).catch(ex => ex.message);
226
+ ex.message += ` - open busy states: ${openStates}`;
227
+ }
228
+ throw ex;
229
+ }
230
+ },
231
+ /**
232
+ * @deprecated
233
+ * Wait until the JET page indicates that it's loaded and ready. This function
234
+ * returns a Condition that can be used with WebDriver.wait().
235
+ * ```javascript
236
+ * driver.wait(ojwd.pageReady())
237
+ * ```
238
+ * This function is deprecated. All WebElements interacting with JET pages
239
+ * should automatically block until the BusyContext is cleared before performing
240
+ * their actions. Therefore, explicitly waiting for the page to be ready should
241
+ * not be needed.
242
+ */
243
+ pageReady(): Condition<Promise<boolean>> {
244
+ console.warn(
245
+ "pageReady() is deprecated and will be removed in the next release. " +
246
+ "Use ojwd.get() to open and wait for the page to be ready for testing"
247
+ );
248
+ return pageReady();
249
+ },
250
+
251
+ /**
252
+ * Invoke fetch in the browser to permit interaction with REST services.
253
+ * Browsers must support fetch api.
254
+ *
255
+ * The fetch parameters mirror the MDN fetch api
256
+ * https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters
257
+ *
258
+ * Note the return value is not the typical Response object, to accommodate webdriver marshalling.
259
+ *
260
+ * @param {WebDriver} driver A WebDriver-like object
261
+ * @param {MarshalableRequestInfo} input String containing the direct URL of the resource you want to fetch.
262
+ * @param {MarshalableResponseInfo} responseInfo Indicates the desired structure of the response body, text or json
263
+ * @param {MarshalableRequestInit} init Optional
264
+ * An options object containing any custom settings that you want to apply to the request.
265
+ * @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).
266
+ * @param {MarshalableHeaders} init.headers: Any headers you want to add to your request, contained within a MarshalableHeaders object
267
+ * @param {MarshalableBody} init.body: Any body that you want to add to your request, json or text, in a MarshalableBody object
268
+ * @param {string} init.mode: The mode you want to use for the request, e.g., cors, no-cors, or same-origin.
269
+ * @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.
270
+ * @return {Promise<MarshaledResponse>} A Promise resolving to a MarshaledResponse object
271
+ *
272
+ * ###### Example of READ and UPDATE operations
273
+ * ```javascript
274
+ * let dept:any;
275
+ * try {
276
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/?DepartmentId=20',
277
+ * { "responseBodyAs": "json" } );
278
+ * assert(res.status == 200,"Status code should be 200, was " + res.status);
279
+ * assert(res.body.kind == "json","Body kind should be 'json', was " + res.body.kind);
280
+ * assert(res.body.body[0].DepartmentName == "Marketing","Dept 20 should be named 'Marketing' not " + res.body.body[0].DepartmentName);
281
+ * dept = res.body.body[0];
282
+ *
283
+ * dept.DepartmentName = "Product Marketing";
284
+ * res = await ojwd.fetch(driver,restServer + 'Departments/30', { "responseBodyAs": "json" }, {
285
+ * method: 'put',
286
+ * headers: { "Content-Type": "application/json" },
287
+ * body: {"kind":"json", "body": JSON.stringify(dept)}
288
+ * });
289
+ * assert(res.status == 200,"Status code should be 200, was " + res.status + " body = " + JSON.stringify(res.body,null,2));
290
+ * } catch(err) {
291
+ * assert(false, "fetch failed : " + err);
292
+ * }
293
+ * ```
294
+ *
295
+ * ###### Example of CREATE and DELETE operations
296
+ * ```javascript
297
+ * try {
298
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/',
299
+ * { "responseBodyAs": "json" },
300
+ * { method: 'post',
301
+ * headers: { "Content-Type": "application/json"},
302
+ * body: { "kind": "json", "body": JSON.stringify(newdept)} });
303
+ * assert(res.status == 201,"Status code should be 201, was " + res.status);
304
+ *
305
+ * res = await ojwd.fetch(driver,restServer + 'Departments/190',
306
+ * { "responseBodyAs": "text" },
307
+ * { method: 'delete' });
308
+ * assert(res.status == 200,"Status code should be 200, was " + res.status);
309
+ * } catch(err) {
310
+ * assert(false, "fetch failed : " + err);
311
+ * }
312
+ * ```
313
+ *
314
+ * ###### Example of Checking for row deleted operation
315
+ * ```javascript
316
+ * try {
317
+ * let res:MarshaledResponse = await ojwd.fetch(driver,restServer + 'Departments/400',
318
+ * { "responseBodyAs": "json" });
319
+ * assert(res.status == 404,"Status code should be 404, was " + res.status);
320
+ * } catch(err) {
321
+ * assert(false, "fetch failed : " + err);
322
+ * }
323
+ * ```
324
+ *
325
+ * ###### Example of MarshaledResponse object for READ fetch
326
+ * ```javascript
327
+ * {
328
+ * "body": {
329
+ * "body": [
330
+ * {
331
+ * "DepartmentId": 20,
332
+ * "DepartmentName": "Marketing",
333
+ * "LocationId": null,
334
+ * "ManagerId": null
335
+ * }
336
+ * ],
337
+ * "kind": "json"
338
+ * },
339
+ * "headers": {
340
+ * "cache-control": "no-cache",
341
+ * "content-type": "application/json; charset=utf-8",
342
+ * "expires": "-1",
343
+ * "pragma": "no-cache"
344
+ * },
345
+ * "ok": true,
346
+ * "redirected": false,
347
+ * "status": 200,
348
+ * "statusText": "OK",
349
+ * "type": "cors",
350
+ * "url": "http://localhost:3000/Departments/?DepartmentId=20"
351
+ * }
352
+ * ```
353
+ *
354
+ */
355
+ async fetch(
356
+ driver: WebDriver,
357
+ requestInfo: MarshalableRequestInfo,
358
+ responseInfo: MarshalableResponseInfo,
359
+ init?: MarshalableRequestInit
360
+ ): Promise<MarshaledResponse> {
361
+ let ojFetch: OjFetch = new OjFetch();
362
+ return ojFetch.fetch(driver, requestInfo, responseInfo, init);
363
+ },
364
+
365
+ /**
366
+ * Wait for an element to appear in the DOM and find it using the By locator.
367
+ * This is a convenience function to allow either WebDriver or WebElement to
368
+ * be passed as the driver.
369
+ * @param driver A WebDriver-like object, either WebDriver itself or a
370
+ * WebElement.
371
+ * @param by The locator by which to find the element
372
+ */
373
+ async waitAndFindElement(driver: DriverLike, by: By): Promise<WebElement> {
374
+ let wd = driver as WebDriver;
375
+ let we = driver as WebElement;
376
+ if (typeof we.getDriver === 'function') {
377
+ wd = we.getDriver();
378
+ }
379
+
380
+ // WebDriver waiting isn't needed since waiting on BusyContext should ideally
381
+ // block until the UI is ready (and element is in DOM)
382
+ await wd.wait(pageReady());
383
+ return driver.findElement(by);
384
+ },
385
+
386
+ /**
387
+ * Assert a given expectation against a JET application's viewmodel.
388
+ * Assertions are [Chai](https://www.chaijs.com)-like expressions, represented
389
+ * by the {@link Expectation} class, and compared remotely on the test browser
390
+ * against the identified viewmodel and its path to the target value.
391
+ *
392
+ * The viewmodel is typically identiied by the DOM node on which Knockout's
393
+ * <code>ko.applyBindings</code> was called, but can also be descendants of
394
+ * that originial "root" node.
395
+ * ```javascript
396
+ * new Expectation(...)
397
+ * ```
398
+ *
399
+ * The target value within the viewmodel is identified by a dot-notated path
400
+ * and/or expression which yields the value. For instance, a value may be an
401
+ * observable, therefore, the expression must include parenthesis to unwrap
402
+ * the observable.
403
+ * ```javascript
404
+ * new JetExpecation(By.id('view-container'), 'firstName()')
405
+ * ```
406
+ *
407
+ * The expression to which the viewmodel value will be compared is expressed
408
+ * as BDD-style chains, such as
409
+ * ```javascript
410
+ * const fnExpectation = new Expectation('firstName()')
411
+ * .to.equal('Joe');
412
+ * ```
413
+ *
414
+ * If a viewmodel value returns a Promise, the assertion will wait for it to
415
+ * resolve before doing the comparison.
416
+ *
417
+ * @param driver The instance of WebDriver to use in performing the expectation
418
+ * @param vmLocator The Locator which identifies the DOM node associated with the
419
+ * viewmodel on the client.
420
+ * @param expression The path within the viewmodel to locate the value
421
+ * @param expectation The Expectation object to evaluate on the client browser.
422
+ */
423
+ async assertViewModelValue(driver: WebDriver, vmLocator: Locator, expectation: Expectation): Promise<any> {
424
+ const viewmodelEl = await driver.findElement(vmLocator) as OjWebElement;
425
+ // Script executes on client to build the Chai assertion from the Expectation.
426
+ // Any exceptions (including failed assertions) will be returned to the test.
427
+ await viewmodelEl.whenBusyContextReady();
428
+ const result = await driver.executeAsyncScript(
429
+ ASSERT_SCRIPT,
430
+ viewmodelEl,
431
+ expectation.assertion
432
+ );
433
+ if (result !== true) {
434
+ throw Error(String(result));
435
+ }
436
+ return result;
437
+ }
438
+ };
439
+
440
+ 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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"}