framework_gem 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (876) hide show
  1. checksums.yaml +4 -4
  2. data/{lib/EXECUTION_ENGINE.md → EXECUTION_ENGINE.md} +0 -0
  3. data/{lib/Gemfile → Gemfile} +4 -1
  4. data/{lib/README.md → README.md} +0 -0
  5. data/{lib/config → config}/ConfigParams.xml +0 -0
  6. data/{lib/config → config}/ImageROI.xml +0 -0
  7. data/{lib/config → config}/ROI.xml +0 -0
  8. data/{lib/config → config}/Userlog4j.xml +0 -0
  9. data/{lib/config → config}/schema-docs/mode.xsd +0 -0
  10. data/{lib/config → config}/schema-docs/processTestJobs.xsd +0 -0
  11. data/{lib/config → config}/schema-docs/rackip.xsd +0 -0
  12. data/{lib/copy_ref_images.rb → copy_ref_images.rb} +0 -0
  13. data/{lib/copy_repo.rb → copy_repo.rb} +0 -0
  14. data/{lib/dsllib → dsllib}/common/dncs/dncs_utils.rb +0 -0
  15. data/{lib/dsllib → dsllib}/common/mas_db/mas_conductor.rb +0 -0
  16. data/{lib/dsllib → dsllib}/common/mas_db/mas_db.rb +0 -0
  17. data/{lib/dsllib → dsllib}/common/mas_db/mas_publish.rb +0 -0
  18. data/{lib/dsllib → dsllib}/common/mas_db/mas_rest_services.rb +0 -0
  19. data/{lib/dsllib → dsllib}/common/mas_db/mas_soap_services.rb +0 -0
  20. data/{lib/dsllib → dsllib}/common/mas_db/mas_utils.rb +0 -0
  21. data/{lib/dsllib → dsllib}/common/remote_diagnostics/mdn_remote_diagnostics.rb +0 -0
  22. data/{lib/dsllib → dsllib}/common/remote_diagnostics/odn_web_server.rb +0 -0
  23. data/{lib/dsllib → dsllib}/common/utils/excel_export.rb +0 -0
  24. data/{lib/dsllib → dsllib}/common/utils/excel_module.rb +0 -0
  25. data/{lib/dsllib → dsllib}/common/utils/server_components_utils.rb +0 -0
  26. data/{lib/dsllib → dsllib}/common/utils/stb_health_check_utils.rb +0 -0
  27. data/{lib/dsllib → dsllib}/common/utils/sword_utils.rb +0 -0
  28. data/{lib/dsllib → dsllib}/common/utils/tmc_utils.rb +0 -0
  29. data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_navigator.rb +0 -0
  30. data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_vp_navigator.rb +0 -0
  31. data/{lib/dsllib → dsllib}/performance/DTA/roi.rb +0 -0
  32. data/{lib/dsllib → dsllib}/performance/DTA/utils.rb +0 -0
  33. data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/ROI.rb +0 -0
  34. data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/utils.rb +0 -0
  35. data/{lib/dsllib → dsllib}/performance/measure_tune.rb +0 -0
  36. data/{lib/dsllib → dsllib}/performance/perf_lib.rb +0 -0
  37. data/framework_gem.rb +3 -0
  38. data/lib/{lib/data_services → data_services}/channel.rb +0 -0
  39. data/lib/{lib/data_services → data_services}/data_services.rb +0 -0
  40. data/lib/{lib/data_services → data_services}/guide.rb +0 -0
  41. data/lib/{lib/data_services → data_services}/lineup.rb +0 -0
  42. data/lib/{lib/data_services → data_services}/program.rb +0 -0
  43. data/lib/{lib/data_services → data_services}/schedule.rb +0 -0
  44. data/lib/{lib/data_services → data_services}/splunk_connector.rb +0 -0
  45. data/lib/{lib/data_services → data_services}/splunk_data_reader.rb +0 -0
  46. data/lib/{lib/element → element}/element.rb +0 -0
  47. data/lib/{lib/extensions → extensions}/array_extensions.rb +0 -0
  48. data/lib/{lib/extensions → extensions}/datetime_extensions.rb +0 -0
  49. data/lib/{lib/extensions → extensions}/extensions.rb +0 -0
  50. data/lib/{lib/extensions → extensions}/file_extensions.rb +0 -0
  51. data/lib/{lib/extensions → extensions}/float_extensions.rb +0 -0
  52. data/lib/{lib/extensions → extensions}/integer_extensions.rb +0 -0
  53. data/lib/{lib/extensions → extensions}/nethttp_extensions.rb +0 -0
  54. data/lib/{lib/extensions → extensions}/object_extensions.rb +0 -0
  55. data/lib/{lib/extensions → extensions}/string_extensions.rb +0 -0
  56. data/lib/helpers/tmc_helpers/core_helper/core_helper.rb +29 -0
  57. data/lib/{lib/helpers → helpers}/tmc_helpers/csv_helper/csv_helper.rb +0 -0
  58. data/lib/{lib/helpers → helpers}/tmc_helpers/email_helper/email_helper.rb +0 -0
  59. data/lib/{lib/helpers → helpers}/tmc_helpers/http_helper/http_helper.rb +0 -0
  60. data/lib/{lib/helpers → helpers}/tmc_helpers/roi_helper/roi_helper.rb +0 -0
  61. data/lib/{lib/helpers → helpers}/tmc_helpers/snmp_helper/snmp_helper.rb +0 -0
  62. data/lib/{lib/helpers → helpers}/tmc_helpers/ssh_helper/ssh_helper.rb +0 -0
  63. data/lib/{lib/helpers → helpers}/tmc_helpers/tmc_helpers.rb +0 -0
  64. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_password_keyboard.rb +0 -0
  65. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_search_keyboard.rb +0 -0
  66. data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_username_keyboard.rb +0 -0
  67. data/lib/{lib/keyboard → keyboard}/keyboard.rb +0 -0
  68. data/lib/{lib/keyboard → keyboard}/keyboard_layout.rb +0 -0
  69. data/lib/{lib/keyboard → keyboard}/roku/roku_reset_pin_keyboard.rb +0 -0
  70. data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_search_keyboard.rb +0 -0
  71. data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_signin_keyboard.rb +0 -0
  72. data/lib/{lib/keyboard → keyboard}/roku/roku_search_keyboard.rb +0 -0
  73. data/lib/{lib/keyboard → keyboard}/roku/roku_signin_keyboard.rb +0 -0
  74. data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_search_keyboard.rb +0 -0
  75. data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_signin_keyboard.rb +0 -0
  76. data/lib/{lib/keyboard → keyboard}/stb/odn/odn_on_demand_search_keyboard.rb +0 -0
  77. data/lib/{lib/keyboard → keyboard}/stb/odn/odn_search_keyboard.rb +0 -0
  78. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_email_keyboard.rb +0 -0
  79. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_keyboard.rb +0 -0
  80. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_name_keyboard.rb +0 -0
  81. data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_search_keyboard.rb +0 -0
  82. data/lib/{lib/keyboard → keyboard}/tivo/tivo_password_keyboard.rb +0 -0
  83. data/lib/{lib/keyboard → keyboard}/tivo/tivo_search_keyboard.rb +0 -0
  84. data/lib/{lib/keyboard → keyboard}/tivo/tivo_username_keyboard.rb +0 -0
  85. data/lib/{lib/keys → keys}/apple_tv/apple_tv_keys.rb +0 -0
  86. data/lib/{lib/keys → keys}/base_keys.rb +0 -0
  87. data/lib/{lib/keys → keys}/dta/dta_keys.rb +0 -0
  88. data/lib/{lib/keys → keys}/mdn/mdn_keys.rb +0 -0
  89. data/lib/{lib/keys → keys}/passport/passport_keys.rb +0 -0
  90. data/lib/{lib/keys → keys}/roku/roku_keys.rb +0 -0
  91. data/lib/{lib/keys → keys}/roku_tv/roku_tv_keys.rb +0 -0
  92. data/lib/{lib/keys → keys}/samsung_tv/samsung_tv_keys.rb +0 -0
  93. data/lib/{lib/keys → keys}/sara/sara_keys.rb +0 -0
  94. data/lib/{lib/keys → keys}/stb/iguide/iguide_keys.rb +0 -0
  95. data/lib/{lib/keys → keys}/stb/odn/odn_keys.rb +0 -0
  96. data/lib/{lib/keys → keys}/stb/spectrum/spectrum_keys.rb +0 -0
  97. data/lib/{lib/keys → keys}/stb/stb_keys.rb +0 -0
  98. data/lib/{lib/keys → keys}/tivo/tivo_keys.rb +0 -0
  99. data/lib/{lib/logger → logger}/multi_io.rb +0 -0
  100. data/lib/{lib/logger → logger}/tmc_dut_logger.rb +0 -0
  101. data/lib/{lib/logger → logger}/tmc_logger.rb +0 -0
  102. data/lib/{lib/mixins → mixins}/assignable.rb +0 -0
  103. data/lib/{lib/mixins → mixins}/can_have_special_methods.rb +0 -0
  104. data/lib/{lib/mixins → mixins}/enumish.rb +0 -0
  105. data/lib/{lib/new_platform.rb → new_platform.rb} +0 -0
  106. data/lib/{lib/new_sub_platform.rb → new_sub_platform.rb} +0 -0
  107. data/lib/{lib/platform → platform}/apple_tv/apple_tv.rb +0 -0
  108. data/lib/{lib/platform → platform}/apple_tv/apple_tv_1080/apple_tv_1080.rb +0 -0
  109. data/lib/{lib/platform → platform}/apple_tv/apple_tv_720/apple_tv_720.rb +0 -0
  110. data/lib/{lib/platform → platform}/dta/dta.rb +0 -0
  111. data/lib/{lib/platform → platform}/dta/dta_1080/dta_1080.rb +0 -0
  112. data/lib/{lib/platform → platform}/dta/dta_720/dta_720.rb +0 -0
  113. data/lib/{lib/platform → platform}/mdn/mdn.rb +0 -0
  114. data/lib/{lib/platform → platform}/mdn/mdn_1080/mdn_1080.rb +0 -0
  115. data/lib/{lib/platform → platform}/mdn/mdn_720/mdn_720.rb +0 -0
  116. data/lib/{lib/platform → platform}/mobile/android/android.rb +0 -0
  117. data/lib/{lib/platform → platform}/mobile/android/android_phone/android_phone.rb +0 -0
  118. data/lib/{lib/platform → platform}/mobile/android/android_tablet/android_tablet.rb +0 -0
  119. data/lib/{lib/platform → platform}/mobile/ios/ios.rb +0 -0
  120. data/lib/{lib/platform → platform}/mobile/ios/ios_phone/ios_phone.rb +0 -0
  121. data/lib/{lib/platform → platform}/mobile/ios/ios_tablet/ios_tablet.rb +0 -0
  122. data/lib/{lib/platform → platform}/mobile/mobile.rb +0 -0
  123. data/lib/{lib/platform → platform}/passport/passport.rb +0 -0
  124. data/lib/{lib/platform → platform}/passport/passport1080/passport_1080.rb +0 -0
  125. data/lib/{lib/platform → platform}/passport/passport_720/passport_720.rb +0 -0
  126. data/lib/{lib/platform → platform}/platform.rb +0 -0
  127. data/lib/{lib/platform → platform}/roku/roku.rb +0 -0
  128. data/lib/{lib/platform → platform}/roku/roku_720/roku_720.rb +0 -0
  129. data/lib/{lib/platform → platform}/roku_tv/roku_tv.rb +0 -0
  130. data/lib/{lib/platform → platform}/roku_tv/roku_tv_1080/roku_tv_1080.rb +0 -0
  131. data/lib/{lib/platform → platform}/roku_tv/roku_tv_720/roku_tv_720.rb +0 -0
  132. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv.rb +0 -0
  133. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +0 -0
  134. data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_720/samsung_tv_720.rb +0 -0
  135. data/lib/{lib/platform → platform}/sara/sara.rb +0 -0
  136. data/lib/{lib/platform → platform}/sara/sara_1080/sara_1080.rb +0 -0
  137. data/lib/{lib/platform → platform}/sara/sara_720/sara_720.rb +0 -0
  138. data/lib/{lib/platform → platform}/stb/iguide/iguide.rb +0 -0
  139. data/lib/{lib/platform → platform}/stb/iguide/iguide_1080/iguide_1080.rb +0 -0
  140. data/lib/{lib/platform → platform}/stb/iguide/iguide_720/iguide_720.rb +0 -0
  141. data/lib/{lib/platform → platform}/stb/odn/odn.rb +0 -0
  142. data/lib/{lib/platform → platform}/stb/odn/odn_1080/odn_1080.rb +0 -0
  143. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720.rb +0 -0
  144. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +0 -0
  145. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +0 -0
  146. data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +0 -0
  147. data/lib/{lib/platform → platform}/stb/spectrum/spectrum.rb +0 -0
  148. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080.rb +0 -0
  149. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +0 -0
  150. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +0 -0
  151. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +0 -0
  152. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +0 -0
  153. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +0 -0
  154. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720.rb +0 -0
  155. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +0 -0
  156. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +0 -0
  157. data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +0 -0
  158. data/lib/{lib/platform → platform}/stb/stb.rb +0 -0
  159. data/lib/{lib/platform → platform}/template.txt +0 -0
  160. data/lib/{lib/platform → platform}/tivo/tivo.rb +0 -0
  161. data/lib/{lib/platform → platform}/tivo/tivo_1080/tivo_1080.rb +0 -0
  162. data/lib/{lib/platform → platform}/tivo/tivo_720/tivo_720.rb +0 -0
  163. data/lib/{lib/platform → platform}/web/web.rb +0 -0
  164. data/lib/{lib/platform_libs → platform_libs}/roku/roku_controller.rb +0 -0
  165. data/lib/{lib/prereqs → prereqs}/prereqs.rb +0 -0
  166. data/lib/{lib/prereqs → prereqs}/prereqs_for_dut.rb +0 -0
  167. data/lib/{lib/prereqs → prereqs}/prereqs_for_test.rb +0 -0
  168. data/lib/{lib/remotes → remotes}/remotes.rb +0 -0
  169. data/lib/{lib/remotes → remotes}/stb/spectrum/spectrum_remotes.rb +0 -0
  170. data/lib/{lib/roi → roi}/black/black_roi.rb +0 -0
  171. data/lib/{lib/roi → roi}/color/color_roi.rb +0 -0
  172. data/lib/{lib/roi → roi}/image/image_roi.rb +0 -0
  173. data/lib/{lib/roi → roi}/roi.rb +0 -0
  174. data/lib/{lib/roi → roi}/template_roi.txt +0 -0
  175. data/lib/{lib/roi → roi}/text/text_roi.rb +0 -0
  176. data/lib/{lib/roi → roi}/video/video_roi.rb +0 -0
  177. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +0 -0
  178. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +0 -0
  179. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +0 -0
  180. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +0 -0
  181. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +0 -0
  182. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +2 -1
  183. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +0 -0
  184. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +0 -0
  185. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +0 -0
  186. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_rois.rb +0 -0
  187. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +0 -0
  188. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +0 -0
  189. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_black_rois.rb +0 -0
  190. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_color_rois.rb +0 -0
  191. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_image_rois.rb +0 -0
  192. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_rois.rb +0 -0
  193. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_text_rois.rb +0 -0
  194. data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_video_rois.rb +0 -0
  195. data/lib/{User_Lib/rois → rois}/black_rois.rb +0 -0
  196. data/lib/{User_Lib/rois → rois}/color_rois.rb +0 -0
  197. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_black_rois.rb +0 -0
  198. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_color_rois.rb +0 -0
  199. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_image_rois.rb +0 -0
  200. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_rois.rb +0 -0
  201. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_text_rois.rb +0 -0
  202. data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_video_rois.rb +0 -0
  203. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_black_rois.rb +0 -0
  204. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_color_rois.rb +0 -0
  205. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_image_rois.rb +0 -0
  206. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_rois.rb +0 -0
  207. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_text_rois.rb +0 -0
  208. data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_video_rois.rb +0 -0
  209. data/lib/{User_Lib/rois → rois}/dta/dta_black_rois.rb +0 -0
  210. data/lib/{User_Lib/rois → rois}/dta/dta_color_rois.rb +0 -0
  211. data/lib/{User_Lib/rois → rois}/dta/dta_image_rois.rb +0 -0
  212. data/lib/{User_Lib/rois → rois}/dta/dta_rois.rb +0 -0
  213. data/lib/{User_Lib/rois → rois}/dta/dta_text_rois.rb +0 -0
  214. data/lib/{User_Lib/rois → rois}/dta/dta_video_rois.rb +0 -0
  215. data/lib/{User_Lib/rois → rois}/image_rois.rb +0 -0
  216. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_black_rois.rb +0 -0
  217. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_color_rois.rb +0 -0
  218. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_image_rois.rb +0 -0
  219. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_rois.rb +0 -0
  220. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_text_rois.rb +0 -0
  221. data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_video_rois.rb +0 -0
  222. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_black_rois.rb +0 -0
  223. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_color_rois.rb +0 -0
  224. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_image_rois.rb +0 -0
  225. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_rois.rb +0 -0
  226. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_text_rois.rb +0 -0
  227. data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_video_rois.rb +0 -0
  228. data/lib/{User_Lib/rois → rois}/mdn/mdn_black_rois.rb +0 -0
  229. data/lib/{User_Lib/rois → rois}/mdn/mdn_color_rois.rb +0 -0
  230. data/lib/{User_Lib/rois → rois}/mdn/mdn_image_rois.rb +0 -0
  231. data/lib/{User_Lib/rois → rois}/mdn/mdn_rois.rb +0 -0
  232. data/lib/{User_Lib/rois → rois}/mdn/mdn_text_rois.rb +0 -0
  233. data/lib/{User_Lib/rois → rois}/mdn/mdn_video_rois.rb +0 -0
  234. data/lib/{User_Lib/rois → rois}/mobile/android/android_black_rois.rb +0 -0
  235. data/lib/{User_Lib/rois → rois}/mobile/android/android_color_rois.rb +0 -0
  236. data/lib/{User_Lib/rois → rois}/mobile/android/android_image_rois.rb +0 -0
  237. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_black_rois.rb +0 -0
  238. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_color_rois.rb +0 -0
  239. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_image_rois.rb +0 -0
  240. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_rois.rb +0 -0
  241. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_text_rois.rb +0 -0
  242. data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_video_rois.rb +0 -0
  243. data/lib/{User_Lib/rois → rois}/mobile/android/android_rois.rb +0 -0
  244. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_black_rois.rb +0 -0
  245. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_color_rois.rb +0 -0
  246. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_image_rois.rb +0 -0
  247. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_rois.rb +0 -0
  248. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_text_rois.rb +0 -0
  249. data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_video_rois.rb +0 -0
  250. data/lib/{User_Lib/rois → rois}/mobile/android/android_text_rois.rb +0 -0
  251. data/lib/{User_Lib/rois → rois}/mobile/android/android_video_rois.rb +0 -0
  252. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_black_rois.rb +0 -0
  253. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_color_rois.rb +0 -0
  254. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_image_rois.rb +0 -0
  255. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_black_rois.rb +0 -0
  256. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_color_rois.rb +0 -0
  257. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_image_rois.rb +0 -0
  258. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_rois.rb +0 -0
  259. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_text_rois.rb +0 -0
  260. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_video_rois.rb +0 -0
  261. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_rois.rb +0 -0
  262. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +0 -0
  263. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +0 -0
  264. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +0 -0
  265. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_rois.rb +0 -0
  266. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +0 -0
  267. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +0 -0
  268. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_text_rois.rb +0 -0
  269. data/lib/{User_Lib/rois → rois}/mobile/ios/ios_video_rois.rb +0 -0
  270. data/lib/{User_Lib/rois → rois}/mobile/mobile_black_rois.rb +0 -0
  271. data/lib/{User_Lib/rois → rois}/mobile/mobile_color_rois.rb +0 -0
  272. data/lib/{User_Lib/rois → rois}/mobile/mobile_image_rois.rb +0 -0
  273. data/lib/{User_Lib/rois → rois}/mobile/mobile_rois.rb +0 -0
  274. data/lib/{User_Lib/rois → rois}/mobile/mobile_text_rois.rb +0 -0
  275. data/lib/{User_Lib/rois → rois}/mobile/mobile_video_rois.rb +0 -0
  276. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_black_rois.rb +0 -0
  277. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_color_rois.rb +0 -0
  278. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_image_rois.rb +0 -0
  279. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_rois.rb +0 -0
  280. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_text_rois.rb +0 -0
  281. data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_video_rois.rb +0 -0
  282. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_black_rois.rb +0 -0
  283. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_color_rois.rb +0 -0
  284. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_image_rois.rb +0 -0
  285. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_rois.rb +0 -0
  286. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_text_rois.rb +0 -0
  287. data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_video_rois.rb +0 -0
  288. data/lib/{User_Lib/rois → rois}/passport/passport_black_rois.rb +0 -0
  289. data/lib/{User_Lib/rois → rois}/passport/passport_color_rois.rb +0 -0
  290. data/lib/{User_Lib/rois → rois}/passport/passport_image_rois.rb +0 -0
  291. data/lib/{User_Lib/rois → rois}/passport/passport_rois.rb +0 -0
  292. data/lib/{User_Lib/rois → rois}/passport/passport_text_rois.rb +0 -0
  293. data/lib/{User_Lib/rois → rois}/passport/passport_video_rois.rb +0 -0
  294. data/lib/{User_Lib/rois → rois}/rois.rb +0 -0
  295. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_black_rois.rb +0 -0
  296. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_color_rois.rb +0 -0
  297. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_image_rois.rb +0 -0
  298. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_rois.rb +0 -0
  299. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_text_rois.rb +0 -0
  300. data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_video_rois.rb +0 -0
  301. data/lib/{User_Lib/rois → rois}/roku/roku_black_rois.rb +0 -0
  302. data/lib/{User_Lib/rois → rois}/roku/roku_color_rois.rb +0 -0
  303. data/lib/{User_Lib/rois → rois}/roku/roku_image_rois.rb +0 -0
  304. data/lib/{User_Lib/rois → rois}/roku/roku_rois.rb +0 -0
  305. data/lib/{User_Lib/rois → rois}/roku/roku_text_rois.rb +0 -0
  306. data/lib/{User_Lib/rois → rois}/roku/roku_video_rois.rb +0 -0
  307. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +0 -0
  308. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +0 -0
  309. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +0 -0
  310. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +0 -0
  311. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +0 -0
  312. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +0 -0
  313. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +0 -0
  314. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +0 -0
  315. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +0 -0
  316. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_rois.rb +0 -0
  317. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +0 -0
  318. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +0 -0
  319. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_black_rois.rb +0 -0
  320. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_color_rois.rb +0 -0
  321. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_image_rois.rb +0 -0
  322. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_rois.rb +0 -0
  323. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_text_rois.rb +0 -0
  324. data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_video_rois.rb +0 -0
  325. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +0 -0
  326. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +0 -0
  327. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +0 -0
  328. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +0 -0
  329. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +0 -0
  330. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +0 -0
  331. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +0 -0
  332. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +0 -0
  333. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +0 -0
  334. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +0 -0
  335. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +0 -0
  336. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +0 -0
  337. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_black_rois.rb +0 -0
  338. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_color_rois.rb +0 -0
  339. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_image_rois.rb +0 -0
  340. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_rois.rb +0 -0
  341. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_text_rois.rb +0 -0
  342. data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_video_rois.rb +0 -0
  343. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_black_rois.rb +0 -0
  344. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_color_rois.rb +0 -0
  345. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_image_rois.rb +0 -0
  346. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_rois.rb +0 -0
  347. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_text_rois.rb +0 -0
  348. data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_video_rois.rb +0 -0
  349. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_black_rois.rb +0 -0
  350. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_color_rois.rb +0 -0
  351. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_image_rois.rb +0 -0
  352. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_rois.rb +0 -0
  353. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_text_rois.rb +0 -0
  354. data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_video_rois.rb +0 -0
  355. data/lib/{User_Lib/rois → rois}/sara/sara_black_rois.rb +0 -0
  356. data/lib/{User_Lib/rois → rois}/sara/sara_color_rois.rb +0 -0
  357. data/lib/{User_Lib/rois → rois}/sara/sara_image_rois.rb +0 -0
  358. data/lib/{User_Lib/rois → rois}/sara/sara_rois.rb +0 -0
  359. data/lib/{User_Lib/rois → rois}/sara/sara_text_rois.rb +0 -0
  360. data/lib/{User_Lib/rois → rois}/sara/sara_video_rois.rb +0 -0
  361. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +0 -0
  362. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +0 -0
  363. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +0 -0
  364. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_rois.rb +0 -0
  365. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +0 -0
  366. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +0 -0
  367. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_black_rois.rb +0 -0
  368. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_color_rois.rb +0 -0
  369. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_image_rois.rb +0 -0
  370. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_rois.rb +0 -0
  371. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_text_rois.rb +0 -0
  372. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_video_rois.rb +0 -0
  373. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_black_rois.rb +0 -0
  374. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_color_rois.rb +0 -0
  375. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_image_rois.rb +0 -0
  376. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_rois.rb +0 -0
  377. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_text_rois.rb +0 -0
  378. data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_video_rois.rb +0 -0
  379. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_black_rois.rb +0 -0
  380. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_color_rois.rb +0 -0
  381. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_image_rois.rb +0 -0
  382. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_rois.rb +0 -0
  383. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_text_rois.rb +0 -0
  384. data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_video_rois.rb +0 -0
  385. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_black_rois.rb +0 -0
  386. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_color_rois.rb +0 -0
  387. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_image_rois.rb +0 -0
  388. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +0 -0
  389. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +0 -0
  390. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +0 -0
  391. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +0 -0
  392. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +0 -0
  393. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +0 -0
  394. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_rois.rb +0 -0
  395. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +0 -0
  396. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +0 -0
  397. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +0 -0
  398. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +0 -0
  399. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +0 -0
  400. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +0 -0
  401. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +0 -0
  402. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +0 -0
  403. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +0 -0
  404. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +0 -0
  405. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +0 -0
  406. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +0 -0
  407. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_text_rois.rb +0 -0
  408. data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_video_rois.rb +0 -0
  409. data/lib/{User_Lib/rois → rois}/stb/odn/odn_black_rois.rb +0 -0
  410. data/lib/{User_Lib/rois → rois}/stb/odn/odn_color_rois.rb +0 -0
  411. data/lib/{User_Lib/rois → rois}/stb/odn/odn_image_rois.rb +0 -0
  412. data/lib/{User_Lib/rois → rois}/stb/odn/odn_rois.rb +0 -0
  413. data/lib/{User_Lib/rois → rois}/stb/odn/odn_text_rois.rb +0 -0
  414. data/lib/{User_Lib/rois → rois}/stb/odn/odn_video_rois.rb +0 -0
  415. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +0 -0
  416. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +0 -0
  417. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +0 -0
  418. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +0 -0
  419. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +0 -0
  420. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +0 -0
  421. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +0 -0
  422. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +0 -0
  423. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +0 -0
  424. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +0 -0
  425. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +0 -0
  426. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +0 -0
  427. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +0 -0
  428. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +0 -0
  429. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +0 -0
  430. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +0 -0
  431. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +0 -0
  432. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +0 -0
  433. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +0 -0
  434. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +0 -0
  435. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +0 -0
  436. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +0 -0
  437. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +0 -0
  438. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +0 -0
  439. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +0 -0
  440. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +0 -0
  441. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +0 -0
  442. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +0 -0
  443. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +0 -0
  444. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +0 -0
  445. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +0 -0
  446. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +0 -0
  447. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +0 -0
  448. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +0 -0
  449. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +0 -0
  450. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +0 -0
  451. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +0 -0
  452. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +0 -0
  453. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +0 -0
  454. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +0 -0
  455. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +0 -0
  456. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +0 -0
  457. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +0 -0
  458. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +0 -0
  459. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +0 -0
  460. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +0 -0
  461. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +0 -0
  462. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +0 -0
  463. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +0 -0
  464. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +0 -0
  465. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +0 -0
  466. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +0 -0
  467. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +0 -0
  468. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +0 -0
  469. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +0 -0
  470. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +0 -0
  471. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +0 -0
  472. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_rois.rb +0 -0
  473. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +0 -0
  474. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +0 -0
  475. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_black_rois.rb +0 -0
  476. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_color_rois.rb +0 -0
  477. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_image_rois.rb +0 -0
  478. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_rois.rb +0 -0
  479. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_text_rois.rb +0 -0
  480. data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_video_rois.rb +0 -0
  481. data/lib/{User_Lib/rois → rois}/stb/stb_black_rois.rb +0 -0
  482. data/lib/{User_Lib/rois → rois}/stb/stb_color_rois.rb +0 -0
  483. data/lib/{User_Lib/rois → rois}/stb/stb_image_rois.rb +0 -0
  484. data/lib/{User_Lib/rois → rois}/stb/stb_rois.rb +0 -0
  485. data/lib/{User_Lib/rois → rois}/stb/stb_text_rois.rb +0 -0
  486. data/lib/{User_Lib/rois → rois}/stb/stb_video_rois.rb +0 -0
  487. data/lib/{User_Lib/rois → rois}/template.txt +0 -0
  488. data/lib/{User_Lib/rois → rois}/text_rois.rb +0 -0
  489. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_black_rois.rb +0 -0
  490. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_color_rois.rb +0 -0
  491. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_image_rois.rb +0 -0
  492. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_rois.rb +0 -0
  493. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_text_rois.rb +0 -0
  494. data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_video_rois.rb +0 -0
  495. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_black_rois.rb +0 -0
  496. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_color_rois.rb +0 -0
  497. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_image_rois.rb +0 -0
  498. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_rois.rb +0 -0
  499. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_text_rois.rb +0 -0
  500. data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_video_rois.rb +0 -0
  501. data/lib/{User_Lib/rois → rois}/tivo/tivo_black_rois.rb +0 -0
  502. data/lib/{User_Lib/rois → rois}/tivo/tivo_color_rois.rb +0 -0
  503. data/lib/{User_Lib/rois → rois}/tivo/tivo_image_rois.rb +0 -0
  504. data/lib/{User_Lib/rois → rois}/tivo/tivo_rois.rb +0 -0
  505. data/lib/{User_Lib/rois → rois}/tivo/tivo_text_rois.rb +0 -0
  506. data/lib/{User_Lib/rois → rois}/tivo/tivo_video_rois.rb +0 -0
  507. data/lib/{User_Lib/rois → rois}/video_rois.rb +0 -0
  508. data/lib/{lib/screen → screen}/screen.rb +0 -0
  509. data/lib/{lib/screen → screen}/template.txt +0 -0
  510. data/lib/{lib/screen → screen}/template_screen.txt +0 -0
  511. data/lib/{lib/screens → screens}/apple_tv/apple_tv_screens.rb +0 -0
  512. data/lib/{lib/screens → screens}/dta/dta_screens.rb +0 -0
  513. data/lib/{lib/screens → screens}/mdn/mdn_screens.rb +0 -0
  514. data/lib/{lib/screens → screens}/mobile/android/android_phone/android_phone_screens.rb +0 -0
  515. data/lib/{lib/screens → screens}/mobile/android/android_screens.rb +0 -0
  516. data/lib/{lib/screens → screens}/mobile/android/android_tablet/android_tablet_screens.rb +0 -0
  517. data/lib/{lib/screens → screens}/mobile/ios/ios_phone/ios_phone_screens.rb +0 -0
  518. data/lib/{lib/screens → screens}/mobile/ios/ios_screens.rb +0 -0
  519. data/lib/{lib/screens → screens}/mobile/ios/ios_tablet/ios_tablet_screens.rb +0 -0
  520. data/lib/{lib/screens → screens}/mobile/mobile_screens.rb +0 -0
  521. data/lib/{lib/screens → screens}/passport/passport_screens.rb +0 -0
  522. data/lib/{lib/screens → screens}/roku/roku_screens.rb +0 -0
  523. data/lib/{lib/screens → screens}/roku_tv/roku_tv_screens.rb +0 -0
  524. data/lib/{lib/screens → screens}/samsung_tv/samsung_tv_screens.rb +0 -0
  525. data/lib/{lib/screens → screens}/sara/sara_screens.rb +0 -0
  526. data/lib/{lib/screens → screens}/screens.rb +0 -0
  527. data/lib/{lib/screens → screens}/stb/iguide/iguide_1080/iguide_1080_screens.rb +0 -0
  528. data/lib/{lib/screens → screens}/stb/iguide/iguide_720/iguide_720_screens.rb +0 -0
  529. data/lib/{lib/screens → screens}/stb/iguide/iguide_screens.rb +0 -0
  530. data/lib/{lib/screens → screens}/stb/odn/odn_screens.rb +0 -0
  531. data/lib/{lib/screens → screens}/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +0 -0
  532. data/lib/{lib/screens → screens}/stb/spectrum/spectrum_screens.rb +0 -0
  533. data/lib/{lib/screens → screens}/stb/stb_screens.rb +0 -0
  534. data/lib/{lib/screens → screens}/template.txt +0 -0
  535. data/lib/{lib/screens → screens}/tivo/tivo_screens.rb +0 -0
  536. data/lib/{lib/selenium → selenium}/appium/appium.rb +0 -0
  537. data/lib/{lib/selenium → selenium}/selenium.rb +0 -0
  538. data/lib/{lib/selenium → selenium}/webdriver/webdriver.rb +0 -0
  539. data/lib/{lib/test_case → test_case}/boilerplate/functional.rb +0 -0
  540. data/lib/{lib/test_case → test_case}/boilerplate/performance.rb +0 -0
  541. data/lib/{lib/test_case → test_case}/ci_test.rb +0 -0
  542. data/lib/{lib/test_case → test_case}/functional_test_case.rb +0 -0
  543. data/lib/{lib/test_case → test_case}/make_boilerplate.rb +0 -0
  544. data/lib/{lib/test_case → test_case}/monitoring/apple_monitor.rb +0 -0
  545. data/lib/{lib/test_case → test_case}/monitoring/base_monitor.rb +0 -0
  546. data/lib/{lib/test_case → test_case}/monitoring/dta_monitor.rb +0 -0
  547. data/lib/{lib/test_case → test_case}/monitoring/iguide_monitor.rb +0 -0
  548. data/lib/{lib/test_case → test_case}/monitoring/mdn_monitor.rb +0 -0
  549. data/lib/{lib/test_case → test_case}/monitoring/monitoring_test.rb +0 -0
  550. data/lib/{lib/test_case → test_case}/monitoring/odn_monitor.rb +0 -0
  551. data/lib/{lib/test_case → test_case}/monitoring/passport_monitor.rb +0 -0
  552. data/lib/{lib/test_case → test_case}/monitoring/report_monitor.rb +0 -0
  553. data/lib/{lib/test_case → test_case}/monitoring/roku_monitor.rb +0 -0
  554. data/lib/{lib/test_case → test_case}/monitoring/sara_monitor.rb +0 -0
  555. data/lib/{lib/test_case → test_case}/monitoring/spec_monitor.rb +0 -0
  556. data/lib/{lib/test_case → test_case}/performance_test_case.rb +0 -0
  557. data/lib/{lib/test_case → test_case}/test_case.rb +0 -0
  558. data/lib/{lib/test_case → test_case}/test_error.rb +0 -0
  559. data/lib/{lib/test_case → test_case}/test_exception.rb +0 -0
  560. data/lib/{lib/test_case → test_case}/test_status.rb +0 -0
  561. data/lib/{lib/test_case → test_case}/test_step.rb +0 -0
  562. data/lib/{lib/test_case → test_case}/test_trace.rb +0 -0
  563. data/lib/{lib/test_data.rb → test_data.rb} +0 -0
  564. data/lib/test_wrapper.rb +95 -0
  565. data/{lib/misc → misc}/get_latest_android.sh +0 -0
  566. data/{lib/misc → misc}/get_latest_ios.sh +0 -0
  567. data/{lib/package-lock.json → package-lock.json} +0 -0
  568. data/{lib/syntax_eval.rb → syntax_eval.rb} +27 -35
  569. data/tmc-core.gemspec +9 -0
  570. data/{lib/tools → tools}/convert_old_scripts.rb +0 -0
  571. data/{lib/tools → tools}/find_duplicate_rois.rb +0 -0
  572. data/{lib/tools → tools}/roku/inspector.rb +0 -0
  573. data/{lib/tools → tools}/syntax_checker.rb +2 -4
  574. data/{lib/upload_ref_images.rb → upload_ref_images.rb} +0 -0
  575. metadata +576 -873
  576. data/lib/User_Lib/helpers/helpers.rb +0 -13
  577. data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +0 -25
  578. data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +0 -25
  579. data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +0 -25
  580. data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +0 -17
  581. data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +0 -24
  582. data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +0 -25
  583. data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +0 -25
  584. data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +0 -25
  585. data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +0 -25
  586. data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +0 -25
  587. data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +0 -25
  588. data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +0 -23
  589. data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +0 -31
  590. data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +0 -25
  591. data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +0 -25
  592. data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +0 -25
  593. data/lib/User_Lib/screen/dta/dta_dvr.rb +0 -26
  594. data/lib/User_Lib/screen/dta/dta_guide.rb +0 -26
  595. data/lib/User_Lib/screen/dta/dta_library.rb +0 -26
  596. data/lib/User_Lib/screen/dta/dta_live_tv.rb +0 -26
  597. data/lib/User_Lib/screen/dta/dta_log_in.rb +0 -26
  598. data/lib/User_Lib/screen/dta/dta_main_menu.rb +0 -26
  599. data/lib/User_Lib/screen/dta/dta_mini_guide.rb +0 -26
  600. data/lib/User_Lib/screen/dta/dta_movies.rb +0 -26
  601. data/lib/User_Lib/screen/dta/dta_on_demand.rb +0 -26
  602. data/lib/User_Lib/screen/dta/dta_parental_controls.rb +0 -26
  603. data/lib/User_Lib/screen/dta/dta_product_page.rb +0 -26
  604. data/lib/User_Lib/screen/dta/dta_screen.rb +0 -24
  605. data/lib/User_Lib/screen/dta/dta_search.rb +0 -26
  606. data/lib/User_Lib/screen/dta/dta_settings.rb +0 -26
  607. data/lib/User_Lib/screen/dta/dta_tv_shows.rb +0 -26
  608. data/lib/User_Lib/screen/dta/dta_video_store.rb +0 -26
  609. data/lib/User_Lib/screen/mdn/mdn_dvr.rb +0 -26
  610. data/lib/User_Lib/screen/mdn/mdn_guide.rb +0 -26
  611. data/lib/User_Lib/screen/mdn/mdn_library.rb +0 -26
  612. data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +0 -26
  613. data/lib/User_Lib/screen/mdn/mdn_log_in.rb +0 -26
  614. data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +0 -26
  615. data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +0 -26
  616. data/lib/User_Lib/screen/mdn/mdn_movies.rb +0 -26
  617. data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +0 -26
  618. data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +0 -26
  619. data/lib/User_Lib/screen/mdn/mdn_product_page.rb +0 -26
  620. data/lib/User_Lib/screen/mdn/mdn_screen.rb +0 -24
  621. data/lib/User_Lib/screen/mdn/mdn_search.rb +0 -26
  622. data/lib/User_Lib/screen/mdn/mdn_settings.rb +0 -26
  623. data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +0 -26
  624. data/lib/User_Lib/screen/mdn/mdn_video_store.rb +0 -26
  625. data/lib/User_Lib/screen/mobile/android/android_devices.rb +0 -35
  626. data/lib/User_Lib/screen/mobile/android/android_dvr.rb +0 -337
  627. data/lib/User_Lib/screen/mobile/android/android_favorites.rb +0 -164
  628. data/lib/User_Lib/screen/mobile/android/android_guide.rb +0 -256
  629. data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +0 -372
  630. data/lib/User_Lib/screen/mobile/android/android_login.rb +0 -111
  631. data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +0 -53
  632. data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +0 -402
  633. data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +0 -73
  634. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +0 -31
  635. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +0 -39
  636. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +0 -104
  637. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +0 -27
  638. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +0 -35
  639. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +0 -7
  640. data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +0 -26
  641. data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +0 -54
  642. data/lib/User_Lib/screen/mobile/android/android_product_page.rb +0 -484
  643. data/lib/User_Lib/screen/mobile/android/android_screen.rb +0 -56
  644. data/lib/User_Lib/screen/mobile/android/android_search.rb +0 -39
  645. data/lib/User_Lib/screen/mobile/android/android_settings.rb +0 -90
  646. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +0 -58
  647. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +0 -24
  648. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +0 -24
  649. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +0 -19
  650. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +0 -16
  651. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +0 -45
  652. data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +0 -14
  653. data/lib/User_Lib/screen/mobile/devices_mobile.rb +0 -53
  654. data/lib/User_Lib/screen/mobile/dvr_mobile.rb +0 -5
  655. data/lib/User_Lib/screen/mobile/favorites_mobile.rb +0 -5
  656. data/lib/User_Lib/screen/mobile/guide_mobile.rb +0 -5
  657. data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +0 -43
  658. data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +0 -231
  659. data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +0 -79
  660. data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +0 -53
  661. data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +0 -413
  662. data/lib/User_Lib/screen/mobile/ios/ios_login.rb +0 -76
  663. data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +0 -38
  664. data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +0 -371
  665. data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +0 -104
  666. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +0 -14
  667. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +0 -36
  668. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +0 -7
  669. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +0 -7
  670. data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +0 -13
  671. data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +0 -56
  672. data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +0 -441
  673. data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +0 -60
  674. data/lib/User_Lib/screen/mobile/ios/ios_search.rb +0 -145
  675. data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +0 -34
  676. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +0 -34
  677. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +0 -7
  678. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +0 -7
  679. data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +0 -13
  680. data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +0 -73
  681. data/lib/User_Lib/screen/mobile/login_mobile.rb +0 -5
  682. data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +0 -83
  683. data/lib/User_Lib/screen/mobile/mobile_screen.rb +0 -232
  684. data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +0 -70
  685. data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +0 -5
  686. data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +0 -5
  687. data/lib/User_Lib/screen/mobile/product_page_mobile.rb +0 -5
  688. data/lib/User_Lib/screen/mobile/search_mobile.rb +0 -5
  689. data/lib/User_Lib/screen/mobile/settings_mobile.rb +0 -33
  690. data/lib/User_Lib/screen/passport/passport_dvr.rb +0 -25
  691. data/lib/User_Lib/screen/passport/passport_guide.rb +0 -37
  692. data/lib/User_Lib/screen/passport/passport_library.rb +0 -25
  693. data/lib/User_Lib/screen/passport/passport_live_tv.rb +0 -17
  694. data/lib/User_Lib/screen/passport/passport_main_menu.rb +0 -25
  695. data/lib/User_Lib/screen/passport/passport_mini_guide.rb +0 -25
  696. data/lib/User_Lib/screen/passport/passport_movies.rb +0 -25
  697. data/lib/User_Lib/screen/passport/passport_on_demand.rb +0 -25
  698. data/lib/User_Lib/screen/passport/passport_parental_controls.rb +0 -25
  699. data/lib/User_Lib/screen/passport/passport_product_page.rb +0 -25
  700. data/lib/User_Lib/screen/passport/passport_screen.rb +0 -23
  701. data/lib/User_Lib/screen/passport/passport_search.rb +0 -25
  702. data/lib/User_Lib/screen/passport/passport_settings.rb +0 -25
  703. data/lib/User_Lib/screen/passport/passport_tv_shows.rb +0 -25
  704. data/lib/User_Lib/screen/passport/passport_video_store.rb +0 -25
  705. data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +0 -12
  706. data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +0 -12
  707. data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +0 -12
  708. data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +0 -103
  709. data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +0 -46
  710. data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +0 -12
  711. data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +0 -12
  712. data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +0 -9
  713. data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +0 -12
  714. data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +0 -42
  715. data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +0 -12
  716. data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +0 -12
  717. data/lib/User_Lib/screen/roku/roku_dvr.rb +0 -7
  718. data/lib/User_Lib/screen/roku/roku_guide.rb +0 -590
  719. data/lib/User_Lib/screen/roku/roku_home.rb +0 -346
  720. data/lib/User_Lib/screen/roku/roku_library.rb +0 -26
  721. data/lib/User_Lib/screen/roku/roku_live_tv.rb +0 -210
  722. data/lib/User_Lib/screen/roku/roku_login.rb +0 -795
  723. data/lib/User_Lib/screen/roku/roku_main_menu.rb +0 -425
  724. data/lib/User_Lib/screen/roku/roku_mini_guide.rb +0 -7
  725. data/lib/User_Lib/screen/roku/roku_on_demand.rb +0 -479
  726. data/lib/User_Lib/screen/roku/roku_product_page.rb +0 -483
  727. data/lib/User_Lib/screen/roku/roku_screen.rb +0 -85
  728. data/lib/User_Lib/screen/roku/roku_search.rb +0 -229
  729. data/lib/User_Lib/screen/roku/roku_settings.rb +0 -304
  730. data/lib/User_Lib/screen/roku/roku_watch_later.rb +0 -51
  731. data/lib/User_Lib/screen/roku/roku_welcome.rb +0 -10
  732. data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +0 -14
  733. data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +0 -14
  734. data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +0 -14
  735. data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +0 -14
  736. data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +0 -14
  737. data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +0 -14
  738. data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +0 -14
  739. data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +0 -14
  740. data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +0 -26
  741. data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +0 -14
  742. data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +0 -7
  743. data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +0 -14
  744. data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +0 -14
  745. data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +0 -14
  746. data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +0 -14
  747. data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +0 -24
  748. data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +0 -24
  749. data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +0 -24
  750. data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +0 -21
  751. data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +0 -13
  752. data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +0 -64
  753. data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +0 -24
  754. data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +0 -140
  755. data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +0 -76
  756. data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +0 -24
  757. data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +0 -24
  758. data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +0 -74
  759. data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +0 -29
  760. data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +0 -189
  761. data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +0 -24
  762. data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +0 -24
  763. data/lib/User_Lib/screen/sara/sara_dvr.rb +0 -26
  764. data/lib/User_Lib/screen/sara/sara_guide.rb +0 -43
  765. data/lib/User_Lib/screen/sara/sara_library.rb +0 -26
  766. data/lib/User_Lib/screen/sara/sara_live_tv.rb +0 -26
  767. data/lib/User_Lib/screen/sara/sara_log_in.rb +0 -26
  768. data/lib/User_Lib/screen/sara/sara_main_menu.rb +0 -26
  769. data/lib/User_Lib/screen/sara/sara_mini_guide.rb +0 -26
  770. data/lib/User_Lib/screen/sara/sara_movies.rb +0 -26
  771. data/lib/User_Lib/screen/sara/sara_on_demand.rb +0 -26
  772. data/lib/User_Lib/screen/sara/sara_parental_controls.rb +0 -26
  773. data/lib/User_Lib/screen/sara/sara_product_page.rb +0 -26
  774. data/lib/User_Lib/screen/sara/sara_screen.rb +0 -24
  775. data/lib/User_Lib/screen/sara/sara_search.rb +0 -26
  776. data/lib/User_Lib/screen/sara/sara_settings.rb +0 -26
  777. data/lib/User_Lib/screen/sara/sara_tv_shows.rb +0 -26
  778. data/lib/User_Lib/screen/sara/sara_video_store.rb +0 -26
  779. data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +0 -10
  780. data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +0 -10
  781. data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +0 -10
  782. data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +0 -39
  783. data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +0 -10
  784. data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +0 -10
  785. data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +0 -59
  786. data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +0 -10
  787. data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +0 -10
  788. data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +0 -10
  789. data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +0 -10
  790. data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +0 -531
  791. data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +0 -10
  792. data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +0 -10
  793. data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +0 -10
  794. data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +0 -7
  795. data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +0 -21
  796. data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +0 -10
  797. data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +0 -10
  798. data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +0 -10
  799. data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +0 -10
  800. data/lib/User_Lib/screen/stb/login_stb.rb +0 -5
  801. data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +0 -59
  802. data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +0 -8
  803. data/lib/User_Lib/screen/stb/odn/odn_guide.rb +0 -177
  804. data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +0 -115
  805. data/lib/User_Lib/screen/stb/odn/odn_login.rb +0 -8
  806. data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +0 -175
  807. data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +0 -1170
  808. data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +0 -23
  809. data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +0 -180
  810. data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +0 -9
  811. data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +0 -8
  812. data/lib/User_Lib/screen/stb/odn/odn_screen.rb +0 -111
  813. data/lib/User_Lib/screen/stb/odn/odn_search.rb +0 -167
  814. data/lib/User_Lib/screen/stb/odn/odn_settings.rb +0 -142
  815. data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +0 -27
  816. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +0 -12
  817. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +0 -10
  818. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +0 -10
  819. data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +0 -10
  820. data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +0 -1781
  821. data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +0 -841
  822. data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +0 -384
  823. data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +0 -259
  824. data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +0 -223
  825. data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +0 -404
  826. data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +0 -420
  827. data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +0 -37
  828. data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +0 -2137
  829. data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +0 -528
  830. data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +0 -26
  831. data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +0 -58
  832. data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +0 -48
  833. data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +0 -92
  834. data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +0 -1657
  835. data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +0 -1532
  836. data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +0 -1598
  837. data/lib/User_Lib/screen/stb/stb_screen.rb +0 -7
  838. data/lib/User_Lib/screen/tivo/tivo_dvr.rb +0 -25
  839. data/lib/User_Lib/screen/tivo/tivo_guide.rb +0 -25
  840. data/lib/User_Lib/screen/tivo/tivo_library.rb +0 -25
  841. data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +0 -17
  842. data/lib/User_Lib/screen/tivo/tivo_login.rb +0 -25
  843. data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +0 -25
  844. data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +0 -25
  845. data/lib/User_Lib/screen/tivo/tivo_movies.rb +0 -25
  846. data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +0 -25
  847. data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +0 -25
  848. data/lib/User_Lib/screen/tivo/tivo_product_page.rb +0 -25
  849. data/lib/User_Lib/screen/tivo/tivo_screen.rb +0 -20
  850. data/lib/User_Lib/screen/tivo/tivo_search.rb +0 -31
  851. data/lib/User_Lib/screen/tivo/tivo_settings.rb +0 -25
  852. data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +0 -25
  853. data/lib/User_Lib/screen/tivo/tivo_video_store.rb +0 -25
  854. data/lib/diagnostics/conductor/conductor_checkup.tmc +0 -24
  855. data/lib/diagnostics/db/mad_db_check.tmc +0 -56
  856. data/lib/diagnostics/db/mas_db_checkup.tmc +0 -24
  857. data/lib/diagnostics/db/mas_db_checkup_gem.tmc +0 -20
  858. data/lib/diagnostics/db/mas_db_checkup_jar.tmc +0 -50
  859. data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +0 -23
  860. data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +0 -33
  861. data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +0 -63
  862. data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +0 -54
  863. data/lib/diagnostics/prepare_stb.tmc +0 -30
  864. data/lib/diagnostics/prepare_stb_and_health_check.tmc +0 -56
  865. data/lib/diagnostics/script_options/options_checkup.tmc +0 -145
  866. data/lib/diagnostics/server_components_check.tmc +0 -62
  867. data/lib/diagnostics/ssh/dncs_checkup.tmc +0 -24
  868. data/lib/diagnostics/ssh/mas_checkup.tmc +0 -24
  869. data/lib/diagnostics/stb_health_check.tmc +0 -46
  870. data/lib/diagnostics/stb_ip_check.tmc +0 -120
  871. data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +0 -24
  872. data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +0 -24
  873. data/lib/end_iteration.rb +0 -4
  874. data/lib/lib/test_wrapper.rb +0 -146
  875. data/lib/run_test.rb +0 -4
  876. data/lib/script_validator.rb +0 -48
