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.
- checksums.yaml +4 -4
- data/{lib/EXECUTION_ENGINE.md → EXECUTION_ENGINE.md} +0 -0
- data/{lib/Gemfile → Gemfile} +4 -1
- data/{lib/README.md → README.md} +0 -0
- data/{lib/config → config}/ConfigParams.xml +0 -0
- data/{lib/config → config}/ImageROI.xml +0 -0
- data/{lib/config → config}/ROI.xml +0 -0
- data/{lib/config → config}/Userlog4j.xml +0 -0
- data/{lib/config → config}/schema-docs/mode.xsd +0 -0
- data/{lib/config → config}/schema-docs/processTestJobs.xsd +0 -0
- data/{lib/config → config}/schema-docs/rackip.xsd +0 -0
- data/{lib/copy_ref_images.rb → copy_ref_images.rb} +0 -0
- data/{lib/copy_repo.rb → copy_repo.rb} +0 -0
- data/{lib/dsllib → dsllib}/common/dncs/dncs_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_conductor.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_db.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_publish.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_rest_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_soap_services.rb +0 -0
- data/{lib/dsllib → dsllib}/common/mas_db/mas_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/mdn_remote_diagnostics.rb +0 -0
- data/{lib/dsllib → dsllib}/common/remote_diagnostics/odn_web_server.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_export.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/excel_module.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/server_components_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/stb_health_check_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/sword_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/tmc_utils.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/common/utils/virtual_keyboard_vp_navigator.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/roi.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/DTA/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/ROI.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/iguide_concurrent_test/utils.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/measure_tune.rb +0 -0
- data/{lib/dsllib → dsllib}/performance/perf_lib.rb +0 -0
- data/framework_gem.rb +3 -0
- data/lib/{lib/data_services → data_services}/channel.rb +0 -0
- data/lib/{lib/data_services → data_services}/data_services.rb +0 -0
- data/lib/{lib/data_services → data_services}/guide.rb +0 -0
- data/lib/{lib/data_services → data_services}/lineup.rb +0 -0
- data/lib/{lib/data_services → data_services}/program.rb +0 -0
- data/lib/{lib/data_services → data_services}/schedule.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_connector.rb +0 -0
- data/lib/{lib/data_services → data_services}/splunk_data_reader.rb +0 -0
- data/lib/{lib/element → element}/element.rb +0 -0
- data/lib/{lib/extensions → extensions}/array_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/datetime_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/file_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/float_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/integer_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/nethttp_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/object_extensions.rb +0 -0
- data/lib/{lib/extensions → extensions}/string_extensions.rb +0 -0
- data/lib/helpers/tmc_helpers/core_helper/core_helper.rb +29 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/csv_helper/csv_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/email_helper/email_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/http_helper/http_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/roi_helper/roi_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/snmp_helper/snmp_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/ssh_helper/ssh_helper.rb +0 -0
- data/lib/{lib/helpers → helpers}/tmc_helpers/tmc_helpers.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/apple_tv/apple_tv_username_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/keyboard_layout.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_reset_pin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_rsg_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/roku/roku_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/samsung_tv/samsung_tv_signin_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_on_demand_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/odn/odn_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_email_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_netflix_name_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/stb/spectrum/spectrum_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_password_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_search_keyboard.rb +0 -0
- data/lib/{lib/keyboard → keyboard}/tivo/tivo_username_keyboard.rb +0 -0
- data/lib/{lib/keys → keys}/apple_tv/apple_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/base_keys.rb +0 -0
- data/lib/{lib/keys → keys}/dta/dta_keys.rb +0 -0
- data/lib/{lib/keys → keys}/mdn/mdn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/passport/passport_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku/roku_keys.rb +0 -0
- data/lib/{lib/keys → keys}/roku_tv/roku_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/samsung_tv/samsung_tv_keys.rb +0 -0
- data/lib/{lib/keys → keys}/sara/sara_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/iguide/iguide_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/odn/odn_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/spectrum/spectrum_keys.rb +0 -0
- data/lib/{lib/keys → keys}/stb/stb_keys.rb +0 -0
- data/lib/{lib/keys → keys}/tivo/tivo_keys.rb +0 -0
- data/lib/{lib/logger → logger}/multi_io.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_dut_logger.rb +0 -0
- data/lib/{lib/logger → logger}/tmc_logger.rb +0 -0
- data/lib/{lib/mixins → mixins}/assignable.rb +0 -0
- data/lib/{lib/mixins → mixins}/can_have_special_methods.rb +0 -0
- data/lib/{lib/mixins → mixins}/enumish.rb +0 -0
- data/lib/{lib/new_platform.rb → new_platform.rb} +0 -0
- data/lib/{lib/new_sub_platform.rb → new_sub_platform.rb} +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_1080/apple_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/apple_tv/apple_tv_720/apple_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_1080/dta_1080.rb +0 -0
- data/lib/{lib/platform → platform}/dta/dta_720/dta_720.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_1080/mdn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/mdn/mdn_720/mdn_720.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_phone/android_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/android/android_tablet/android_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_phone/ios_phone.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/ios/ios_tablet/ios_tablet.rb +0 -0
- data/lib/{lib/platform → platform}/mobile/mobile.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport1080/passport_1080.rb +0 -0
- data/lib/{lib/platform → platform}/passport/passport_720/passport_720.rb +0 -0
- data/lib/{lib/platform → platform}/platform.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku.rb +0 -0
- data/lib/{lib/platform → platform}/roku/roku_720/roku_720.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_1080/roku_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/roku_tv/roku_tv_720/roku_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_1080/samsung_tv_1080.rb +0 -0
- data/lib/{lib/platform → platform}/samsung_tv/samsung_tv_720/samsung_tv_720.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_1080/sara_1080.rb +0 -0
- data/lib/{lib/platform → platform}/sara/sara_720/sara_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_1080/iguide_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/iguide/iguide_720/iguide_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_1080/odn_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_moto/odn_720_moto.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_sa/odn_720_sa.rb +0 -0
- data/lib/{lib/platform → platform}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax.rb +0 -0
- data/lib/{lib/platform → platform}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch.rb +0 -0
- data/lib/{lib/platform → platform}/stb/stb.rb +0 -0
- data/lib/{lib/platform → platform}/template.txt +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_1080/tivo_1080.rb +0 -0
- data/lib/{lib/platform → platform}/tivo/tivo_720/tivo_720.rb +0 -0
- data/lib/{lib/platform → platform}/web/web.rb +0 -0
- data/lib/{lib/platform_libs → platform_libs}/roku/roku_controller.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_dut.rb +0 -0
- data/lib/{lib/prereqs → prereqs}/prereqs_for_test.rb +0 -0
- data/lib/{lib/remotes → remotes}/remotes.rb +0 -0
- data/lib/{lib/remotes → remotes}/stb/spectrum/spectrum_remotes.rb +0 -0
- data/lib/{lib/roi → roi}/black/black_roi.rb +0 -0
- data/lib/{lib/roi → roi}/color/color_roi.rb +0 -0
- data/lib/{lib/roi → roi}/image/image_roi.rb +0 -0
- data/lib/{lib/roi → roi}/roi.rb +0 -0
- data/lib/{lib/roi → roi}/template_roi.txt +0 -0
- data/lib/{lib/roi → roi}/text/text_roi.rb +0 -0
- data/lib/{lib/roi → roi}/video/video_roi.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_1080/apple_tv_1080_video_rois.rb +2 -1
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_720/apple_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/apple_tv/apple_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_1080/dta_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_720/dta_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/dta/dta_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_1080/mdn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_720/mdn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mdn/mdn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_phone/android_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_tablet/android_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/android/android_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_phone/ios_phone_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_tablet/ios_tablet_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/ios/ios_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/mobile/mobile_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_1080/passport_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_720/passport_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/passport/passport_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_720/roku_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku/roku_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_1080/roku_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_720/roku_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/roku_tv/roku_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_1080/samsung_tv_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_720/samsung_tv_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/samsung_tv/samsung_tv_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_1080/sara_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_720/sara_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/sara/sara_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_1080/iguide_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_720/iguide_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/iguide/iguide_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_1080/odn_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_moto/odn_720_moto_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_sa/odn_720_sa_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_samsung/odn_720_samsung_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_720/odn_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/odn/odn_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis/spectrum_1080_docsis_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_arris/spectrum_1080_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_humax/spectrum_1080_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_docsis_tch/spectrum_1080_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_pace/spectrum_1080_pace_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_1080/spectrum_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_arris/spectrum_720_docsis_arris_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_humax/spectrum_720_docsis_humax_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_docsis_tch/spectrum_720_docsis_tch_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_720/spectrum_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/spectrum/spectrum_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/stb/stb_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/template.txt +0 -0
- data/lib/{User_Lib/rois → rois}/text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_1080/tivo_1080_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_720/tivo_720_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_black_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_color_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_image_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_text_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/tivo/tivo_video_rois.rb +0 -0
- data/lib/{User_Lib/rois → rois}/video_rois.rb +0 -0
- data/lib/{lib/screen → screen}/screen.rb +0 -0
- data/lib/{lib/screen → screen}/template.txt +0 -0
- data/lib/{lib/screen → screen}/template_screen.txt +0 -0
- data/lib/{lib/screens → screens}/apple_tv/apple_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/dta/dta_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mdn/mdn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_phone/android_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/android/android_tablet/android_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_phone/ios_phone_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/ios/ios_tablet/ios_tablet_screens.rb +0 -0
- data/lib/{lib/screens → screens}/mobile/mobile_screens.rb +0 -0
- data/lib/{lib/screens → screens}/passport/passport_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku/roku_screens.rb +0 -0
- data/lib/{lib/screens → screens}/roku_tv/roku_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/samsung_tv/samsung_tv_screens.rb +0 -0
- data/lib/{lib/screens → screens}/sara/sara_screens.rb +0 -0
- data/lib/{lib/screens → screens}/screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_1080/iguide_1080_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_720/iguide_720_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/iguide/iguide_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/odn/odn_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/spectrum/spectrum_screens.rb +0 -0
- data/lib/{lib/screens → screens}/stb/stb_screens.rb +0 -0
- data/lib/{lib/screens → screens}/template.txt +0 -0
- data/lib/{lib/screens → screens}/tivo/tivo_screens.rb +0 -0
- data/lib/{lib/selenium → selenium}/appium/appium.rb +0 -0
- data/lib/{lib/selenium → selenium}/selenium.rb +0 -0
- data/lib/{lib/selenium → selenium}/webdriver/webdriver.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/functional.rb +0 -0
- data/lib/{lib/test_case → test_case}/boilerplate/performance.rb +0 -0
- data/lib/{lib/test_case → test_case}/ci_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/functional_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/make_boilerplate.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/apple_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/base_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/dta_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/iguide_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/mdn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/monitoring_test.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/odn_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/passport_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/report_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/roku_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/sara_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/monitoring/spec_monitor.rb +0 -0
- data/lib/{lib/test_case → test_case}/performance_test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_case.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_error.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_exception.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_status.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_step.rb +0 -0
- data/lib/{lib/test_case → test_case}/test_trace.rb +0 -0
- data/lib/{lib/test_data.rb → test_data.rb} +0 -0
- data/lib/test_wrapper.rb +95 -0
- data/{lib/misc → misc}/get_latest_android.sh +0 -0
- data/{lib/misc → misc}/get_latest_ios.sh +0 -0
- data/{lib/package-lock.json → package-lock.json} +0 -0
- data/{lib/syntax_eval.rb → syntax_eval.rb} +27 -35
- data/tmc-core.gemspec +9 -0
- data/{lib/tools → tools}/convert_old_scripts.rb +0 -0
- data/{lib/tools → tools}/find_duplicate_rois.rb +0 -0
- data/{lib/tools → tools}/roku/inspector.rb +0 -0
- data/{lib/tools → tools}/syntax_checker.rb +2 -4
- data/{lib/upload_ref_images.rb → upload_ref_images.rb} +0 -0
- metadata +576 -873
- data/lib/User_Lib/helpers/helpers.rb +0 -13
- data/lib/User_Lib/screen/apple_tv/apple_tv_dvr.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_library.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_live_tv.rb +0 -17
- data/lib/User_Lib/screen/apple_tv/apple_tv_login.rb +0 -24
- data/lib/User_Lib/screen/apple_tv/apple_tv_main_menu.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_movies.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_on_demand.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_product_page.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_screen.rb +0 -23
- data/lib/User_Lib/screen/apple_tv/apple_tv_search.rb +0 -31
- data/lib/User_Lib/screen/apple_tv/apple_tv_settings.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/apple_tv/apple_tv_video_store.rb +0 -25
- data/lib/User_Lib/screen/dta/dta_dvr.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_library.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_live_tv.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_log_in.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_main_menu.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_movies.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_on_demand.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_product_page.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_screen.rb +0 -24
- data/lib/User_Lib/screen/dta/dta_search.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_settings.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/dta/dta_video_store.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_dvr.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_library.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_live_tv.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_log_in.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_main_menu.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_movies.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_on_demand.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_product_page.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_screen.rb +0 -24
- data/lib/User_Lib/screen/mdn/mdn_search.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_settings.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/mdn/mdn_video_store.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_devices.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_dvr.rb +0 -337
- data/lib/User_Lib/screen/mobile/android/android_favorites.rb +0 -164
- data/lib/User_Lib/screen/mobile/android/android_guide.rb +0 -256
- data/lib/User_Lib/screen/mobile/android/android_live_tv.rb +0 -372
- data/lib/User_Lib/screen/mobile/android/android_login.rb +0 -111
- data/lib/User_Lib/screen/mobile/android/android_main_menu.rb +0 -53
- data/lib/User_Lib/screen/mobile/android/android_on_demand.rb +0 -402
- data/lib/User_Lib/screen/mobile/android/android_parental_controls.rb +0 -73
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_dvr.rb +0 -31
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_guide.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_live_tv.rb +0 -104
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_main_menu.rb +0 -27
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_on_demand.rb +0 -35
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_product_page.rb +0 -7
- data/lib/User_Lib/screen/mobile/android/android_phone/android_phone_search.rb +0 -26
- data/lib/User_Lib/screen/mobile/android/android_privacy_legal.rb +0 -54
- data/lib/User_Lib/screen/mobile/android/android_product_page.rb +0 -484
- data/lib/User_Lib/screen/mobile/android/android_screen.rb +0 -56
- data/lib/User_Lib/screen/mobile/android/android_search.rb +0 -39
- data/lib/User_Lib/screen/mobile/android/android_settings.rb +0 -90
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_dvr.rb +0 -58
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_guide.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_live_tv.rb +0 -24
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_main_menu.rb +0 -19
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_on_demand.rb +0 -16
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_product_page.rb +0 -45
- data/lib/User_Lib/screen/mobile/android/android_tablet/android_tablet_search.rb +0 -14
- data/lib/User_Lib/screen/mobile/devices_mobile.rb +0 -53
- data/lib/User_Lib/screen/mobile/dvr_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/favorites_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/guide_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/ios/ios_devices.rb +0 -43
- data/lib/User_Lib/screen/mobile/ios/ios_dvr.rb +0 -231
- data/lib/User_Lib/screen/mobile/ios/ios_favorites.rb +0 -79
- data/lib/User_Lib/screen/mobile/ios/ios_guide.rb +0 -53
- data/lib/User_Lib/screen/mobile/ios/ios_live_tv.rb +0 -413
- data/lib/User_Lib/screen/mobile/ios/ios_login.rb +0 -76
- data/lib/User_Lib/screen/mobile/ios/ios_main_menu.rb +0 -38
- data/lib/User_Lib/screen/mobile/ios/ios_on_demand.rb +0 -371
- data/lib/User_Lib/screen/mobile/ios/ios_parental_controls.rb +0 -104
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_dvr.rb +0 -14
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_live_tv.rb +0 -36
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_phone/ios_phone_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/ios/ios_privacy_legal.rb +0 -56
- data/lib/User_Lib/screen/mobile/ios/ios_product_page.rb +0 -441
- data/lib/User_Lib/screen/mobile/ios/ios_screen.rb +0 -60
- data/lib/User_Lib/screen/mobile/ios/ios_search.rb +0 -145
- data/lib/User_Lib/screen/mobile/ios/ios_settings.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_live_tv.rb +0 -34
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_main_menu.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_on_demand.rb +0 -7
- data/lib/User_Lib/screen/mobile/ios/ios_tablet/ios_tablet_search.rb +0 -13
- data/lib/User_Lib/screen/mobile/live_tv_mobile.rb +0 -73
- data/lib/User_Lib/screen/mobile/login_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/main_menu_mobile.rb +0 -83
- data/lib/User_Lib/screen/mobile/mobile_screen.rb +0 -232
- data/lib/User_Lib/screen/mobile/on_demand_mobile.rb +0 -70
- data/lib/User_Lib/screen/mobile/parental_controls_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/privacy_legal_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/product_page_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/search_mobile.rb +0 -5
- data/lib/User_Lib/screen/mobile/settings_mobile.rb +0 -33
- data/lib/User_Lib/screen/passport/passport_dvr.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_guide.rb +0 -37
- data/lib/User_Lib/screen/passport/passport_library.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_live_tv.rb +0 -17
- data/lib/User_Lib/screen/passport/passport_main_menu.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_movies.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_on_demand.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_product_page.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_screen.rb +0 -23
- data/lib/User_Lib/screen/passport/passport_search.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_settings.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/passport/passport_video_store.rb +0 -25
- data/lib/User_Lib/screen/roku/brs/roku_guide_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_home_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_live_tv_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_login_brs.rb +0 -103
- data/lib/User_Lib/screen/roku/brs/roku_main_menu_brs.rb +0 -46
- data/lib/User_Lib/screen/roku/brs/roku_on_demand_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_product_page_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_screen_brs.rb +0 -9
- data/lib/User_Lib/screen/roku/brs/roku_search_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_settings_brs.rb +0 -42
- data/lib/User_Lib/screen/roku/brs/roku_watch_later_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/brs/roku_welcome_brs.rb +0 -12
- data/lib/User_Lib/screen/roku/roku_dvr.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_guide.rb +0 -590
- data/lib/User_Lib/screen/roku/roku_home.rb +0 -346
- data/lib/User_Lib/screen/roku/roku_library.rb +0 -26
- data/lib/User_Lib/screen/roku/roku_live_tv.rb +0 -210
- data/lib/User_Lib/screen/roku/roku_login.rb +0 -795
- data/lib/User_Lib/screen/roku/roku_main_menu.rb +0 -425
- data/lib/User_Lib/screen/roku/roku_mini_guide.rb +0 -7
- data/lib/User_Lib/screen/roku/roku_on_demand.rb +0 -479
- data/lib/User_Lib/screen/roku/roku_product_page.rb +0 -483
- data/lib/User_Lib/screen/roku/roku_screen.rb +0 -85
- data/lib/User_Lib/screen/roku/roku_search.rb +0 -229
- data/lib/User_Lib/screen/roku/roku_settings.rb +0 -304
- data/lib/User_Lib/screen/roku/roku_watch_later.rb +0 -51
- data/lib/User_Lib/screen/roku/roku_welcome.rb +0 -10
- data/lib/User_Lib/screen/roku_tv/roku_tv_dvr.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_home.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_library.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_live_tv.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_login.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_main_menu.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_mini_guide.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_on_demand.rb +0 -26
- data/lib/User_Lib/screen/roku_tv/roku_tv_product_page.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_screen.rb +0 -7
- data/lib/User_Lib/screen/roku_tv/roku_tv_search.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_settings.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_watch_later.rb +0 -14
- data/lib/User_Lib/screen/roku_tv/roku_tv_welcome.rb +0 -14
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_dvr.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_library.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_live_tv.rb +0 -21
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_login.rb +0 -13
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_main_menu.rb +0 -64
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_mini_guide.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_movies.rb +0 -140
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_on_demand.rb +0 -76
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_parental_controls.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_product_page.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_screen.rb +0 -74
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_search.rb +0 -29
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_settings.rb +0 -189
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_tv_shows.rb +0 -24
- data/lib/User_Lib/screen/samsung_tv/samsung_tv_video_store.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_dvr.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_guide.rb +0 -43
- data/lib/User_Lib/screen/sara/sara_library.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_live_tv.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_log_in.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_main_menu.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_mini_guide.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_movies.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_on_demand.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_parental_controls.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_product_page.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_screen.rb +0 -24
- data/lib/User_Lib/screen/sara/sara_search.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_settings.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_tv_shows.rb +0 -26
- data/lib/User_Lib/screen/sara/sara_video_store.rb +0 -26
- data/lib/User_Lib/screen/stb/iguide/iguide_devices.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_dvr.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_favorites.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_guide.rb +0 -39
- data/lib/User_Lib/screen/stb/iguide/iguide_home.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_library.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_live_tv.rb +0 -59
- data/lib/User_Lib/screen/stb/iguide/iguide_login.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_mini_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_movies.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_on_demand.rb +0 -531
- data/lib/User_Lib/screen/stb/iguide/iguide_parental_controls.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_privacy_legal.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_product_page.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_quick_menu.rb +0 -7
- data/lib/User_Lib/screen/stb/iguide/iguide_screen.rb +0 -21
- data/lib/User_Lib/screen/stb/iguide/iguide_search.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_tv_shows.rb +0 -10
- data/lib/User_Lib/screen/stb/iguide/iguide_video_store.rb +0 -10
- data/lib/User_Lib/screen/stb/login_stb.rb +0 -5
- data/lib/User_Lib/screen/stb/odn/odn_dvr.rb +0 -59
- data/lib/User_Lib/screen/stb/odn/odn_favorites.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_guide.rb +0 -177
- data/lib/User_Lib/screen/stb/odn/odn_live_tv.rb +0 -115
- data/lib/User_Lib/screen/stb/odn/odn_login.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_main_menu.rb +0 -175
- data/lib/User_Lib/screen/stb/odn/odn_on_demand.rb +0 -1170
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_kids.rb +0 -23
- data/lib/User_Lib/screen/stb/odn/odn_on_demand_left_menu.rb +0 -180
- data/lib/User_Lib/screen/stb/odn/odn_parental_controls.rb +0 -9
- data/lib/User_Lib/screen/stb/odn/odn_product_page.rb +0 -8
- data/lib/User_Lib/screen/stb/odn/odn_screen.rb +0 -111
- data/lib/User_Lib/screen/stb/odn/odn_search.rb +0 -167
- data/lib/User_Lib/screen/stb/odn/odn_settings.rb +0 -142
- data/lib/User_Lib/screen/stb/spectrum/spectrum_diagnostics.rb +0 -27
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/screen_spectrum_docsis.rb +0 -12
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_guide.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_main_menu.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_docsis/spectrum_1080_docsis_settings.rb +0 -10
- data/lib/User_Lib/screen/stb/spectrum/spectrum_dvr.rb +0 -1781
- data/lib/User_Lib/screen/stb/spectrum/spectrum_guide.rb +0 -841
- data/lib/User_Lib/screen/stb/spectrum/spectrum_library.rb +0 -384
- data/lib/User_Lib/screen/stb/spectrum/spectrum_live_tv.rb +0 -259
- data/lib/User_Lib/screen/stb/spectrum/spectrum_main_menu.rb +0 -223
- data/lib/User_Lib/screen/stb/spectrum/spectrum_mini_guide.rb +0 -404
- data/lib/User_Lib/screen/stb/spectrum/spectrum_movies.rb +0 -420
- data/lib/User_Lib/screen/stb/spectrum/spectrum_netflix.rb +0 -37
- data/lib/User_Lib/screen/stb/spectrum/spectrum_on_demand.rb +0 -2137
- data/lib/User_Lib/screen/stb/spectrum/spectrum_parental_controls.rb +0 -528
- data/lib/User_Lib/screen/stb/spectrum/spectrum_pay_per_view.rb +0 -26
- data/lib/User_Lib/screen/stb/spectrum/spectrum_product_page.rb +0 -58
- data/lib/User_Lib/screen/stb/spectrum/spectrum_screen.rb +0 -48
- data/lib/User_Lib/screen/stb/spectrum/spectrum_search.rb +0 -92
- data/lib/User_Lib/screen/stb/spectrum/spectrum_settings.rb +0 -1657
- data/lib/User_Lib/screen/stb/spectrum/spectrum_tv_shows.rb +0 -1532
- data/lib/User_Lib/screen/stb/spectrum/spectrum_video_store.rb +0 -1598
- data/lib/User_Lib/screen/stb/stb_screen.rb +0 -7
- data/lib/User_Lib/screen/tivo/tivo_dvr.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_library.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_live_tv.rb +0 -17
- data/lib/User_Lib/screen/tivo/tivo_login.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_main_menu.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_mini_guide.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_movies.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_on_demand.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_parental_controls.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_product_page.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_screen.rb +0 -20
- data/lib/User_Lib/screen/tivo/tivo_search.rb +0 -31
- data/lib/User_Lib/screen/tivo/tivo_settings.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_tv_shows.rb +0 -25
- data/lib/User_Lib/screen/tivo/tivo_video_store.rb +0 -25
- data/lib/diagnostics/conductor/conductor_checkup.tmc +0 -24
- data/lib/diagnostics/db/mad_db_check.tmc +0 -56
- data/lib/diagnostics/db/mas_db_checkup.tmc +0 -24
- data/lib/diagnostics/db/mas_db_checkup_gem.tmc +0 -20
- data/lib/diagnostics/db/mas_db_checkup_jar.tmc +0 -50
- data/lib/diagnostics/iguide/iguide_nvram_reset.tmc +0 -23
- data/lib/diagnostics/iguide/iguide_prepare_stb.tmc +0 -33
- data/lib/diagnostics/iguide/iguide_prepare_stb_and_health_check.tmc +0 -63
- data/lib/diagnostics/iguide/iguide_stb_health_check.tmc +0 -54
- data/lib/diagnostics/prepare_stb.tmc +0 -30
- data/lib/diagnostics/prepare_stb_and_health_check.tmc +0 -56
- data/lib/diagnostics/script_options/options_checkup.tmc +0 -145
- data/lib/diagnostics/server_components_check.tmc +0 -62
- data/lib/diagnostics/ssh/dncs_checkup.tmc +0 -24
- data/lib/diagnostics/ssh/mas_checkup.tmc +0 -24
- data/lib/diagnostics/stb_health_check.tmc +0 -46
- data/lib/diagnostics/stb_ip_check.tmc +0 -120
- data/lib/diagnostics/webservices/mas_rest_services_checkup.tmc +0 -24
- data/lib/diagnostics/webservices/mas_soap_services_checkup.tmc +0 -24
- data/lib/end_iteration.rb +0 -4
- data/lib/lib/test_wrapper.rb +0 -146
- data/lib/run_test.rb +0 -4
- data/lib/script_validator.rb +0 -48
@@ -1,73 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/parental_controls_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Parental Controls screen
|
5
|
-
|
6
|
-
class AndroidParentalControls < AndroidScreen
|
7
|
-
include ParentalControlsMobile
|
8
|
-
|
9
|
-
# Chooses the named parental control
|
10
|
-
def choose_control?(name)
|
11
|
-
dut.tap?({:text=> name, :type => 'android.widget.TextView'})
|
12
|
-
end
|
13
|
-
|
14
|
-
# Returns true if the prompt to create a PIN is displayed, otherwise false
|
15
|
-
def is_create_pin_prompt?
|
16
|
-
dut.element?({:name => 'com.TWCableTV:id/createPINText', :text => 'regexp:(?i-mx:create)'})
|
17
|
-
end
|
18
|
-
|
19
|
-
# Returns true if the prompt to confirm a new PIN is displayed, otherwise false
|
20
|
-
def is_confirm_pin_prompt?
|
21
|
-
dut.element?({:name => 'com.TWCableTV:id/createPINText', :text => 'regexp:(?i-mx:confirm)'})
|
22
|
-
end
|
23
|
-
|
24
|
-
# Returns true if successfully chose to reset PIN, otherwise false
|
25
|
-
def choose_reset_pin?
|
26
|
-
dut.tap?({:name => 'com.TWCableTV:id/resetPinButton'})
|
27
|
-
end
|
28
|
-
|
29
|
-
# Returns true if successfully continued to reset PIN, otherwise false
|
30
|
-
def continue_reset_pin?
|
31
|
-
choose_reset_pin?
|
32
|
-
end
|
33
|
-
|
34
|
-
# Returns true if successfully typed password, otherwise false
|
35
|
-
def enter_password?(password=nil)
|
36
|
-
dut.type?({:keys => password || $password || dut.password})
|
37
|
-
end
|
38
|
-
|
39
|
-
# Returns true if the password prompt is displayed, otherwise false
|
40
|
-
def is_password_prompt?
|
41
|
-
dut.element(:name => 'com.TWCableTV:id/passwordHeaderText') != nil
|
42
|
-
end
|
43
|
-
|
44
|
-
# Returns true if the Channel Blocking page is displayed, otherwise false
|
45
|
-
def is_channel_block_visible?
|
46
|
-
dut.element?({:name => 'com.TWCableTV:id/channelBlockHeaderText',
|
47
|
-
:text => 'Turning Channel Block on will allow you to block any network selected below'})
|
48
|
-
end
|
49
|
-
|
50
|
-
# Returns true if successfully enabled parental controls, otherwise false
|
51
|
-
def enable?
|
52
|
-
dut.tap?({:name => 'com.TWCableTV:id/parentalControlsToggleButton', :text => 'Parental Controls OFF',
|
53
|
-
:timeout => 5.sec})
|
54
|
-
end
|
55
|
-
|
56
|
-
# Returns true if parental controls is currently enabled, otherwise false
|
57
|
-
def enabled?
|
58
|
-
dut.element?({:name => 'com.TWCableTV:id/parentalControlsToggleButton', :text => 'Parental Controls ON',
|
59
|
-
:timeout => 5.sec})
|
60
|
-
end
|
61
|
-
|
62
|
-
# Returns true if the password was invalid, otherwise false
|
63
|
-
def is_password_invalid?
|
64
|
-
dut.element?({:name => 'com.TWCableTV:id/invalidPassword'})
|
65
|
-
end
|
66
|
-
|
67
|
-
# Returns true if successfully selected option to cancel PIN reset, otherwise false
|
68
|
-
def cancel_reset_pin?
|
69
|
-
return false unless dut.back?
|
70
|
-
dut.back?
|
71
|
-
end
|
72
|
-
|
73
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_dvr'
|
2
|
-
|
3
|
-
class AndroidPhoneDvr < AndroidDvr
|
4
|
-
|
5
|
-
# Public: Navigates out of and back into the DVR Series Manager
|
6
|
-
#
|
7
|
-
# Returns true if it successfully navigates out of and back into the Series Manager
|
8
|
-
def restart_series_manager?
|
9
|
-
dut.tap?({:text => 'Home'})
|
10
|
-
logger.info("On Home, navigating back to DVR Manager")
|
11
|
-
sleep(15000)
|
12
|
-
tcfail("Failed to navigate to DVR Manager!") unless dut.tap?({:name => 'com.TWCableTV:id/homeDvr'})
|
13
|
-
logger.info("Tapping on Series Manager tab")
|
14
|
-
tcfail("Failed to tap on Series Manager tab") unless dut.tap?({:name => 'com.TWCableTV:id/seriesPriority'})
|
15
|
-
sleep(30000)
|
16
|
-
end
|
17
|
-
|
18
|
-
# Public: Navigates out of and back into the Series Manager scheduled tab
|
19
|
-
#
|
20
|
-
# Returns true if it successfully navigates out of and back into the Series Manager scheduled tab
|
21
|
-
def restart_scheduled_tab?
|
22
|
-
dut.tap?({:text => 'Home'})
|
23
|
-
logger.info("On Home, navigating back to DVR Manager")
|
24
|
-
sleep(15000)
|
25
|
-
tcfail("Failed to navigate to DVR Manager!") unless dut.tap?({:name => 'com.TWCableTV:id/homeDvr'})
|
26
|
-
logger.info("Tapping on Scheduled tab")
|
27
|
-
tcfail("Failed to tap on Scheduled tab") unless dut.tap?({:name => 'com.TWCableTV:id/scheduled'})
|
28
|
-
sleep(30000)
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_guide'
|
2
|
-
|
3
|
-
class AndroidPhoneGuide < AndroidGuide
|
4
|
-
|
5
|
-
# Look for Home button
|
6
|
-
def home_button_exists?
|
7
|
-
return dut.element?({:text => 'Home'})
|
8
|
-
end
|
9
|
-
|
10
|
-
# Tap on Home button
|
11
|
-
def tap_home_button?
|
12
|
-
return dut.tap?({:text => 'Home'})
|
13
|
-
end
|
14
|
-
|
15
|
-
# Navigate to Main Menu
|
16
|
-
def navigate_to_main_menu?
|
17
|
-
if dut.element?({:description => 'Open navigation drawer'})
|
18
|
-
logger.info("Navigation drawer visible")
|
19
|
-
return dut.element?({:description => 'Open navigation drawer'})
|
20
|
-
else
|
21
|
-
logger.info("Navigation drawer not visible, tapping back button")
|
22
|
-
dut.back?()
|
23
|
-
sleep(5000)
|
24
|
-
if dut.element?({:description => 'Open navigation drawer'})
|
25
|
-
logger.info("Navigation drawer still not visible")
|
26
|
-
return dut.element?({:description => 'Open navigation drawer'})
|
27
|
-
else
|
28
|
-
logger.info("Navigation drawer visible")
|
29
|
-
return dut.element?({:description => 'Open navigation drawer'})
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
# Taps the button to select filter
|
35
|
-
def go_to_filter?
|
36
|
-
return dut.tap?({:name => 'com.TWCableTV:id/channel_filter_spinner'})
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,104 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_live_tv'
|
2
|
-
|
3
|
-
# Defines Android Phone-specific methods on the Live TV screen
|
4
|
-
|
5
|
-
class AndroidPhoneLiveTv < AndroidLiveTv
|
6
|
-
|
7
|
-
# Gets the name of the currently-playing show
|
8
|
-
def get_playing_now
|
9
|
-
# Videoshowtitle disappears after a few seconds, you can get
|
10
|
-
# it back briefly by going to full screen and then back
|
11
|
-
dut.tap?({:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView'})
|
12
|
-
sleep 5.sec
|
13
|
-
dut.tap?({:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView'})
|
14
|
-
|
15
|
-
ret = dut.element({:name => 'com.TWCableTV:id/liveTv2VideoShowTitle', :timeout => 60.sec, :info => [:text]})
|
16
|
-
logger.info("Playing now: #{ret}")
|
17
|
-
ret
|
18
|
-
end
|
19
|
-
|
20
|
-
# Returns the element for the video area
|
21
|
-
def video_area
|
22
|
-
dut.element({:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView', :info => [:x, :y, :width, :height]})
|
23
|
-
end
|
24
|
-
|
25
|
-
# Returns true if successfully tapped the playing Live TV video content, otherwise false
|
26
|
-
def tap_video?
|
27
|
-
dut.tap?({:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView'})
|
28
|
-
end
|
29
|
-
|
30
|
-
def cancel_fullscreen?
|
31
|
-
super
|
32
|
-
dut.rotate_portrait?
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
# Attempts to "watch" n channels by just clicking on them. Returns a list of the watched show titles if successful,
|
37
|
-
# otherwise fails the test.
|
38
|
-
#
|
39
|
-
# override n for android phone. Arguably I should test for phone in the test
|
40
|
-
# and do this there, or specialize how the phone watch_channels works,
|
41
|
-
# but this should still work pretty well.
|
42
|
-
|
43
|
-
def watch_channels(n, args={})
|
44
|
-
n = 4
|
45
|
-
logger.info("-------------------------------------------------------")
|
46
|
-
logger.info("Android phone watch channels");
|
47
|
-
logger.info("-------------------------------------------------------")
|
48
|
-
watched = args.fetch(:already_watched, [])
|
49
|
-
timeout_s = args.fetch(:timeout, 300.sec) / 1000
|
50
|
-
start_time = Time.now
|
51
|
-
while (Time.now - start_time) <= timeout_s
|
52
|
-
chans = dut.elements({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle'}).map {|title| title[:text]}
|
53
|
-
# Watch all the visible chans
|
54
|
-
chans.each do |chan|
|
55
|
-
next if watched.include?(chan) # no need to watch the same channel twice
|
56
|
-
if !dismissed_hint? && dut.tap?({:name => 'com.TWCableTV:id/liveTv2HintText1', :timeout => 0.sec})
|
57
|
-
dismissed_hint = true # this is a setter method, keep it!
|
58
|
-
loginfo2('Dismissed hint')
|
59
|
-
end
|
60
|
-
y_pct = chan == chans.first ? 0.99 : 0.01
|
61
|
-
tcfail "Failed to tap #{chan}!" unless dut.tap?({:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
62
|
-
:text => chan, :index => 1,
|
63
|
-
:y => y_pct,}, :sleep_time => 5.sec)
|
64
|
-
enter_pin_once
|
65
|
-
watched << chan
|
66
|
-
break if watched.count == n
|
67
|
-
end
|
68
|
-
break if watched.count == n
|
69
|
-
# Swipe up from the last to the 2nd channel (because the 1st one may be partially hidden under "All Channels" now)
|
70
|
-
tcfail 'Failed to swipe!' unless dut.swipe?({:from => {:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
71
|
-
:text => chans[-1],
|
72
|
-
:timeout => 10.sec},
|
73
|
-
:to=> {:name => 'com.TWCableTV:id/liveTvChannelListNowTitle',
|
74
|
-
:text => chans[1],
|
75
|
-
:timeout => 10.sec}})
|
76
|
-
end
|
77
|
-
tcfail "Failed to watch #{n} channels!" unless watched.count == n
|
78
|
-
watched
|
79
|
-
end
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
def verify_recently_watched(chan_list)
|
84
|
-
logger.info("-------------------------------------------------------")
|
85
|
-
logger.info("Android Phone Verify Recently watched")
|
86
|
-
logger.info("-------------------------------------------------------")
|
87
|
-
logger.info("Channels in passed-in channel list: ")
|
88
|
-
chan_list.each do |chan|
|
89
|
-
logger.info("#{chan.inspect}")
|
90
|
-
end
|
91
|
-
dut.swipe?({:from =>
|
92
|
-
{:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView', :x => 0.96, :y => 0.47},
|
93
|
-
:to =>
|
94
|
-
{:name => 'com.TWCableTV:id/liveTv2HorizontalScrollView', :x => 0.13, :y => 0.56}, :duration => 500})
|
95
|
-
|
96
|
-
tcfail "No recently watched channels found" unless dut.elements?({:name => "com.TWCableTV:id/showCard"})
|
97
|
-
dut.tap?({:name => 'com.TWCableTV:id/showCard', :index => 1})
|
98
|
-
playing_now_text = get_playing_now()
|
99
|
-
should_playing_text = chan_list.pop()
|
100
|
-
tcfail "Playing channel is not the channel that should be playing" unless playing_now_text == should_playing_text
|
101
|
-
|
102
|
-
end
|
103
|
-
|
104
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_main_menu'
|
2
|
-
|
3
|
-
# Defines Android Phone-specific methods on the Android Main Menu screen
|
4
|
-
|
5
|
-
class AndroidPhoneMainMenu < AndroidMainMenu
|
6
|
-
|
7
|
-
# Internal: Chooses to navigate to the screen with the given name
|
8
|
-
#
|
9
|
-
# name - Name of screen to navigate to
|
10
|
-
#
|
11
|
-
# Examples:
|
12
|
-
#
|
13
|
-
# dut.screens.main_menu.navigate_to?("Live TV")
|
14
|
-
#
|
15
|
-
# dut.screens.main_menu.navigate_to?("Settings")
|
16
|
-
#
|
17
|
-
# Returns a boolean value of true if the app successfully navigates to
|
18
|
-
# the correct screen, elser returns false
|
19
|
-
def navigate_to?(name)
|
20
|
-
return false unless super(name)
|
21
|
-
if dut.screens.live_tv.is_pin_prompt?
|
22
|
-
tcfail 'Failed to enter PIN!' unless dut.screens.live_tv.enter_pin?
|
23
|
-
end
|
24
|
-
true
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_on_demand'
|
2
|
-
|
3
|
-
# Defines Android Phone-specific methods on the On Demand screen
|
4
|
-
|
5
|
-
class AndroidPhoneOnDemand < AndroidOnDemand
|
6
|
-
|
7
|
-
# Number of assets in a row for the "featured" tab
|
8
|
-
# (May need to make portrait/landscape ones)
|
9
|
-
|
10
|
-
def featured_row_asset_count
|
11
|
-
return 4
|
12
|
-
end
|
13
|
-
|
14
|
-
def alphabet_picker_visible?
|
15
|
-
dut.element?({:name => 'com.TWCableTV:id/fastNavIndexView'})
|
16
|
-
end
|
17
|
-
|
18
|
-
def pick_alphabet?(letter)
|
19
|
-
logger.info("--- Picking #{letter} on alphabet picker")
|
20
|
-
e = dut.element({:name => 'com.TWCableTV:id/fastNavIndexView'})
|
21
|
-
tcfail "Couldn't find alphabet picker" unless nil != e
|
22
|
-
x = 0.5
|
23
|
-
max_height = e[:height]
|
24
|
-
letter_loc = letter[0] - 'A'[0] + 1.0
|
25
|
-
letter_pct = letter_loc.to_f / 27.0 # ( '#' through 'Z')
|
26
|
-
logger.info("--- max_height = #{max_height} letter_loc = #{letter_loc} letter_pct = #{letter_pct}")
|
27
|
-
y = max_height * letter_pct;
|
28
|
-
#
|
29
|
-
# This doesn't actually seem to work with int x/y coordinates or
|
30
|
-
# percentages
|
31
|
-
#
|
32
|
-
dut.tap?({:name => 'com.TWCableTV:id/fastNavIndexView', :x => x, :y => letter_pct})
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_search'
|
2
|
-
|
3
|
-
# Defines Android phone-specific methods on the Search screen
|
4
|
-
|
5
|
-
class AndroidPhoneSearch < AndroidSearch
|
6
|
-
|
7
|
-
# Public: Checks if matches were found
|
8
|
-
#
|
9
|
-
# Returns true if no matches were found, otherwise false.
|
10
|
-
def no_matches_found?
|
11
|
-
dut.element?({:name => 'com.TWCableTV:id/quickResultsLoading', :text => 'No matches found'})
|
12
|
-
end
|
13
|
-
|
14
|
-
# Public: Checks if search screen is displayed
|
15
|
-
#
|
16
|
-
# Returns true if search screen is displayed, otherwise false
|
17
|
-
def displayed?
|
18
|
-
logger.info("AndroidPhoneSearch::displayed?")
|
19
|
-
#sleep 10.sec # Tests seem to fail without this
|
20
|
-
#retval = dut.elements?({:name => 'com.TWCableTV:id/unifiedSearchText'})
|
21
|
-
retval = dut.element?({:name => 'com.TWCableTV:id/search_src_text'})
|
22
|
-
logger.info("retval == #{retval}")
|
23
|
-
return retval
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/privacy_legal_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Privacy/Legal screen
|
5
|
-
|
6
|
-
class AndroidPrivacyLegal < AndroidScreen
|
7
|
-
include PrivacyLegalMobile
|
8
|
-
|
9
|
-
# Returns true if Privacy Policy and Terms and Conditions are displayed, otherwise false
|
10
|
-
def displayed?
|
11
|
-
(dut.element?({:name => 'com.TWCableTV:id/privacyPolicyButton'}) &&
|
12
|
-
dut.element?({:name => 'com.TWCableTV:id/legalButton'}))
|
13
|
-
end
|
14
|
-
|
15
|
-
# Returns true if the named option was selected, otherwise false
|
16
|
-
def select?(option)
|
17
|
-
dut.tap?({:text => option})
|
18
|
-
end
|
19
|
-
|
20
|
-
# Fails the test unless Terms and Conditions successfully verified
|
21
|
-
def verify_terms_and_conditions
|
22
|
-
tcfail 'Failed to display Terms and Conditions!' unless is_terms_and_conditions?
|
23
|
-
end
|
24
|
-
|
25
|
-
# Returns true if Terms and Conditions is displayed, otherwise false
|
26
|
-
def is_terms_and_conditions?
|
27
|
-
dut.element?({:name => 'com.TWCableTV:id/legalHeaderText'})
|
28
|
-
end
|
29
|
-
|
30
|
-
# Returns true if able to exit Terms and Conditions, otherwise false
|
31
|
-
def quit_terms_and_conditions?
|
32
|
-
dut.tap?({:name => 'com.TWCableTV:id/phoneHeaderBackButton'})
|
33
|
-
end
|
34
|
-
|
35
|
-
# Returns true if able to cancel opening browser, otherwise false
|
36
|
-
def cancel_browser?
|
37
|
-
dut.tap?({:text => 'No'})
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns true if able to confirm opening browser, otherwise false
|
41
|
-
def confirm_browser?
|
42
|
-
dut.tap?({:text => 'Yes'})
|
43
|
-
if dut.element?({:text => 'Complete action using', :timeout => 5.sec})
|
44
|
-
# Pick "Chrome" if we see this dialog
|
45
|
-
dut.tap?({:text => 'Chrome'})
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns true if Privacy Policy is displayed, otherwise false
|
50
|
-
def is_privacy_policy?
|
51
|
-
dut.element?({:description => 'TWC PRIVACY NOTICES', :is_tappable => true, :timeout => 60.sec})
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
@@ -1,484 +0,0 @@
|
|
1
|
-
require './lib/screen/mobile/android/android_screen'
|
2
|
-
require './lib/screen/mobile/product_page_mobile'
|
3
|
-
|
4
|
-
# Defines Android-specific methods on the Product Page screen
|
5
|
-
|
6
|
-
class AndroidProductPage < AndroidScreen
|
7
|
-
include ProductPageMobile
|
8
|
-
|
9
|
-
# Returns true if the Product Page title matches the given title, otherwise false
|
10
|
-
def title?(check_title)
|
11
|
-
logger.info("Checking if title equals #{check_title.inspect}")
|
12
|
-
title == check_title
|
13
|
-
end
|
14
|
-
|
15
|
-
def title
|
16
|
-
logger.info('Getting product page title')
|
17
|
-
retval = nil
|
18
|
-
title = dut.element({:name => 'com.TWCableTV:id/minorCatName'})
|
19
|
-
if (nil != title)
|
20
|
-
retval = title.text
|
21
|
-
end
|
22
|
-
logger.info("Got title: #{retval}")
|
23
|
-
return retval
|
24
|
-
end
|
25
|
-
|
26
|
-
# Returns true if play option found, otherwise false
|
27
|
-
def playable?
|
28
|
-
# dut.element?({:name => 'com.TWCableTV:id/actionName', :text => 'regexp:^(On Demand|Resume)$'})
|
29
|
-
retval = dut.element?({:name => 'com.TWCableTV:id/actionName', :text => 'On Demand', :index => 1, :timeout => 5.sec}) || dut.element?({:name => 'com.TWCableTV:id/actionName', :index => 1, :text => 'Resume', :timeout => 5.sec})
|
30
|
-
if !retval
|
31
|
-
retval = dut.elements?({:name => 'com.TWCableTV:id/actionName', :text => 'On Demand', :timeout => 5.sec}) || dut.elements?({:name => 'com.TWCableTV:id/actionName', :text => 'Resume', :timeout => 5.sec})
|
32
|
-
end
|
33
|
-
retval
|
34
|
-
end
|
35
|
-
|
36
|
-
# Returns true if successfully started to play asset, otherwise false
|
37
|
-
def play?
|
38
|
-
# dut.tap?({:name => 'com.TWCableTV:id/actionName', :text => 'regexp:^(On Demand|Resume)$'})
|
39
|
-
dut.tap?({:name => 'com.TWCableTV:id/actionName', :text => 'On Demand', :index => 1, :timeout => 5.sec}) || dut.tap?({:name => 'com.TWCableTV:id/actionName', :text => 'Resume', :index => 1, :timeout => 5.sec})
|
40
|
-
end
|
41
|
-
|
42
|
-
# Returns true if product page, with optional title verification, is displayed, otherwise false
|
43
|
-
def displayed?(title=nil)
|
44
|
-
logger.info("--- Product page displayed? With title == #{title}")
|
45
|
-
|
46
|
-
if ! dut.element?({:name => 'com.TWCableTV:id/backgroundImage'})
|
47
|
-
logger.info("Could not find backgroundImage")
|
48
|
-
return false
|
49
|
-
end
|
50
|
-
unless title.nil?
|
51
|
-
return false unless title?(title)
|
52
|
-
end
|
53
|
-
true
|
54
|
-
end
|
55
|
-
|
56
|
-
# Returns the element for the network logo
|
57
|
-
def network_logo
|
58
|
-
logger.info('Getting network logo element')
|
59
|
-
dut.element({:name => 'com.TWCableTV:id/networkLogo'})
|
60
|
-
end
|
61
|
-
|
62
|
-
# Returns the description of the asset
|
63
|
-
def description
|
64
|
-
logger.info('Getting asset description')
|
65
|
-
desc = dut.element({:name => 'com.TWCableTV:id/description', :info => [:text]})
|
66
|
-
desc.sub!(/^rating\s*\d+\s*/, '')
|
67
|
-
logger.info("Got description: #{desc}")
|
68
|
-
desc
|
69
|
-
end
|
70
|
-
|
71
|
-
# Returns the asset rating
|
72
|
-
def rating
|
73
|
-
rating = nil
|
74
|
-
logger.info('Getting asset rating')
|
75
|
-
# OCR it from the description
|
76
|
-
desc = dut.element({:name => 'com.TWCableTV:id/description'})
|
77
|
-
# Gets a string with the ROI text in it
|
78
|
-
desc_ocr = dut.roi.text.new(:element => desc, :preprocessing => 7).retrieve
|
79
|
-
re = desc_ocr.match(/^\s*([^\s]+)/)
|
80
|
-
if (! re.nil? )
|
81
|
-
rating = desc_ocr.match(/^\s*([^\s]+)/).captures.first.upcase
|
82
|
-
logger.info("Got rating: #{rating}")
|
83
|
-
else
|
84
|
-
# Arguably I could tcfail here, but the guy writing the test
|
85
|
-
# might not want that
|
86
|
-
logger.info("Did not find rating in description")
|
87
|
-
end
|
88
|
-
rating
|
89
|
-
end
|
90
|
-
|
91
|
-
# Returns the asset release year
|
92
|
-
def year
|
93
|
-
logger.info('Getting asset release year')
|
94
|
-
desc = dut.element({:name => 'com.TWCableTV:id/releaseDate', :info => [:text]})
|
95
|
-
if desc.nil?
|
96
|
-
desc = dut.element({:name => 'com.TWCableTV:id/description', :info => [:text]})
|
97
|
-
year = desc.match(/^rating\s*(\d+)/).captures.first
|
98
|
-
else
|
99
|
-
year = desc.match(/(\d+)$/).captures.first
|
100
|
-
end
|
101
|
-
logger.info("Got year: #{year}")
|
102
|
-
begin
|
103
|
-
year.to_i
|
104
|
-
rescue => e
|
105
|
-
raise "Cannot parse year from #{year.inspect}: #{e}"
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
# Returns a list of available buttons
|
110
|
-
def buttons
|
111
|
-
logger.info('Getting buttons')
|
112
|
-
buttons = until_not_empty(:timeout => 2.min) do
|
113
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/actionName'})
|
114
|
-
if (elems.empty?)
|
115
|
-
scroll_down_a_little()
|
116
|
-
else
|
117
|
-
elems = elems.map { |b| b[:text] }
|
118
|
-
logger.info("Got buttons: #{elems.inspect}")
|
119
|
-
end
|
120
|
-
elems
|
121
|
-
end
|
122
|
-
buttons
|
123
|
-
end
|
124
|
-
|
125
|
-
# Returns the scroll area
|
126
|
-
def scroll_area
|
127
|
-
logger.info('Getting product page scroll area')
|
128
|
-
area = dut.element({:name => 'regexp:com.TWCableTV:id/(scrollView|viewPager)'})
|
129
|
-
logger.info("Got area: #{[area[:x], area[:y], area[:width], area[:height]].inspect}")
|
130
|
-
area
|
131
|
-
end
|
132
|
-
|
133
|
-
# Returns the list of visible cast and crew
|
134
|
-
def cast_and_crew
|
135
|
-
scrolled_down = 0
|
136
|
-
logger.info('Getting cast and crew')
|
137
|
-
viewport = scroll_area
|
138
|
-
cast_crew = until_not_empty do
|
139
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/crewName', :timeout => 10.sec})
|
140
|
-
# Scroll until we find the cast and crew
|
141
|
-
if elems.empty?
|
142
|
-
logger.info("Scrolling down to try to find cast and crew...")
|
143
|
-
scrolled_down = scrolled_down + 1
|
144
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
145
|
-
end
|
146
|
-
elems
|
147
|
-
end
|
148
|
-
cast_crew = cast_crew.map { |b| b[:text] }
|
149
|
-
logger.info("Got cast and crew: #{cast_crew.inspect}")
|
150
|
-
if (scrolled_down > 0)
|
151
|
-
scroll_up_a_little()
|
152
|
-
end
|
153
|
-
cast_crew
|
154
|
-
end
|
155
|
-
|
156
|
-
# Returns the director's name
|
157
|
-
def director
|
158
|
-
detail('Director')
|
159
|
-
end
|
160
|
-
|
161
|
-
# Returns the runtime
|
162
|
-
def runtime
|
163
|
-
rt_ms = 0
|
164
|
-
rt = detail('Runtime')
|
165
|
-
return nil if rt.nil?
|
166
|
-
hr = rt.match(/(\d+)\s*hr/)
|
167
|
-
if hr
|
168
|
-
rt_ms += hr.captures.first.to_i.hr
|
169
|
-
end
|
170
|
-
min = rt.match(/(\d+)\s*min/)
|
171
|
-
if min
|
172
|
-
rt_ms += min.captures.first.to_i.min
|
173
|
-
end
|
174
|
-
rt_ms > 0 ? rt_ms : nil
|
175
|
-
end
|
176
|
-
|
177
|
-
# Returns the list of genres
|
178
|
-
def genres
|
179
|
-
genres = detail('Genres')
|
180
|
-
return nil if genres.nil?
|
181
|
-
genres.split(/,\s*/)
|
182
|
-
end
|
183
|
-
|
184
|
-
# Returns the list of details related to format
|
185
|
-
def formats
|
186
|
-
details.reject { |d| d.eql?('CC') }
|
187
|
-
end
|
188
|
-
|
189
|
-
# Returns true if closed captioning is available, otherwise false
|
190
|
-
def cc?
|
191
|
-
details.include?('CC')
|
192
|
-
end
|
193
|
-
|
194
|
-
# Returns the list of details
|
195
|
-
def details
|
196
|
-
(detail('Details') || []).split(/,\s*/)
|
197
|
-
end
|
198
|
-
|
199
|
-
# Returns the expiration date
|
200
|
-
def available_until
|
201
|
-
detail('Available until')
|
202
|
-
end
|
203
|
-
|
204
|
-
def scroll_down_a_little
|
205
|
-
logger.info("--- Scrolling down a little ---")
|
206
|
-
dut.swipe?({:from => {:x => 590, :y => 1577, :coordinates => true}, :to => {:x => 610, :y => 990, :coordinates => true}, :duration => 500})
|
207
|
-
end
|
208
|
-
|
209
|
-
def scroll_up_a_little
|
210
|
-
logger.info("--- Scrolling up a little ---")
|
211
|
-
dut.swipe?({:from => {:x => 573, :y => 713, :coordinates => true}, :to => {:x => 590, :y => 1203, :coordinates => true}, :duration => 500})
|
212
|
-
end
|
213
|
-
|
214
|
-
# Returns the value of the given asset detail, i.e. "Director", "Genres", etc.
|
215
|
-
def detail(name)
|
216
|
-
scrolled_down = 0
|
217
|
-
logger.info("Getting detail: #{name}")
|
218
|
-
# Scroll until we find the desired detail, metacritic rating, common sense rating, or related to
|
219
|
-
viewport = scroll_area
|
220
|
-
until_equals(true, :timeout => 2.min) do
|
221
|
-
if dut.element?({:name => 'com.TWCableTV:id/metacriticRating', :text => name, :timeout => 0.sec}) ||
|
222
|
-
dut.element?({:name => 'com.TWCableTV:id/metacriticRating', :timeout => 0.sec}) ||
|
223
|
-
dut.element?({:name => 'com.TWCableTV:id/commonSenseRating', :timeout => 0.sec}) ||
|
224
|
-
dut.element?({:name => 'com.TWCableTV:id/relatedLabel', :timeout => 0.sec}) ||
|
225
|
-
dut.element({:name => 'com.TWCableTV:id/unifiedAttributeName', :text => name, :timeout => 0.sec})
|
226
|
-
true
|
227
|
-
else
|
228
|
-
logger.info("Scrolling down to find detail: #{name}")
|
229
|
-
scrolled_down = scrolled_down + 1
|
230
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
231
|
-
false
|
232
|
-
end
|
233
|
-
end
|
234
|
-
visible_details = dut.elements({:name => 'com.TWCableTV:id/unifiedAttributeName', :info => [:text]})
|
235
|
-
i = visible_details.index(name)
|
236
|
-
return if i.nil?
|
237
|
-
visible_values = dut.elements({:name => 'com.TWCableTV:id/unifiedAttributeValue', :info => [:text]})
|
238
|
-
value = visible_values[i]
|
239
|
-
logger.info("Got #{name}: #{value}")
|
240
|
-
if (scrolled_down > 0)
|
241
|
-
scroll_up_a_little()
|
242
|
-
end
|
243
|
-
value
|
244
|
-
end
|
245
|
-
|
246
|
-
# Returns the Common Sense rating
|
247
|
-
def common_sense_rating
|
248
|
-
logger.info('Getting Common Sense rating')
|
249
|
-
scrolled_down = 0
|
250
|
-
# Scroll until we find common sense rating or related to
|
251
|
-
viewport = scroll_area
|
252
|
-
csr = nil
|
253
|
-
until_equals(true, :timeout => 2.min) do
|
254
|
-
csr = dut.element({:name => 'com.TWCableTV:id/commonSenseRating', :is_on_screen => true, :timeout => 0.sec})
|
255
|
-
if csr || dut.element?({:name => 'com.TWCableTV:id/relatedLabel', :timeout => 0.sec})
|
256
|
-
true
|
257
|
-
else
|
258
|
-
scrolled_down = scrolled_down + 1
|
259
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
260
|
-
false
|
261
|
-
end
|
262
|
-
end
|
263
|
-
return nil if csr.nil?
|
264
|
-
csr = dut.roi.text.new(:element => csr, :preprocessing => 8).retrieve.strip
|
265
|
-
logger.info("Got Common Sense rating: #{csr.inspect}")
|
266
|
-
if (scrolled_down > 0)
|
267
|
-
scroll_up_a_little()
|
268
|
-
end
|
269
|
-
csr
|
270
|
-
end
|
271
|
-
|
272
|
-
# Returns the Metacritic rating
|
273
|
-
def metacritic_rating
|
274
|
-
logger.info('Getting Metacritic rating')
|
275
|
-
scrolled_down = 0
|
276
|
-
# Scroll until we find metacritic rating, common sense rating, or related to
|
277
|
-
viewport = scroll_area
|
278
|
-
mcr = nil
|
279
|
-
until_equals(true, :timeout => 2.min) do
|
280
|
-
mcr = dut.element({:name => 'com.TWCableTV:id/metacriticRating', :is_on_screen => true, :timeout => 0.sec})
|
281
|
-
if mcr || dut.element?({:name => 'com.TWCableTV:id/commonSenseRating', :timeout => 0.sec}) ||
|
282
|
-
dut.element?({:name => 'com.TWCableTV:id/relatedLabel', :timeout => 0.sec})
|
283
|
-
true
|
284
|
-
else
|
285
|
-
scrolled_down = scrolled_down + 1
|
286
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
287
|
-
false
|
288
|
-
end
|
289
|
-
end
|
290
|
-
if (scrolled_down > 0)
|
291
|
-
scroll_up_a_little()
|
292
|
-
end
|
293
|
-
return nil if mcr.nil?
|
294
|
-
mcr = dut.roi.text.new(:element => mcr, :preprocessing => 18, :threshold => 35).retrieve.scan(/\d+/).first.to_i
|
295
|
-
logger.info("Got Metacritic rating: #{mcr.inspect}")
|
296
|
-
mcr
|
297
|
-
end
|
298
|
-
|
299
|
-
# Returns true if related titles are shown, otherwise false
|
300
|
-
def related_to?
|
301
|
-
logger.info('Checking if related titles are shown')
|
302
|
-
scrolled_down = 0
|
303
|
-
viewport = scroll_area
|
304
|
-
related_to = until_not_empty(:timeout => 1.min) do
|
305
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/relatedShowCard', :timeout => 10.sec})
|
306
|
-
# Scroll until we find related titles
|
307
|
-
if elems.empty?
|
308
|
-
scrolled_down = scrolled_down + 1
|
309
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
310
|
-
end
|
311
|
-
elems
|
312
|
-
end
|
313
|
-
if (scrolled_down > 0)
|
314
|
-
scroll_up_a_little()
|
315
|
-
end
|
316
|
-
!related_to.empty?
|
317
|
-
end
|
318
|
-
|
319
|
-
# Returns true if other ways to watch are shown, otherwise false
|
320
|
-
def ways_to_watch?
|
321
|
-
logger.info('Checking if other ways to watch are shown')
|
322
|
-
scrolled_down = 0
|
323
|
-
viewport = scroll_area
|
324
|
-
wtw = until_not_empty(:timeout => 1.min) do
|
325
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/owtwType', :timeout => 10.sec})
|
326
|
-
# Scroll until we find other ways to watch
|
327
|
-
if elems.empty?
|
328
|
-
tcfail 'Failed to scroll!' unless scroll_down_a_little()
|
329
|
-
scrolled_down = scrolled_down + 1
|
330
|
-
end
|
331
|
-
elems
|
332
|
-
end
|
333
|
-
if (scrolled_down > 0)
|
334
|
-
scroll_up_a_little()
|
335
|
-
end
|
336
|
-
!wtw.empty?
|
337
|
-
end
|
338
|
-
|
339
|
-
# Returns true if Episodes button is present, otherwise false
|
340
|
-
def episodes_button?
|
341
|
-
logger.info('Checking for Episodes button')
|
342
|
-
|
343
|
-
# Scroll up until the Episodes button is visible
|
344
|
-
viewport = scroll_area
|
345
|
-
until_equals(true, :timeout => 2.min) do
|
346
|
-
found = dut.element?({:text => 'Episodes', :type => 'android.widget.TextView'})
|
347
|
-
unless found
|
348
|
-
dut.screens.product_page.scroll_up?(1, :area => viewport)
|
349
|
-
end
|
350
|
-
found
|
351
|
-
end
|
352
|
-
end
|
353
|
-
|
354
|
-
# Returns true if Info button is present, otherwise false
|
355
|
-
def info_button?
|
356
|
-
logger.info('Checking for Info button')
|
357
|
-
# Scroll up until the Info button is visible
|
358
|
-
viewport = scroll_area
|
359
|
-
until_equals(true, :timeout => 2.min) do
|
360
|
-
found = dut.element?({:text => 'Info', :type => 'android.widget.TextView'})
|
361
|
-
unless found
|
362
|
-
dut.screens.product_page.scroll_up?(1, :area => viewport)
|
363
|
-
end
|
364
|
-
found
|
365
|
-
end
|
366
|
-
end
|
367
|
-
|
368
|
-
# Returns true if the Episodes is selected, otherwise false
|
369
|
-
def episodes_selected?
|
370
|
-
logger.info('Checking if Episodes is selected')
|
371
|
-
# Scroll up until the Episodes button is visible
|
372
|
-
viewport = scroll_area
|
373
|
-
until_equals(true, :timeout => 2.min) do
|
374
|
-
button = dut.element({:text => 'Episodes', :type => 'android.widget.TextView'})
|
375
|
-
if button.nil?
|
376
|
-
dut.screens.product_page.scroll_up?(1, :area => viewport)
|
377
|
-
false
|
378
|
-
else
|
379
|
-
return button[:is_selected]
|
380
|
-
end
|
381
|
-
end
|
382
|
-
false
|
383
|
-
end
|
384
|
-
|
385
|
-
# Returns the names of the visible episodes
|
386
|
-
def episode_titles
|
387
|
-
logger.info('Getting visible episode titles')
|
388
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/episodeTitle'})
|
389
|
-
titles = elems.map { |e| e[:text] }
|
390
|
-
logger.info("Got visible episode titles: #{titles.inspect}")
|
391
|
-
titles
|
392
|
-
end
|
393
|
-
|
394
|
-
# Returns the airing types of the visible episodes
|
395
|
-
def episode_airing_types
|
396
|
-
logger.info('Getting visible episode airing types')
|
397
|
-
elems = dut.elements({:name => 'regexp:^com.TWCableTV:id/(airingText|episodeRowProgressBar)$'})
|
398
|
-
airtypes = elems.map { |e| e[:text].empty? ? 'IN PROGRESS' : e[:text] }
|
399
|
-
logger.info("Got visible episode airing types: #{airtypes.inspect}")
|
400
|
-
airtypes
|
401
|
-
end
|
402
|
-
|
403
|
-
# Returns the airing dates of the visible episodes
|
404
|
-
def episode_airing_dates
|
405
|
-
logger.info('Getting visible episode airing dates')
|
406
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/episodeAiringTime'})
|
407
|
-
airdates = elems.map { |e| e[:text] }
|
408
|
-
logger.info("Got visible episode airing dates: #{airdates.inspect}")
|
409
|
-
airdates
|
410
|
-
end
|
411
|
-
|
412
|
-
# Returns the numbers of the visible episodes
|
413
|
-
def episode_numbers
|
414
|
-
logger.info('Getting visible episode numbers')
|
415
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/episodeNumber'})
|
416
|
-
nums = elems.map { |e| e[:text].delete('.').to_i }
|
417
|
-
logger.info("Got visible episode numbers: #{nums.inspect}")
|
418
|
-
nums
|
419
|
-
end
|
420
|
-
|
421
|
-
# Returns the names of the visible seasons
|
422
|
-
def seasons
|
423
|
-
logger.info('Getting visible seasons')
|
424
|
-
elems = dut.elements({:name => 'com.TWCableTV:id/seasonHeader'})
|
425
|
-
seasons = elems.map { |e| e[:text].upcase }
|
426
|
-
logger.info("Got visible seasons: #{seasons.inspect}")
|
427
|
-
seasons
|
428
|
-
end
|
429
|
-
|
430
|
-
# Returns the visible episode description, or nil if there isn't one
|
431
|
-
def episode_description
|
432
|
-
logger.info('Getting visible episode description')
|
433
|
-
elem = dut.element({:name => 'com.TWCableTV:id/episodeDescription'})
|
434
|
-
return nil if elem.nil?
|
435
|
-
desc = elem[:text]
|
436
|
-
logger.info("Got visible episode description: #{desc}")
|
437
|
-
desc
|
438
|
-
end
|
439
|
-
|
440
|
-
# Returns true if successfully selected "Other" / "Other Ways to Watch" button, otherwise false
|
441
|
-
def select_other?
|
442
|
-
logger.info('Selecting "Other" / "Other Ways to Watch" button')
|
443
|
-
dut.tap?({:name => 'com.TWCableTV:id/actionName', :text => 'regexp:^Other( Ways to Watch)?'})
|
444
|
-
end
|
445
|
-
|
446
|
-
# Returns true if the "Watch Here" button is present in the "Other Ways to Watch" menu
|
447
|
-
def watch_here_button?
|
448
|
-
logger.info('Checking if "Watch Here" button is present')
|
449
|
-
dut.element?({:name => 'com.TWCableTV:id/otherWaysToWatchColumnHeader2', :text => 'Watch Here', :timeout => 10.sec})
|
450
|
-
end
|
451
|
-
|
452
|
-
# Returns true if the "Watch on TV" button is present in the "Other Ways to Watch" menu
|
453
|
-
def watch_on_tv_button?
|
454
|
-
logger.info('Checking if "Watch on TV" button is present')
|
455
|
-
dut.element?({:name => 'com.TWCableTV:id/otherWaysToWatchColumnHeader2', :text => 'Watch on TV', :timeout => 10.sec})
|
456
|
-
end
|
457
|
-
|
458
|
-
# Returns true if successfully selected "Info", otherwise false
|
459
|
-
def select_info?
|
460
|
-
logger.info('Selecting "Info"')
|
461
|
-
viewport = scroll_area
|
462
|
-
until_equals(true, :timeout => 5.min) do
|
463
|
-
dut.screens.product_page.scroll_up?(1, :area => viewport)
|
464
|
-
dut.screens.product_page.info_button?
|
465
|
-
end
|
466
|
-
dut.tap?({:type => 'android.widget.TextView', :text => 'Info'})
|
467
|
-
end
|
468
|
-
|
469
|
-
# Returns the number of episodes available
|
470
|
-
def episodes_available
|
471
|
-
logger.info('Getting number of available episodes')
|
472
|
-
elem = dut.element({:name => 'com.TWCableTV:id/episodesAvailable'})
|
473
|
-
num = elem[:text].match(/^\d+/).to_s.to_i
|
474
|
-
logger.info("Got number of available episodes: #{num}")
|
475
|
-
num
|
476
|
-
end
|
477
|
-
|
478
|
-
# Returns true if successfully selected random Cast or Crew, otherwise false
|
479
|
-
def select_random_cast_and_crew?
|
480
|
-
logger.info('Selecting random Cast and Crew member')
|
481
|
-
dut.tap?({:name => 'com.TWCableTV:id/crewImage', :index => rand(cast_and_crew.count) + 1})
|
482
|
-
end
|
483
|
-
|
484
|
-
end
|