| #!/usr/bin/env python3.4 |
| # |
| # Copyright 2022 - Google |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| |
| import time |
| from acts import asserts |
| from acts import signals |
| from acts.test_decorators import test_tracker_info |
| from acts.libs.utils.multithread import multithread_func |
| from acts.utils import get_current_epoch_time |
| from acts_contrib.test_utils.net import ui_utils as uutils |
| from acts_contrib.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest |
| from acts.controllers.android_lib.errors import AndroidDeviceError |
| from acts_contrib.test_utils.tel.tel_logging_utils import log_screen_shot |
| from acts_contrib.test_utils.tel.tel_logging_utils import get_screen_shot_log |
| from acts_contrib.test_utils.tel.tel_logging_utils import get_screen_shot_logs |
| from acts_contrib.test_utils.tel.tel_rcs_utils import go_to_message_app |
| from acts_contrib.test_utils.tel.tel_rcs_utils import go_to_rcs_settings |
| from acts_contrib.test_utils.tel.tel_rcs_utils import is_rcs_enabled |
| from acts_contrib.test_utils.tel.tel_rcs_utils import enable_chat_feature |
| from acts_contrib.test_utils.tel.tel_rcs_utils import disable_chat_feature |
| from acts_contrib.test_utils.tel.tel_rcs_utils import is_rcs_connected |
| |
| |
| |
| class TelLiveGFTRcsTest(TelephonyBaseTest): |
| def setup_class(self): |
| super().setup_class() |
| self.my_error_msg = "" |
| |
| def setup_test(self): |
| TelephonyBaseTest.setup_test(self) |
| for ad in self.android_devices: |
| ad.send_keycode("HOME") |
| |
| def teardown_test(self): |
| TelephonyBaseTest.teardown_test(self) |
| get_screen_shot_logs(self.android_devices) |
| |
| def teardown_class(self): |
| TelephonyBaseTest.teardown_class(self) |
| |
| |
| def test_is_single_reg_capable(self): |
| """ Tests single registration provisioning. |
| |
| """ |
| for ad in self.android_devices: |
| isRcsVolteSingleRegistrationCapable = ad.droid.isRcsVolteSingleRegistrationCapable() |
| ad.log.info("isRcsVolteSingleRegistrationCapable: %r", |
| isRcsVolteSingleRegistrationCapable) |
| |
| @TelephonyBaseTest.tel_test_wrap |
| @test_tracker_info(uuid="eb68fdc6-b070-4ba2-92f4-3dd8aca78a2b") |
| def test_rcs_enable(self): |
| """1.1.1 - First time Registration over Cellular - Successful |
| """ |
| tasks = [(enable_chat_feature, (ad,)) for ad in self.android_devices] |
| if not multithread_func(self.log, tasks): |
| raise signals.TestFailure("enable_chat_feature failure: %s" |
| %(self.my_error_msg)) |
| |
| @TelephonyBaseTest.tel_test_wrap |
| @test_tracker_info(uuid="176a0230-c35d-454d-a1f7-c706f71c5dbd") |
| def test_rcs_message(self): |
| """Sends rcs message |
| |
| Returns: |
| True if pass; False if fail |
| """ |
| try: |
| for ad in self.android_devices: |
| enable_chat_feature(ad) |
| # Go to message |
| go_to_message_app(ad) |
| time.sleep(2) |
| if uutils.has_element(ad, text="Start chat"): |
| uutils.wait_and_click(ad, text="Start chat") |
| time.sleep(2) |
| log_screen_shot(ad, "click_start_chat") |
| # input MT phone number |
| uutils.wait_and_input_text(ad, input_text=ad.mt_phone_number) |
| time.sleep(2) |
| self.log.info("input mt phone number") |
| log_screen_shot(ad, "input_message_phone_num") |
| self.log.info("select receiver") |
| # com.google.android.apps.messaging:id/contact_picker_create_group |
| uutils.wait_and_click(ad, resource_id="com.google.android.apps." |
| "messaging:id/contact_picker_create_group") |
| time.sleep(2) |
| log_screen_shot(ad, "message_select_receiver") |
| # input chat message |
| uutils.wait_and_input_text(ad, input_text="RCS test") |
| self.log.info("input rcs message") |
| time.sleep(2) |
| log_screen_shot(ad, "message_input_rcs") |
| self.log.info("click send message button") |
| uutils.wait_and_click(ad, resource_id="com.google.android.apps." |
| "messaging:id/send_message_button_icon") |
| time.sleep(2) |
| log_screen_shot(ad, "message_click_send") |
| is_rcs_connected(ad) |
| return True |
| except AndroidDeviceError: |
| return False |
| |
| |