@@ -1,1598 +0,0 @@
1
- require './lib/screen/stb/spectrum/spectrum_screen'
2
- # DO NOT ADD DSL REQUIRES HERE. Load them in methods that need them, otherwise syntax completion will be slow.
3
-
4
- # Defines Spectrum-specific methods on the Video Store screen.
5
-
6
- class SpectrumVideoStore < SpectrumScreen
7
-
8
- # Public: Navigates to Video Store from Live TV.
9
- #
10
- # Returns nothing.
11
- def navigate_from_live_tv
12
- dut.press_key.MENU(:sleep_time => 6.sec)
13
- dut.press_key.ARROW_DOWN(:sleep_time => 1.sec)
14
- dut.press_key.ARROW_DOWN(:sleep_time => 1.sec)
15
- dut.press_key.ARROW_DOWN(:sleep_time => 3.sec)
16
- dut.press_key.SELECT(:sleep_time => 3.sec)
17
- end
18
-
19
- # Public: Check if My DVR is displayed.
20
- #
21
- # parentalpin - Enter the parental prompt
22
- # purchasepin - Enter the purchase prompt
23
- # ondemandpin - Enter the OD prompt
24
- # count - Enter the number of assets to check.
25
- #
26
- # Returns Boolean true/false if My DVR is/is not displayed
27
- def purchase_available_asset?(parentalpin,purchasepin,ondemandpin,count)
28
- begin
29
- videostore=dut.screens.main_menu.navigate_to_videostore?
30
- if videostore==true
31
- else
32
- # return false
33
- end
34
- dut.screens.video_store.select_asset?
35
- unpurchased=dut.screens.video_store.identify_unpurchased_asset?(count=15)
36
- if unpurchased==true
37
- else
38
- return false
39
- end
40
- dut.screens.settings.handle_all_prompts?(parentalpin,purchasepin,ondemandpin)
41
- if dut.roi.video.fullscreen_motion.displayed?
42
- logger.info("Video Play detected")
43
- dut.press_key('stop', :sleep_time=>3.sec)
44
- elsif dut.roi.image.unable_to_play_dialogue.displayed?
45
- fail("Failed to detect VOD Play")
46
- end
47
- ##Handles Exception##
48
- rescue=>exception
49
- loginfo "purchase_available_asset(:: failed"
50
- loginfo exception.message
51
- loginfo exception.backtrace
52
- return false
53
- end
54
- return true
55
- end
56
-
57
- # Public: navigate to video store and purchase first video from store
58
- #
59
- # Returns nothing.
60
- def purchase_first_asset_video_store?
61
- dut.press_key('guide', :sleep_time=>3.sec)
62
- dut.press_key('exit', :sleep_time=>3.sec) #Navigate to live tv
63
- dut.press_key('menu', :sleep_time=>5.sec)
64
- 3.times{dut.press_key('down_arrow', :sleep_time=>3.sec)}#Navigate to video store
65
- 2.times{dut.press_key('select', :sleep_time=>5.sec)}
66
-
67
- if dut.roi.image.restart_vod_button_image.displayed?(:timeout => 7000)
68
-
69
- dut.press_key('guide', :sleep_time=>3.sec)
70
- dut.press_key('exit', :sleep_time=>3.sec) #Navigate to live tv
71
- dut.press_key('menu', :sleep_time=>5.sec)
72
- dut.press_key('select', :sleep_time=>3.sec)
73
- return true
74
- else
75
- dut.press_key('select', :sleep_time=>5.sec)
76
- for i in 1..4
77
- if dut.roi.text.please_enter_parentalpin.displayed?(:timeout => 7000)
78
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
79
- 2.times{dut.press_key('select', :sleep_time=>3.sec)}
80
- elsif dut.roi.text.please_enter_on_demand_pin.displayed?(:timeout => 7000)
81
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
82
- 2.times{dut.press_key('select', :sleep_time=>3.sec)}
83
- elsif dut.roi.text.please_enter_purchase_pin.displayed?(:timeout => 7000)
84
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
85
- 2.times{dut.press_key('select', :sleep_time=>3.sec)}
86
- elsif dut.roi.image.please_enter_ondemand_pin2.displayed?(:timeout => 7000)
87
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
88
- 2.times{dut.press_key('select', :sleep_time=>3.sec)}
89
- elsif dut.roi.image.please_enter_parental_pin2.displayed?(:timeout => 7000)
90
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
91
- 2.times{dut.press_key('select', :sleep_time=>3.sec)}
92
- elsif dut.roi.video.fullscreen_motion.displayed?(:timeout => 7000)
93
- dut.press_key('stop', :sleep_time=>3.sec)
94
- break
95
-
96
- end
97
- end
98
-
99
-
100
- dut.press_key('select', :sleep_time=>3.sec)
101
-
102
- return true
103
- end
104
- end
105
-
106
- # Public: watch an asset that has been purchased
107
- #
108
- # Returns nothing.
109
- def watch_asset?
110
- if dut.roi.text.vod_restart_button.displayed?(:timeout => 7000)
111
- dut.press_key('select', :sleep_time=>3.sec)
112
- return true
113
- elsif dut.roi.text.vod_resume_button.displayed?(:timeout => 7000)
114
- dut.press_key('right_arrow', :sleep_time=>3.sec)
115
- dut.press_key('select', :sleep_time=>3.sec)
116
- return true
117
- elsif dut.roi.image.vod_watch_button.displayed?(:timeout => 7000)
118
- dut.press_key('select', :sleep_time=>3.sec)
119
- return true
120
- end
121
- end
122
-
123
- # Public: Handles Puchase/Parental/OD Prompt
124
- #
125
- # Returns nothing.
126
- def handle_prompt?
127
- purpin=false
128
- ppin=false
129
- opin=false
130
- val=dut.roi.text.please_enter_parental_text.retrieve
131
- for i in 1..3
132
- if purpin==false
133
- if dut.roi.text.please_purchase_pin2.displayed?(:timeout => 4000)
134
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
135
- dut.press_key('select', :sleep_time=>7.sec)
136
- purpin=true
137
- end
138
- end
139
- if opin==false
140
- if dut.roi.image.please_enter_ondemand_pin2.displayed?(:timeout => 4000)
141
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
142
- dut.press_key('select', :sleep_time=>3.sec)
143
- opin=true
144
- end
145
- end
146
- if ppin==false
147
- if dut.roi.image.please_enter_parental_pin2.displayed?(:timeout => 4000)
148
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
149
- dut.press_key('select', :sleep_time=>3.sec)
150
- ppin=true
151
- end
152
- end
153
- if purpin==false
154
- if dut.roi.text.please_enter_purchase_pin.displayed?(:timeout => 4000)
155
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
156
- dut.press_key('select', :sleep_time=>3.sec)
157
- purpin=true
158
- end
159
- end
160
- if ppin==false
161
- if dut.roi.text.please_enter_parentalpin_popup.displayed?(:timeout => 7000)
162
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
163
- dut.press_key('select', :sleep_time=>3.sec)
164
- ppin=true
165
- end
166
- end
167
- if ppin==false
168
- if dut.roi.image.please_enter_parental_pin2.displayed?(:timeout => 4000)
169
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
170
- dut.press_key('select', :sleep_time=>3.sec)
171
- ppin=true
172
- end
173
- end
174
- if ppin==false
175
- if dut.roi.image.enter_pin_on_deman_lock.displayed?(:timeout => 4000)
176
- 4.times{dut.press_key('0', :sleep_time=>1.sec)}
177
- dut.press_key('select', :sleep_time=>3.sec)
178
- ppin=true
179
- end
180
- end
181
- if dut.roi.text.ondemand_confirm_again.displayed?
182
- 4.times{dut.press_key('0', :sleep_time=>3.sec)}
183
- dut.press_key('select', :sleep_time=>3.sec)
184
-
185
- end
186
- end
187
- return true
188
- end
189
-
190
- # Public: Navigates to Video Store from Live TV.
191
- #
192
- # Returns nothing.
193
- def confirm_lock_towatch?
194
- for i in 1..8
195
- dut.press_key('select', :sleep_time=>3.sec)
196
- sleep(20.sec)
197
- if dut.roi.text.rent_asset.displayed?
198
- dut.press_key('select', :sleep_time=>3.sec)
199
- pin=["0","0","0","0"]
200
- fail("Failed to view the video streamed") unless dut.screens.settings.confirm_rent_lock?(pin)
201
- break
202
- else
203
- val= dut.roi.text.rent_button_pos_one.retrieve
204
- if val.include? 'RENT'
205
- dut.press_key('select', :sleep_time=>3.sec)
206
- pin=["0","0","0","0"]
207
- fail("Failed to view the video streamed") unless dut.screens.settings.confirm_rent_lock?(pin)
208
- break
209
- elsif dut.roi.image.vod_watch_button.displayed?
210
- dut.press_key('select', :sleep_time=>3.sec)
211
- pin=["0","0","0","0"]
212
- fail("Failed to view the video streamed") unless dut.screens.settings.confirm_rent_lock?(pin)
213
-
214
- break
215
- elsif dut.roi.image.restart_vod_image.displayed?
216
- dut.press_key('select', :sleep_time=>3.sec)
217
- pin=["0","0","0","0"]
218
- if dut.roi.text.parentally_locked_asset_enter_pin.displayed?
219
- fail("Failed to view parental control pin prompt ") unless dut.roi.text.parentally_locked_asset_enter_pin.displayed?
220
- end
221
- if dut.roi.text.parentally_locked_asset_enter_pin.displayed?
222
- pin.each do |item|
223
- dut.press_key(item, :sleep_time=>3.sec)
224
- end
225
- dut.press_key('select', :sleep_time=>3.sec)
226
-
227
- end
228
- if dut.roi.text.ondemand_confirm_again.displayed?
229
- pin.each do |item|
230
- dut.press_key(item, :sleep_time=>3.sec)
231
- end
232
- dut.press_key('select', :sleep_time=>3.sec)
233
- end
234
-
235
- if dut.roi.video.fullscreen_motion.displayed?
236
- fail("Failed to view the video streamed") unless dut.roi.video.fullscreen_motion.displayed?
237
- end
238
- break
239
-
240
- else
241
-
242
- dut.press_key('last', :sleep_time=>3.sec)
243
- dut.press_key('right_arrow', :sleep_time=>3.sec)
244
-
245
- end
246
- end
247
- end
248
- return true
249
- end
250
-
251
- # Public: For identifying unpurchased assets
252
- #
253
- #search count is the nuber of assets to search for integer
254
- #
255
- # searchcount - search count is the nuber of assets to search for integer
256
- #
257
- # Returns boolean value
258
- def identify_unpurchased_asset?(searchcount)
259
- ################
260
- ###DEFINE flag##
261
- ################
262
- upasset=false
263
- begin
264
- dut.screens.video_store.select_asset?
265
- for i in 1..searchcount
266
- valz=dut.roi.text.vod_button_roi.retrieve
267
- sleep(5.sec)
268
- if valz.include?'ENT'
269
- dut.press_key('select', :sleep_time=>7.sec)
270
- upasset=true
271
- break
272
- elsif dut.roi.image.rent_asset.displayed? or dut.roi.image.rent_asset_view.displayed?
273
- dut.press_key('select', :sleep_time=>7.sec)
274
- upasset=true
275
- break
276
- else
277
- dut.press_key('last', :sleep_time=>5.sec)
278
- dut.press_key('right_arrow', :sleep_time=>5.sec)
279
- dut.press_key('select', :sleep_time=>5.sec)
280
- end
281
- end
282
- #####################
283
- ##Handles Exception##
284
- #####################
285
- rescue=>exception
286
- loginfo "handle_all_prompts :: failed"
287
- loginfo exception.message
288
- loginfo exception.backtrace
289
- return false
290
- end
291
- return upasset
292
- end
293
-
294
- # Public: Handle purchase/parental/ondemand prompts
295
- #
296
- # pin - The variable that is to be used for entering the pin when prompts are displayed
297
- #
298
- # Returns hash value
299
- def handle_all_prompts?(pin)
300
- ##Defining the HASH##
301
- prompts={"parental"=>false,"purchase"=>false,"ondemand"=>false}
302
- ##############################
303
- #Encapsulating in a try catch#
304
- ##############################
305
- #try
306
- begin
307
- for i in 1..3
308
- #############################################
309
- #Create a dynamic ROI for the confirm button#
310
- #############################################
311
- valz=dut.roi.text.confrim_purchase.retrieve
312
- #####################################################
313
- #Validate the parental prompt if not checked already#
314
- #####################################################
315
- if prompts.fetch("parental")==false
316
- if dut.roi.text.please_enter_parentalpin.displayed?(:timeout => 7000)
317
- dut.screens.settings.enter_valid_pin?(pin)
318
- prompts["parental"]=true
319
- elsif dut.roi.image.please_enter_parental_pin2.displayed?(:timeout => 7000)
320
- dut.screens.settings.enter_valid_pin?(pin)
321
- prompts["parental"]=true
322
- end
323
- end
324
- #####################################################
325
- #Validate the Purchase prompt if not checked already#
326
- #####################################################
327
- if prompts.fetch("purchase")==false
328
- if dut.roi.image.purchase_pin2.displayed?(:timeout => 7000)
329
- dut.screens.settings.enter_valid_pin?(pin)
330
- prompts["purchase"]=true
331
- elsif dut.roi.text.please_enter_purchase_pin.displayed?(:timeout => 7000)
332
- dut.screens.settings.enter_valid_pin?(pin)
333
- prompts["purchase"]=true
334
- end
335
- end
336
- #####################################################
337
- #Validate the Ondemand prompt if not checked already#
338
- #####################################################
339
- if prompts.fetch("ondemand")==false
340
- if dut.roi.text.please_enter_on_demand_pin.displayed?(:timeout => 7000)
341
- dut.screens.settings.enter_valid_pin?(pin)
342
- prompts["ondemand"]=true
343
- elsif dut.roi.image.please_enter_ondemand_pin2.displayed?(:timeout => 7000)
344
- dut.screens.settings.enter_valid_pin?(pin)
345
- prompts["ondemand"]=true
346
- elsif dut.roi.text.ondemand_confirm_again.displayed?
347
- dut.screens.settings.enter_valid_pin?(pin)
348
- prompts["ondemand"]=true
349
- end
350
- end
351
- if valz.include?'CONFIRM'
352
- dut.press_key('select', :sleep_time=>7.sec)
353
- break
354
- end
355
- end
356
- #####################
357
- ##Handles Exception##
358
- #####################
359
- rescue=>exception
360
- loginfo "handle_all_prompts :: failed"
361
- loginfo exception.message
362
- loginfo exception.backtrace
363
- return false
364
- end
365
- return prompts
366
- end
367
-
368
- # Public: Select first asset from the video store
369
- #
370
- # Returns boolean
371
- def select_asset?
372
- begin
373
- dut.press_key.SELECT
374
- return true
375
- ##Handles Exception##
376
- rescue=>exception
377
- loginfo "enter_purchase_pin method :: failed"
378
- loginfo exception.message
379
- loginfo exception.backtrace
380
- return false
381
- end
382
- end
383
-
384
- # Public: enter pin to enter rest pin
385
- #
386
- # Returns pin as a argument which recieves values for entering parental controls
387
- def number_of_videoassets?
388
-
389
- val=dut.roi.text.Number_of_assets.retrieve
390
- value=val.split(" ")
391
- valueon=value[2].sub!("(","")
392
- valueon=value[2].sub!(")","")
393
- return valueon.to_i
394
-
395
-
396
- end
397
-
398
- # Public: enter pin to enter rest pin
399
- #
400
- # Returns pin as a argument which recieves values for entering parental controls
401
- def videoasset_category?
402
-
403
- return dut.roi.text.videostore_category.retrieve.to_s
404
-
405
-
406
- end
407
-
408
- # Public: enter pin to enter rest pin
409
- #
410
- # pin - argument for prompts
411
- #
412
- # Returns pin as a argument which recieves values for entering parental controls
413
- def successful_renting?(pin)
414
-
415
- if dut.roi.text.videostore_purchasepinprompt.displayed?
416
- pin.each do |item|
417
- dut.press_key(item, :sleep_time=>3.sec)
418
- end
419
- dut.press_key('select', :sleep_time=>3.sec)
420
- end
421
- if dut.roi.text.parentally_locked_asset_enter_pin.displayed?
422
- pin=["0","0","0","0"]
423
- fail("Failed to view parental control pin prompt ") unless dut.roi.text.parentally_locked_asset_enter_pin.displayed?
424
- if dut.roi.text.parentally_locked_asset_enter_pin.displayed?
425
- pin.each do |item|
426
- dut.press_key(item, :sleep_time=>3.sec)
427
- end
428
- dut.press_key('select', :sleep_time=>3.sec)
429
- end
430
- end
431
- if dut.roi.text.parentally_locked_asset_enter_pin.displayed?
432
- pin.each do |item|
433
- dut.press_key(item, :sleep_time=>3.sec)
434
- end
435
- dut.press_key('select', :sleep_time=>3.sec)
436
-
437
- end
438
- if dut.roi.text.ondemand_confirm_again.displayed?
439
- pin.each do |item|
440
- dut.press_key(item, :sleep_time=>3.sec)
441
- end
442
- dut.press_key('select', :sleep_time=>3.sec)
443
- end
444
- if dut.roi.text.confirm_rental_page.displayed?
445
- dut.press_key('select', :sleep_time=>3.sec)
446
- end
447
- return true
448
-
449
-
450
- end
451
-
452
-
453
- # Public: enter pin to enter rest pin
454
- #
455
- # Returns pin as a argument which recieves values for entering parental controls
456
- def rental_process?
457
- vale=false
458
- pin=["0","0","0","0"]
459
- number_of_assets=dut.screens.video_store.number_of_videoassets?
460
- for i in 1..number_of_assets
461
- dut.press_key('select', :sleep_time=>7.sec)
462
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
463
-
464
- dut.press_key('select', :sleep_time=>7.sec)
465
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
466
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
467
- dut.press_key('stop', :sleep_time=>3.sec)
468
-
469
- vale=true
470
- break
471
- elsif dut.roi.image.resume_asset.displayed?(:timeout => 10000)
472
- dut.press_key('right_arrow', :sleep_time=>3.sec)
473
- dut.press_key('select', :sleep_time=>7.sec)
474
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
475
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
476
- dut.press_key('stop', :sleep_time=>3.sec)
477
-
478
- vale=true
479
- break
480
- else
481
- dut.press_key('last', :sleep_time=>3.sec)
482
- dut.press_key('right_arrow', :sleep_time=>3.sec)
483
- end
484
-
485
- break if vale==true
486
- end
487
-
488
-
489
- return true
490
- end
491
-
492
- # Public: enter pin to enter rest pin
493
- #
494
- # Returns pin as a argument which recieves values for entering parental controls
495
- def rental_process_withoutnumberofassets?
496
- vale=false
497
- pin=["0","0","0","0"]
498
- for i in 1..7
499
- dut.press_key('select', :sleep_time=>7.sec)
500
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
501
-
502
- dut.press_key('select', :sleep_time=>7.sec)
503
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
504
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
505
- dut.press_key('stop', :sleep_time=>3.sec)
506
- fail("Failed to identify resume button") unless dut.roi.image.resume_asset.displayed?(:timeout => 10000)
507
- dut.press_key('right_arrow', :sleep_time=>3.sec)
508
- dut.press_key('select', :sleep_time=>7.sec)
509
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
510
- dut.press_key('stop', :sleep_time=>3.sec)
511
- vale=true
512
- break
513
- elsif dut.roi.image.resume_asset.displayed?(:timeout => 10000)
514
- dut.press_key('right_arrow', :sleep_time=>3.sec)
515
- dut.press_key('select', :sleep_time=>7.sec)
516
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
517
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
518
- vale=true
519
- break
520
- else
521
- dut.press_key('last', :sleep_time=>3.sec)
522
- dut.press_key('right_arrow', :sleep_time=>3.sec)
523
- end
524
- break if vale==true
525
- end
526
-
527
-
528
-
529
- return true
530
- end
531
- # Public: Select the first plocked asset from the video store
532
- #
533
- # number - number of plocked assets to search for
534
- #
535
- # Returns boolean
536
- def identify_plocked_asset?(number)
537
- dut.screens.video_store.select_asset?
538
- begin
539
- dut.press_key('select', :sleep_time=>3.sec)
540
- for i in 1..number
541
- if dut.roi.image.plock_asset_details.displayed?
542
- sleep(10.sec)
543
- dut.press_key('select', :sleep_time=>3.sec)
544
- return true
545
- break
546
- else
547
- dut.press_key.LAST
548
- dut.press_key.ARROW_RIGHT
549
- dut.press_key.SELECT
550
-
551
- end
552
- end
553
-
554
- ##Handles Exception##
555
- rescue=>exception
556
- loginfo "identify_plock_asset :: failed"
557
- loginfo exception.message
558
- loginfo exception.backtrace
559
- return false
560
- end
561
- end
562
-
563
- # Public: enter pin to enter rest pin
564
- #
565
- # Returns pin as a argument which recieves values for entering parental controls
566
- def rental_process_restrictedasset?
567
- vale=false
568
- pin=["0","0","0","0"]
569
- number_of_assets=dut.screens.video_store.number_of_videoassets?
570
- for i in 1..number_of_assets
571
- dut.press_key('select', :sleep_time=>7.sec)
572
- val=dut.roi.text.rating_from_videostore.retrieve
573
- if val[0,20].include?'R'
574
-
575
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
576
- dut.press_key('select', :sleep_time=>7.sec)
577
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
578
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
579
- dut.press_key('stop', :sleep_time=>3.sec)
580
- fail("Failed to identify resume button") unless dut.roi.image.resume_asset.displayed?(:timeout => 10000)
581
- dut.press_key('right_arrow', :sleep_time=>3.sec)
582
- dut.press_key('select', :sleep_time=>7.sec)
583
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
584
- dut.press_key('stop', :sleep_time=>3.sec)
585
- vale=true
586
- break
587
- elsif dut.roi.image.resume_asset.displayed?(:timeout => 10000)
588
- dut.press_key('right_arrow', :sleep_time=>3.sec)
589
- dut.press_key('select', :sleep_time=>7.sec)
590
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
591
- vale=true
592
- break
593
- else
594
- dut.press_key('last', :sleep_time=>3.sec)
595
- dut.press_key('right_arrow', :sleep_time=>3.sec)
596
- end
597
- else
598
- dut.press_key('last', :sleep_time=>3.sec)
599
- dut.press_key('right_arrow', :sleep_time=>3.sec)
600
- end
601
- if vale==true
602
- break
603
- end
604
-
605
- end
606
-
607
-
608
- return true
609
- end
610
-
611
- # Public: enter pin to enter rest pin
612
- #
613
- # Returns pin as a argument which recieves values for entering parental controls
614
- def rental_process_restart?
615
- vale=false
616
- pin=["0","0","0","0"]
617
- number_of_assets=dut.screens.video_store.number_of_videoassets?
618
- for i in 1..number_of_assets
619
- dut.press_key('select', :sleep_time=>7.sec)
620
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
621
-
622
- dut.press_key('select', :sleep_time=>7.sec)
623
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
624
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
625
- dut.press_key('stop', :sleep_time=>3.sec)
626
- fail("failed to view restart button after the asset is stopped playing") unless dut.roi.image.restart_asset.displayed?(:timeout => 10000)
627
- dut.press_key('select', :sleep_time=>7.sec)
628
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
629
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
630
- dut.press_key('stop', :sleep_time=>3.sec)
631
-
632
-
633
-
634
- vale=true
635
- break
636
- elsif dut.roi.image.restart_asset.displayed?(:timeout => 10000)
637
- dut.press_key('select', :sleep_time=>7.sec)
638
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
639
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
640
- dut.press_key('stop', :sleep_time=>3.sec)
641
- vale=true
642
-
643
- break
644
- else
645
- dut.press_key('last', :sleep_time=>3.sec)
646
- dut.press_key('right_arrow', :sleep_time=>3.sec)
647
- end
648
-
649
- break if vale==true
650
- end
651
-
652
-
653
- return true
654
- end
655
-
656
- # Public: enter pin to enter rest pin
657
- #
658
- # Returns pin as a argument which recieves values for entering parental controls
659
- def rental_process_withoutnumberofassets_restricted?
660
- vale=false
661
- pin=["0","0","0","0"]
662
- for i in 1..7
663
- dut.press_key('select', :sleep_time=>7.sec)
664
- val=dut.roi.text.rating_from_videostore.retrieve
665
- if val[0,20].include?'R'
666
-
667
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
668
-
669
- dut.press_key('select', :sleep_time=>7.sec)
670
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
671
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
672
- dut.press_key('stop', :sleep_time=>3.sec)
673
- fail("Failed to identify resume button") unless dut.roi.image.resume_asset.displayed?(:timeout => 10000)
674
- dut.press_key('right_arrow', :sleep_time=>3.sec)
675
- dut.press_key('select', :sleep_time=>7.sec)
676
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
677
- dut.press_key('stop', :sleep_time=>3.sec)
678
- vale=true
679
- break
680
- elsif dut.roi.image.resume_asset.displayed?(:timeout => 10000)
681
- dut.press_key('right_arrow', :sleep_time=>3.sec)
682
- dut.press_key('select', :sleep_time=>7.sec)
683
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
684
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
685
- vale=true
686
- break
687
- else
688
- dut.press_key('last', :sleep_time=>3.sec)
689
- dut.press_key('right_arrow', :sleep_time=>3.sec)
690
- end
691
- else
692
- dut.press_key('last', :sleep_time=>3.sec)
693
- dut.press_key('right_arrow', :sleep_time=>3.sec)
694
-
695
- end
696
- break if vale==true
697
- end
698
-
699
-
700
-
701
- return true
702
- end
703
-
704
- # Public: enter pin to enter rest pin
705
- #
706
- # pin - argument for prompts
707
- #
708
- # Returns pin as a argument which recieves values for entering parental controls
709
- def successful_renting_playback_stop?(pin)
710
-
711
- rental_asset=true
712
- while rental_asset
713
- if dut.roi.color.posterart.displayed?
714
- if dut.screens.video_store.number_of_videoassets?
715
- number_of_assets=dut.screens.video_store.number_of_videoassets?
716
- for i in 1..number_of_assets
717
- dut.press_key('select', :sleep_time=>7.sec)
718
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
719
- dut.press_key('select', :sleep_time=>7.sec)
720
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
721
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
722
- dut.press_key('fastforward', :sleep_time=>3.sec)
723
- val= dut.roi.text.fast_forward_text.retrieve
724
- if dut.roi.text.fast_forward_text.displayed?
725
- fail("Failed to view the fastforwarding") unless val.include?'x'
726
- end
727
- dut.press_key('play', :sleep_time=>3.sec)
728
- if dut.roi.video.fullscreen_motion.displayed?
729
- fail("Failed to view the video streamed") unless dut.roi.video.fullscreen_motion.displayed?
730
- end
731
- dut.press_key('pause', :sleep_time=>3.sec)
732
- sleep(10.sec)
733
- fail("Video is streaming and is not valid") if dut.roi.video.fullscreen_motion.displayed?
734
- dut.press_key('play', :sleep_time=>3.sec)
735
- sleep(10.sec)
736
- dut.press_key('exit', :sleep_time=>3.sec)
737
- dut.press_key('exit', :sleep_time=>3.sec)
738
- rental_asset=false
739
- break
740
- elsif dut.roi.image.restart_asset.displayed?(:timeout => 10000)
741
- dut.press_key('select', :sleep_time=>7.sec)
742
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
743
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
744
- #dut.press_key('stop', :sleep_time=>3.sec)
745
- dut.press_key('fastforward', :sleep_time=>3.sec)
746
- val= dut.roi.text.fast_forward_text.retrieve
747
- if dut.roi.text.fast_forward_text.displayed?
748
- fail("Failed to view the fastforwarding") unless val.include?'x'
749
- end
750
- dut.press_key('play', :sleep_time=>3.sec)
751
- if dut.roi.video.fullscreen_motion.displayed?
752
- fail("Failed to view the video streamed") unless dut.roi.video.fullscreen_motion.displayed?
753
- end
754
- dut.press_key('pause', :sleep_time=>3.sec)
755
- sleep(10.sec)
756
- fail("Video is streaming and is not valid") if dut.roi.video.fullscreen_motion.displayed?
757
- dut.press_key('play', :sleep_time=>3.sec)
758
- sleep(10.sec)
759
- dut.press_key('exit', :sleep_time=>3.sec)
760
- dut.press_key('exit', :sleep_time=>3.sec)
761
-
762
- rental_asset=false
763
- break
764
- else
765
- dut.press_key('last', :sleep_time=>3.sec)
766
- dut.press_key('right_arrow', :sleep_time=>3.sec)
767
- end
768
- end
769
- else
770
- fail("failed to view the resume and watch for streaming the video") unless dut.screens.video_store.rental_process_withoutnumberofassets?
771
- end
772
- else
773
- dut.press_key('down_arrow', :sleep_time=>5.sec)
774
-
775
- #for i in 1..10
776
-
777
- #curr_category= dut.roi.text.videostore_category.retrieve
778
- if dut.roi.color.posterart.displayed?
779
- if dut.screens.video_store.number_of_videoassets?
780
- number_of_assets=dut.screens.video_store.number_of_videoassets?
781
- for i in 1..number_of_assets
782
- dut.press_key('select', :sleep_time=>7.sec)
783
- if dut.roi.image.rent_asset.displayed?(:timeout => 10000) or dut.roi.image.rent_asset_view.displayed?(:timeout => 10000)
784
- dut.press_key('select', :sleep_time=>7.sec)
785
- fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
786
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
787
- dut.press_key('fastforward', :sleep_time=>3.sec)
788
- val= dut.roi.text.fast_forward_text.retrieve
789
- if dut.roi.text.fast_forward_text.displayed?
790
- fail("Failed to view the fastforwarding") unless val.include?'x'
791
- end
792
- dut.press_key('play', :sleep_time=>3.sec)
793
- if dut.roi.video.fullscreen_motion.displayed?
794
- fail("Failed to view the video streamed") unless dut.roi.video.fullscreen_motion.displayed?
795
- end
796
- dut.press_key('pause', :sleep_time=>3.sec)
797
- sleep(10.sec)
798
- fail("Video is streaming and is not valid") if dut.roi.video.fullscreen_motion.displayed?
799
- dut.press_key('play', :sleep_time=>3.sec)
800
- sleep(10.sec)
801
- dut.press_key('exit', :sleep_time=>3.sec)
802
- dut.press_key('exit', :sleep_time=>3.sec)
803
- rental_asset=false
804
- break
805
- elsif dut.roi.image.restart_asset.displayed?(:timeout => 10000)
806
- dut.press_key('select', :sleep_time=>7.sec)
807
- #fail("unable to peform successful renting") unless dut.screens.video_store.successful_renting?(pin)
808
- fail("Failed to identify video Play") unless dut.roi.video.fullscreen_motion.displayed?(:timeout => 12000)
809
- dut.press_key('fastforward', :sleep_time=>3.sec)
810
- val= dut.roi.text.fast_forward_text.retrieve
811
- if dut.roi.text.fast_forward_text.displayed?
812
- fail("Failed to view the fastforwarding") unless val.include?'x'
813
- end
814
- dut.press_key('play', :sleep_time=>3.sec)
815
- if dut.roi.video.fullscreen_motion.displayed?
816
- fail("Failed to view the video streamed") unless dut.roi.video.fullscreen_motion.displayed?
817
- end
818
- dut.press_key('pause', :sleep_time=>3.sec)
819
- sleep(10.sec)
820
- fail("Video is streaming and is not valid") if dut.roi.video.fullscreen_motion.displayed?
821
- dut.press_key('play', :sleep_time=>3.sec)
822
- sleep(10.sec)
823
- dut.press_key('exit', :sleep_time=>3.sec)
824
- dut.press_key('exit', :sleep_time=>3.sec)
825
- rental_asset=false
826
- break
827
-
828
- #dut.press_key('stop', :sleep_time=>3.sec)
829
- rental_asset=false
830
- break
831
- else
832
- dut.press_key('last', :sleep_time=>3.sec)
833
- dut.press_key('right_arrow', :sleep_time=>3.sec)
834
- end
835
- end
836
- rental_asset=false
837
- val=true
838
- break
839
- else
840
- fail("failed to view the resume and watch for streaming the video") unless dut.screens.video_store.rental_process_withoutnumberofassets?
841
- rental_asset=false
842
- break
843
- end
844
- else
845
- dut.press_key('down_arrow', :sleep_time=>5.sec)
846
- #if i==10
847
- #10.times{dut.press_key('up_arrow', :sleep_time=>7.sec)}
848
- #end
849
- end
850
- break if val==true
851
-
852
- end
853
- end
854
-
855
- return true
856
-
857
-
858
- end
859
-
860
- # Public: extract information of an episode in video store.
861
- #
862
- # Args:
863
- # box: a rectangle used to check if current page requests a pin.
864
- # default: {:x=>549,:y=>260,:width=>847,:height=>159}
865
- #
866
- # key: string of key word used to check if current page is for pins.
867
- # default: 'pin'
868
- #
869
- # pins: the pins to be filled. default: [0,0,0,0]
870
- #
871
- # Note:
872
- # All box should contain ':x', ':y', ':width', and ':height'
873
- #
874
- # Returns NA.
875
- def vod_handle_pin(args={})
876
- # set default parameters
877
- box = {:x=>549,:y=>260,:width=>847,:height=>159}
878
- key = "pin"
879
- pins = [0,0,0,0]
880
- # get required parameters
881
- if ! args.any?
882
- loginfo "Function 'vod_handle_pin' uses default settings."
883
- else
884
- if args.include?(:box)
885
- box = args[:box]
886
- end
887
- if args.include?(:key)
888
- key = args[:key]
889
- end
890
- if args.include?(:pins)
891
- pins = args[:pins]
892
- end
893
- end
894
-
895
- # check if pins is valid
896
- raise ArgumentError.new("'pins' should be an array of integers.") if ! pins.is_a?(Array)
897
-
898
- # check if box is valid
899
- if ! dut.screens.tv_shows.is_a_box(:box=>box)
900
- raise ArgumentError.new("Function 'vod_handle_pin' requires a valid box.")
901
- end
902
- # check if it is a pin page
903
- text = dut.screens.tv_shows.text_in_box(:box=>box).delete("^A-Za-z\s")
904
- while (! text.empty?) and (text.downcase.include?(key.downcase))
905
- pins.each{|pin|
906
- dut.press_key(pin.to_s, :sleep_time=>5.sec)
907
- }
908
- dut.press_key('select', :sleep_time=>7.sec)
909
- # check if it's a confirm page
910
- text = dut.screens.tv_shows.text_in_box(:box=>box).delete("^A-Za-z\s")
911
- end
912
-
913
- if text.include?("Confirm")
914
- dut.press_key('select', :sleep_time=>7.sec)
915
- end
916
- end
917
-
918
- # Public: extract information of an episode in video store.
919
- #
920
- # Args:
921
- # pbox: poster art box of an asset. It is used to check if the asset
922
- # has a poster art present. default:
923
- # {:x=>121,:y=>498,:width=>210,:height=>122}
924
- #
925
- # tbox: A rectangle used to retrieve the asset title. default:
926
- # {:x=>454,:y=>145,:width=>1380,:height=>144}
927
- #
928
- # rbox: A rectangle used to retrieve text for all buttons.
929
- # default:
930
- # {:x=>480,:y=>436,:width=>1418,:height=>514}
931
- #
932
- # vbox: A rectangle used to detect motion. default:
933
- # {:x=>240,:y=>142,:width=>713,:height=>412}
934
- #
935
- # Note:
936
- # All box should contain ':x', ':y', ':width', and ':height'
937
- #
938
- # Returns Hash. An hash for an asset information, which consists of
939
- # the following factors:
940
- # asset_info = {
941
- # "banner_presence"=>nil,
942
- # "title"=>nil,
943
- # "view_option"=>nil,
944
- # "playback_status"=>nil,
945
- # "price"=>nil
946
- # }
947
- def vod_video_assetinfo_extract(args={})
948
- require '../../../../Program Files/Time Warner Cable/TMCExecutionService/rubylocation/test_cases/sandbox/log_info'
949
- # set default return and parameters
950
- asset_info = {
951
- "banner_presence"=>'NA',
952
- "title"=>'NA',
953
- "view_option"=>'NA',
954
- "playback_status"=>'NA',
955
- "price"=>'0.0'
956
- }
957
- poster_box = {:x=>121,:y=>498,:width=>210,:height=>122}
958
- title_box = {:x=>454,:y=>145,:width=>1380,:height=>144}
959
- rent_box = {:x=>480,:y=>436,:width=>1418,:height=>514}
960
- video_box = {:x=>240,:y=>142,:width=>713,:height=>412}
961
- # get required parameters
962
- if ! args.any?
963
- loginfo "Function 'vod_video_assetinfo_extract' uses default settings."
964
- else
965
- if args.include?(:pbox)
966
- poster_box = args[:pbox]
967
- end
968
- if args.include?(:tbox)
969
- title_box = args[:tbox]
970
- end
971
- if args.include?(:rbox)
972
- rent_box = args[:rbox]
973
- end
974
- if args.include?(:vbox)
975
- video_box = args[:vbox]
976
- end
977
- end
978
-
979
- # check if each box is valid
980
- boxes = [poster_box, title_box, rent_box, video_box]
981
- boxes.each {|bx|
982
- if ! dut.screens.tv_shows.is_a_box(:box=>bx)
983
- return asset_info
984
- end
985
- }
986
-
987
- # update asset information
988
-
989
- # check if poster is there or not
990
- background = dut.roi.black.new(:rectangle=>poster_box)
991
- if background.displayed?
992
- asset_info["banner_presence"] = "NA"
993
- else
994
- asset_info["banner_presence"] = "PRESENT"
995
- end
996
- # extract the title
997
- title = dut.screens.tv_shows.text_in_box(:box=>title_box)
998
- if ! title.nil?
999
- title = title.delete("^A-Za-z0-9\s")
1000
- end
1001
- asset_info["title"] = title
1002
-
1003
- # extract view_option and price
1004
- rent_text = dut.screens.tv_shows.text_in_box(:box=>rent_box,:preprocessing=>6)
1005
- if ! rent_text.nil?
1006
- rent_text = rent_text.delete("^A-Za-z.0-9\s$")
1007
- end
1008
- if (! rent_text.nil?) and (! rent_text.empty?)
1009
- rent_index = rent_text.index("RENT $")
1010
- if ! rent_index.nil?
1011
- asset_info["view_option"] = rent_text[rent_index..rent_index+3]
1012
- price = rent_text[rent_index+6..rent_index+9].to_f
1013
- price = price/10 while price > 10
1014
- asset_info["price"] = price.to_s
1015
- elsif
1016
- asset_info["price"] = "0.0"
1017
- asset_info["view_option"] = "WATCH"
1018
- end
1019
- else
1020
- asset_info["price"] = "0.0"
1021
- asset_info["view_option"] = "NA"
1022
- end
1023
- # check if 'TRAILER' button is there. If not, don't check playable
1024
- if ! rent_text.include?('TRAILER')
1025
- asset_info["playback_status"] = 'NA'
1026
- else
1027
- # make sure RENT button is highlighted
1028
- dut.screens.video_store.vod_highlight_box(:keys=>["last","select"], :times=>2)
1029
- # check trailer playback
1030
- dut.press_key('right_arrow', :sleep_time=>5.sec)
1031
- dut.press_key.SELECT(:sleep_time=>5.sec)
1032
- # handle prompt
1033
- dut.screens.video_store.vod_handle_pin
1034
-
1035
- video_win = dut.roi.video.new(:rectangle=>video_box)
1036
- playable = video_win.displayed?(:timeout => 10000)
1037
- if playable
1038
- asset_info["playback_status"] = 'PLAYABLE'
1039
- dut.press_key('stop', :sleep_time=>5.sec)
1040
- else
1041
- asset_info["playback_status"] = 'NA'
1042
- # take care "Unable play" prompt if any
1043
- unable_play = dut.screens.tv_shows.include_in_box(:text=>"Unable", :box=>video_box)
1044
- if unable_play
1045
- dut.press_key('select', :sleep_time=>5.sec)
1046
- else
1047
- dut.press_key('last', :sleep_time=>5.sec)
1048
- end
1049
- end
1050
-
1051
- end
1052
- # check if current page is an asset page
1053
- rent_text = dut.screens.tv_shows.text_in_box(:box=>rent_box,:preprocessing=>6).delete("^A-Za-z.0-9")
1054
- if ! ( (rent_text.include?("RENT") or rent_text.include?("WA")))
1055
- raise RuntimeError.new("NOTE: current page is not asset page, something is wrong.")
1056
- end
1057
- return asset_info
1058
- end
1059
-
1060
- # Public: extract aaset information for a given row in tv shows.
1061
- #
1062
- # Args:
1063
- # nassets: Integer. The number of assets on a row. default: 7
1064
- # nav_key: String. The navigation key used to move to next asset.
1065
- #
1066
- # Notes:
1067
- # This function needs to be called on all asset page, maybe just
1068
- # under the category page if it exists, or just the page under
1069
- # provider page if the category page does not exist.
1070
- #
1071
- # Returns Integer. The number of assets axtracted for a given row.
1072
- def vod_video_assets_extract_one_row(args={})
1073
- require '../../../../Program Files/Time Warner Cable/TMCExecutionService/rubylocation/test_cases/sandbox/log_info'
1074
- # set default return and parameters
1075
- result = []
1076
-
1077
- # default number of assets per row
1078
- nassets = 7
1079
- nav_key = "right_arrow"
1080
- # get required parameters
1081
- if ! args.any?
1082
- log_info "Function 'vod_video_assets_extract_one_row' uses default settings."
1083
- else
1084
- if args.include?(:nassets)
1085
- nassets = args[:nassets]
1086
- end
1087
- if args.include?(:nav_key)
1088
- nav_key = args[:nav_key]
1089
- end
1090
- end
1091
- # validate nassets
1092
- if (!nassets.is_a?(Integer)) or (nassets<1)
1093
- raise ArgumentError.new("'nassets' should be a positive integer.")
1094
- end
1095
- # validate the given nav_key
1096
- if (! nav_key.is_a?(String)) or (! ['right_arrow', 'left_arrow'].include?(nav_key))
1097
- raise ArgumentError.new("'nav_key' can only be one of ['right_arrow', 'left_arrow'].")
1098
- end
1099
- # count the number of assets scanned
1100
- ncount = 0
1101
-
1102
- (1..nassets).each { |ii|
1103
- # extract asset info
1104
- dut.press_key('select', :sleep_time=>5.sec)
1105
-
1106
- begin
1107
- asset_info = dut.screens.video_store.vod_video_assetinfo_extract
1108
- rescue
1109
- next
1110
- ensure
1111
- # go back to all assets page
1112
- dut.press_key('last', :sleep_time=>5.sec)
1113
- end
1114
- # report twb
1115
- dut.screens.video_store.vod_video_assets_info_format(:asset_info=>asset_info)
1116
- # move to next asset
1117
- if ii < nassets
1118
- dut.press_key(nav_key, :sleep_time=>5.sec)
1119
- end
1120
- # update ncount
1121
- ncount += 1
1122
- }
1123
- return ncount
1124
- end
1125
-
1126
- # Public: extract aaset information for asset page in tv shows.
1127
- #
1128
- # Args:
1129
- # nassets: Integer. The number of assets on a row. default: 7
1130
- #
1131
- # Notes:
1132
- # This function needs to be called on all asset page, maybe just
1133
- # under the category page if it exists, or just the page under
1134
- # provider page if the category page does not exist.
1135
- #
1136
- # Returns Integer. The number of extracted assets on all asset page.
1137
- def vod_video_assets_extract(args={})
1138
-
1139
- # default number of assets per row
1140
- nassets = 7
1141
- # get required parameters
1142
- if ! args.any?
1143
- loginfo "Function 'vod_video_assets_extract' uses default settings."
1144
- else
1145
- if args.include?(:nassets)
1146
- nassets = args[:nassets]
1147
- end
1148
- end
1149
- # validate nassets
1150
- if !nassets.is_a?(Integer)
1151
- raise ArgumentError.new("'nassets' should be an integer.")
1152
- end
1153
- # get the number of rows and number of colums of last row
1154
- nrows = dut.screens.library.count_assets_one_dir(:nassets=>1,:similarity=>85)
1155
- ncols_last_row = dut.screens.library.count_assets_one_dir(:nassets=>1,:nav_key=>"right_arrow", :similarity=>85) + 1
1156
- loginfo "On asset page, there are #{nrows} rows and #{ncols_last_row} cols on last row."
1157
- # go back to all assets page under a category
1158
- dut.press_key('last', :sleep_time=>5.sec)
1159
- dut.press_key('select', :sleep_time=>5.sec)
1160
-
1161
- # the number of assets scanned
1162
- ncount = 0
1163
- # loop for each row
1164
- col_nav_key = "right_arrow"
1165
- (0..nrows).each {|row|
1166
- col_nav_key = row%2==1 ? "left_arrow" : "right_arrow"
1167
- # for the last row of assets
1168
- if (row == nrows) and (ncols_last_row > 0)
1169
- nassets = ncols_last_row
1170
- end
1171
-
1172
- ntmp = dut.screens.video_store.vod_video_assets_extract_one_row(:nav_key=>col_nav_key, :nassets=>nassets) rescue ntmp=0
1173
- ncount += ntmp
1174
- # got to next row.
1175
- if row < nrows
1176
- dut.press_key('down_arrow', :sleep_time=>5.sec)
1177
- end
1178
-
1179
- }
1180
-
1181
- return ncount
1182
-
1183
- end
1184
-
1185
- # Public: Audit all assets under "All Movies" page and report the results
1186
- #
1187
- # Args:
1188
- # name : String. The report name twb requests. default: "Video_AuditReport"
1189
- # nassets : Integer. The number of assets per row except the last one.
1190
- # categories: An array of category names or [row, col] pairs. default = []
1191
- # box : A rectangle used to retrieve category. default:
1192
- # {:x=>42,:y=>334,:width=>593,:height=>117}
1193
- #
1194
- # Notes:
1195
- # This function needs to be called aftern enter "Video Store"
1196
- #
1197
- # Returns NA
1198
- def vod_video_audit(args={})
1199
- begin
1200
- require "time"
1201
-
1202
- # set default return and parameters
1203
- ftail = Time.new.to_s.gsub(/[\s:-]/,"_").strip.gsub(/_+/,"_")
1204
- start_time = Time.now
1205
- categories = []
1206
- # default number of assets per row
1207
- nassets = 7
1208
-
1209
- # default report name
1210
- report_name = "Video_AuditReport"
1211
-
1212
- # set a box to retrieve category
1213
- box = {:x=>42,:y=>334,:width=>593,:height=>117}
1214
-
1215
- # get required parameters
1216
- if ! args.any?
1217
- loginfo "Default settings used."
1218
- else
1219
- if args.include?(:name)
1220
- report_name = args[:name]
1221
- end
1222
- if args.include?(:nassets)
1223
- nassets = args[:nassets]
1224
- end
1225
- if args.include?(:box)
1226
- box = args[:box]
1227
- end
1228
- if args.include?(:categories)
1229
- categories = args[:categories]
1230
- end
1231
- end
1232
- # validate report name
1233
- if ! report_name.is_a?(String)
1234
- raise ArgumentError.new("'report_name' should be a string")
1235
- end
1236
- report_name = report_name+"_"+ftail
1237
-
1238
- # validate nassets
1239
- if !nassets.is_a?(Integer)
1240
- raise ArgumentError.new("'nassets' should be an integer.")
1241
- end
1242
- # validate box
1243
- if ! dut.screens.tv_shows.is_a_box(:box=>box)
1244
- raise ArgumentError.new("'box' should be a Hash with x, y, width, and height defined.")
1245
- end
1246
-
1247
- # validate categories
1248
- if !categories.is_a?(Array)
1249
- raise ArgumentError.new("'categories' should be an array.")
1250
- end
1251
- # twb report structure
1252
- $fmt = {
1253
- "report_name"=>report_name,
1254
- "progress"=> 0
1255
- }
1256
-
1257
- # go to "All Movies"
1258
- category_box = {:x=>67,:y=>281,:width=>721,:height=>66}
1259
- dut.screens.tv_shows.nav_to_category(:category=>"All Movies",:roi_text=>category_box)
1260
- dut.press_key('left_arrow', :sleep_time=>5.sec)
1261
- dut.press_key('select', :sleep_time=>5.sec)
1262
-
1263
- # get the number of rows and number of colums of last row
1264
- nrows = dut.screens.tv_shows.count_assets_one_dir(:nassets=>1,:similarity=>85)
1265
- ncols_last_row = dut.screens.tv_shows.count_assets_one_dir(:nassets=>1,:nav_key=>"right_arrow", :similarity=>85) + 1
1266
- loginfo "*******************************************************"
1267
- loginfo "Categories. Rows: #{nrows}, Columns at last row: #{ncols_last_row}"
1268
- loginfo "*******************************************************"
1269
-
1270
- # go back to "ALL Movies"
1271
- dut.press_key('last', :sleep_time=>5.sec)
1272
- dut.press_key('left_arrow', :sleep_time=>5.sec)
1273
- dut.press_key('select', :sleep_time=>5.sec)
1274
-
1275
- # get category
1276
- category0 = dut.screens.video_store.vod_video_category_extract
1277
- col_nav_key = "right_arrow"
1278
- # the number of assets scanned
1279
- ncount = 0
1280
- # loop for each category
1281
- (0..nrows).each {|row|
1282
- col_nav_key = row%2==1 ? "left_arrow" : "right_arrow"
1283
- # for the last row of providers
1284
- if (row == nrows) and (ncols_last_row > 0)
1285
- nassets = ncols_last_row
1286
- end
1287
-
1288
- (1..nassets).each {|inet|
1289
- start_time_per_network = Time.now
1290
- dut.press_key('select', :sleep_time=>5.sec)
1291
- # Combine sub-category to get final category
1292
- sub_category = dut.screens.video_store.vod_video_category_extract
1293
- category = category0 + "/" + sub_category
1294
- # set continue flag
1295
- continue_flag = true
1296
- # if given categories, check if the current category name is in the given array
1297
- # if not, skip the current category
1298
- if categories.is_a?(Array) and (! categories.empty?)
1299
- continue_flag = false if (! categories.include?(sub_category.gsub(/\s/,''))) rescue continue_flag = false
1300
- continue_flag = categories.include?([row, inet]) if !continue_flag
1301
- end
1302
- loginfo "Checking (#{row}, #{inet}) #{category}"
1303
- # assets info extraction for a given category
1304
- if continue_flag
1305
- loginfo "Working on category #{category}(#{row}, #{inet}), be patient..."
1306
- $fmt["category"] = category
1307
- ntmp = dut.screens.video_store.vod_video_assets_extract rescue ntmp=0
1308
- # ncount update
1309
- ncount += ntmp
1310
- end
1311
- # go back to all provider page
1312
- dut.press_key('last', :sleep_time=>5.sec)
1313
- if inet < nassets
1314
- dut.press_key(col_nav_key, :sleep_time=>5.sec)
1315
- end
1316
- loginfo "Time took for this category(sec): #{Time.now - start_time_per_network}, #{ntmp} assets scanned."
1317
- }
1318
- # go to next row
1319
- if row < nrows
1320
- dut.press_key('down_arrow', :sleep_time=>5.sec)
1321
- end
1322
- }
1323
-
1324
- loginfo "Total time took (hours): #{(Time.now - start_time)/60/60}, #{ncount} assets scanned."
1325
- rescue =>e
1326
- loginfo "'vod_video_audit' exception: #{e.message}"
1327
- return false
1328
- end
1329
- return true
1330
- end
1331
-
1332
- # Public: Check if a given box matches the given rgb color.
1333
- #
1334
- # Args:
1335
- # box:
1336
- # the rectangle area used to check if it is highlighted
1337
- # {:x=>79,:y=>761,:width=>249,:height=>48} for 'video store'.
1338
- # User can define different box for other menu.
1339
- # rgb: Integer Array of 3 values (0 - 255) for red, green, blue
1340
- # (default: [255,255,255] for white color, for checking highlight).
1341
- # similarity: Integer color similarity threshold 0 - 100 (default: 15).
1342
- # key: navigation key. default: "down_arrow"
1343
- #
1344
- # Returns Bool. true if enter the selected menu, otherwise false
1345
- def slect_menu(args={})
1346
- # box: a rectangle to check if it is highlighted
1347
- box = {:x=>79,:y=>761,:width=>249,:height=>48}
1348
- rgb = [255, 255, 255]
1349
- similarity = 15
1350
- key = "down_arrow"
1351
- # get required parameters
1352
- if ! args.any?
1353
- loginfo "Function 'slect_menu' uses default settings."
1354
- else
1355
- if args.include?(:box)
1356
- box = args[:box]
1357
- end
1358
- if args.include?(:rgb)
1359
- rgb = args[:rgb]
1360
- end
1361
- if args.include?(:similarity)
1362
- similarity = args[:similarity]
1363
- end
1364
- if args.include?(:key)
1365
- key = args[:key]
1366
- end
1367
- end
1368
-
1369
- if ! dut.screens.tv_shows.is_a_box(:box=>box)
1370
- return false
1371
- end
1372
-
1373
- # validate similarity
1374
- if (!similarity.is_a?(Integer)) or (similarity<1) or (similarity>100)
1375
- loginfo "'similarity' should be a positive integer less than 100."
1376
- return false
1377
- end
1378
- # validate rgb
1379
- if ! dut.screens.tv_shows.rgb_validate(:rgb=>rgb)
1380
- return false
1381
- end
1382
- # validate key
1383
- if ! ["down_arrow", "left_arrow", "left_arrow", "left_arrow"].include?(key)
1384
- loginfo "#{key} must be one of the navigation keys."
1385
- return false
1386
- end
1387
- # navigate to the given menu
1388
- dut.press_key('menu', :sleep_time=>5.sec)
1389
- color_roi = dut.roi.color.new(:rectangle=>box, :similarity=>similarity,:rgb=>rgb)
1390
- fail "Test" unless color_roi.press_key_until_displayed?(key=key, :timeout => 30000)
1391
- dut.press_key.SELECT(:sleep_time => 5.sec)
1392
- return true
1393
- end
1394
-
1395
- # Public: extract provider and category of tv shows.
1396
- #
1397
- # Args:
1398
- # box: a rectangle used to retrieve category. default:
1399
- # {:x=>42,:y=>334,:width=>593,:height=>117}
1400
- #
1401
- # Note:
1402
- # All box should contain ':x', ':y', ':width', and ':height'
1403
- #
1404
- # Returns String.
1405
- def vod_video_category_extract(args={})
1406
- # box: a rectangle to retrieve category
1407
- box = {:x=>42,:y=>334,:width=>593,:height=>117}
1408
- # get required parameters
1409
- if ! args.any?
1410
- loginfo "'vod_video_category_extract' uses default settings."
1411
- else
1412
- if args.include?(:box)
1413
- box = args[:box]
1414
- end
1415
- end
1416
-
1417
- # check if each box is valid
1418
- if ! dut.screens.library.is_a_box(:box=>box)
1419
- raise ArgumentError.new("'box' should be a Hash with x, y, width, and height defined.")
1420
- end
1421
- # retrieve providers and category
1422
- category = dut.screens.library.text_in_box(:box=>box)
1423
- # remove special chars.
1424
- if (! category.empty?) and (! category.nil?)
1425
- loc = category.include?("(") ? category.index("(") : -1
1426
- if loc == 0
1427
- category = ""
1428
- elsif loc > 0
1429
- category = category[0..loc-1].rstrip
1430
- end
1431
- else
1432
- category = ""
1433
- end
1434
- return category
1435
-
1436
- end
1437
-
1438
- # Public: Press keys until the given box has the given color with the given
1439
- # similarity.
1440
- #
1441
- # Args:
1442
- # box:
1443
- # the rectangle area used to check if it is highlighted
1444
- # {:x=>487,:y=>467,:width=>303,:height=>332} for 'RENT' button in
1445
- # video store.
1446
- # User can define different box for other menu.
1447
- # rgb: Integer Array of 3 values (0 - 255) for red, green, blue
1448
- # (default: [255,255,255] for white color, for checking highlight).
1449
- # similarity: Integer color similarity threshold 0 - 100 (default: 15).
1450
- # keys: Array. A list of keys. default: ["down_arrow"]
1451
- # timeout: integer. default 120(seconds)
1452
- # times: integer. default: 10
1453
- #
1454
- # Returns Bool. true if the given box matches the given color, otherwise false
1455
- def vod_highlight_box(args={})
1456
- require 'timeout'
1457
- # box: a rectangle to check if it is highlighted
1458
- box = {:x=>487,:y=>467,:width=>303,:height=>332}
1459
- rgb = [255, 255, 255]
1460
- similarity = 15
1461
- keys = "down_arrow"
1462
- timeout = 120
1463
- times = 10
1464
- # get required parameters
1465
- if ! args.any?
1466
- loginfo "Function 'vod_highlight_box' uses default settings."
1467
- else
1468
- if args.include?(:box)
1469
- box = args[:box]
1470
- end
1471
- if args.include?(:rgb)
1472
- rgb = args[:rgb]
1473
- end
1474
- if args.include?(:similarity)
1475
- similarity = args[:similarity]
1476
- end
1477
- if args.include?(:keys)
1478
- keys = args[:keys]
1479
- end
1480
- if args.include?(:timeout)
1481
- timeout = args[:timeout]
1482
- end
1483
- if args.include?(:times)
1484
- times = args[:times]
1485
- end
1486
- end
1487
-
1488
- if ! dut.screens.tv_shows.is_a_box(:box=>box)
1489
- raise ArgumentError.new("Invalid 'box'")
1490
- end
1491
-
1492
- # validate similarity
1493
- if (!similarity.is_a?(Integer)) or (similarity<1) or (similarity>100)
1494
- raise ArgumentError.new("'similarity' should be a positive integer less than 100.")
1495
- end
1496
- # validate timeout
1497
- if (!timeout.is_a?(Integer)) or (timeout<1)
1498
- raise ArgumentError.new("'timeout' should be a positive integer.")
1499
- end
1500
- # validate times
1501
- if (!times.is_a?(Integer)) or (times<1)
1502
- raise ArgumentError.new("'times' should be a positive integer less than 100.")
1503
- end
1504
- # validate rgb
1505
- if ! dut.screens.tv_shows.rgb_validate(:rgb=>rgb)
1506
- raise ArgumentError.new("Invalid rgb.")
1507
- end
1508
- is_highlight = false
1509
- color_roi = dut.roi.color.new(:rectangle=>box, :similarity=>similarity,:rgb=>rgb)
1510
- # highlight the given box
1511
- Timeout::timeout(timeout) do
1512
- times.times {
1513
- is_highlight = color_roi.displayed?
1514
- if is_highlight
1515
- loginfo "The given box matches the given color."
1516
- break
1517
- else
1518
- keys.each{|key|
1519
- begin
1520
- dut.press_key(key, :sleep_time=>5.sec)
1521
- rescue=>e
1522
- loginfo "#{key} press failed. #{e.message}"
1523
- end
1524
- }
1525
- end
1526
- }
1527
- end
1528
- return is_highlight
1529
- end
1530
-
1531
- # Public: Convert the test records saved in an array to the report format twb requests.
1532
- #
1533
- # Args:
1534
- # images: String. default: "{\"images\":[]}"
1535
- # asset_info : A hash kept asset information. default: {}
1536
- #
1537
- # Notes:
1538
- # This function needs to be called after dut.screens.video_store.vod_video_assets_extract
1539
- # is run.
1540
- #
1541
- # Returns NA
1542
- def vod_video_assets_info_format(args={})
1543
- require '../../../../Program Files/Time Warner Cable/TMCExecutionService/rubylocation/test_cases/sandbox/twb_upload_lib'
1544
- begin
1545
- # set default parameters
1546
- images = "{\"images\":[]}"
1547
- asset_info = {}
1548
-
1549
-
1550
- # get required parameters
1551
- if ! args.any?
1552
- loginfo "Default settings used."
1553
- return
1554
- else
1555
- if args.include?(:asset_info)
1556
- asset_info = args[:asset_info]
1557
- end
1558
- if args.include?(:images)
1559
- images = args[:images]
1560
- end
1561
- end
1562
-
1563
- # create twb upload connection
1564
- begin
1565
- twb_handler = RecordsReport.new
1566
- twb_handler.verbose = true
1567
- rescue => e
1568
- loginfo "TWB Connection Creating error: #{e.message}. No TWB upload."
1569
- twb_handler = nil
1570
- end
1571
- # default report format
1572
- $fmt["screenshots"] = images
1573
- # start formatting the data
1574
- if asset_info.is_a?(Hash) and asset_info.any?
1575
- begin
1576
- $fmt.update(asset_info)
1577
- # prepare the output string for the csv file
1578
- record = $fmt.values.join(",")+"\n"
1579
- append_to_file "vod_reports/"+$fmt["report_name"]+".csv", record rescue loginfo "vod_reports csv writing failed."
1580
- # twb report
1581
- if !twb_handler.nil?
1582
- loginfo "Reporting to twb..."
1583
- twb_handler.send_one_record($fmt)
1584
- end
1585
- # update progress
1586
- $fmt["progress"] = 50 if $fmt["progress"]==0
1587
- rescue =>e
1588
- loginfo "Record formatting error. #{e.message}"
1589
- #next
1590
- end
1591
- end
1592
- rescue => e
1593
- loginfo "Test record formatting error: #{e}."
1594
- return
1595
- end
1596
- return
1597
- end
1598
- end