Esempio n. 1
0
    def check_condition(self):
        ui_steps.click_button_if_exists(serial = self.serial,\
            view_to_find = {"descriptionContains":\
            "Open navigation drawer"},wait_time = 5000)()

        ui_steps.click_button_if_exists(serial = self.serial,\
            view_to_find = {"text":"Sent"},wait_time = 5000)()
        stat = self.uidevice(descriptionContains=self.body_mail).exists
        ui_steps.close_app_from_recent(serial = self.serial,view_to_find=\
            {"text": "Gmail"})()
        return stat
    def do(self):
        # Enable auto time date
        ui_steps.enable_disable_auto_time_date(serial=self.serial,
                                               enable=True)()

        # Get the value of the DUT date via adb shell
        output = self.adb_connection.parse_cmd_output(cmd="date").strip()
        self.first_date = datetime.datetime.strptime(output, adb_shell_date_format)

        # Close Settings from recent apps
        ui_steps.close_app_from_recent(serial=self.serial,
                                       view_to_find={"text": "Settings"})()

        # Disable auto time date
        ui_steps.enable_disable_auto_time_date(serial=self.serial,
                                               enable=False)()

        # Power off device
        relay_steps.power_off_device(serial=self.serial,
                                     except_charging=True,
                                     relay_type=relay_type,
                                     relay_port=relay_port,
                                     power_port=power_port)()

        # keep the device off for 2 minutes
        for i in range(0, dut_time_off, 10):
            print "DUT SLEEPING FOR {} SECONDS".format(dut_time_off-i)
            time.sleep(10)

        # Power on device
        relay_steps.power_on_device(serial=self.serial,
                                    relay_type=relay_type,
                                    relay_port=relay_port,
                                    power_port=power_port)()
        adb_steps.wait_for_ui(serial=self.serial)()

        # Get the value of the DUT date via adb shell
        output = self.adb_connection.parse_cmd_output(cmd="date").strip()
        self.second_date = datetime.datetime.strptime(output, adb_shell_date_format)

        # Enable auto time and date
        ui_steps.wake_up_device(serial=self.serial)()
        ui_steps.unlock_device(serial=self.serial)()
        ui_steps.enable_disable_auto_time_date(serial=self.serial,
                                               enable=True)()

        # Close Settings from recent apps
        ui_steps.close_app_from_recent(serial=self.serial,
                                       view_to_find={"text": "Settings"})()
Esempio n. 3
0
    def do(self):

        ui_steps.press_home(serial=self.serial)()
        ui_steps.close_app_from_recent(serial = self.serial,view_to_find=\
            {"text": "Gmail"})()
        ui_steps.open_app_from_allapps(serial = self.serial,\
                view_to_find = {"text": "Gmail"})()
        ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\
            {"descriptionContains" : "Open navigation drawer"},\
            wait_time = 5000)()
        if ui_steps.wait_for_view(view_to_find = {"descriptionContains":\
            "Switch to "+self.account_to_switch},timeout = 20, serial = self.serial):
            ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\
            {"descriptionContains" : "Switch to "+self.account_to_switch},\
            wait_time = 5000)()
Esempio n. 4
0
    def check_condition(self):
        if (self.save_as_draft):
            ui_steps.click_button_if_exists(serial = self.serial,\
               view_to_find = {"descriptionContains":"Navigate up"})()

        ui_steps.click_button_if_exists(serial = self.serial,\
            view_to_find = {"descriptionContains":"Open navigation drawer"},\
            wait_time = 5000)()
        if (self.send_mail):
            ui_steps.click_button_if_exists(serial = self.serial,\
                view_to_find = {"text":"Sent"},wait_time = 5000)()
            stat = ui_steps.wait_for_view(serial = self.serial,\
                view_to_find = {"descriptionContains" : self.body_mail},\
                timeout =20)

        if (self.save_as_draft):
            ui_steps.click_button_if_exists(serial = self.serial,\
                view_to_find = {"text":"Drafts"},wait_time = 5000)()

            ui_steps.click_button_if_exists(serial = self.serial,\
                view_to_find = {"descriptionContains":self.body_mail},\
                wait_time = 5000)()

            ui_steps.click_button_if_exists(serial = self.serial,\
                view_to_find = {"descriptionContains":"Edit"},\
                wait_time = 5000)()

            ui_steps.edit_text(serial = self.serial,\
                    view_to_find ={"resourceId":\
                    "com.google.android.gm:id/composearea_tap_trap_bottom"},\
                    value = " new text editted")()

            stat = self.uidevice(textContains="new text editted").exists

            ui_steps.click_button_if_exists(serial = self.serial,\
               view_to_find = {"descriptionContains":"More options"})()

            ui_steps.click_button_if_exists(serial = self.serial,\
               view_to_find = {"text":"Discard"})()

            ui_steps.click_button_if_exists(serial = self.serial,\
               view_to_find = {"text":"Discard"})()

        ui_steps.close_app_from_recent(serial = self.serial,view_to_find=\
            {"text": "Gmail"})()
        return stat
Esempio n. 5
0
    def do(self):
        if self.force:
            # sending MEDIA_MOUNTED intent to have
            # video files available
            adb_steps.command(serial=self.serial,
                              command="am broadcast -a\
                android.intent.action.MEDIA_MOUNTED -d file:///storage/sdcard0/Movies",
                              timeout=10)()
            # Make sure user is signed in before opening app
            WHERE = 'name = "{0}"'.format(self.account)
            account_exists = ui_utils.google_account_exists(serial=self.serial,
                                                            where=WHERE)
            total_account_no = gms_utils.get_google_account_number(
                serial=self.serial)

            if account_exists:
                account_synced = ui_steps.sync_google_account(
                    serial=self.serial,
                    account=self.account,
                    password=self.password)()

            if (total_account_no >= 2) or (not account_exists) or (
                    account_exists and not account_synced):
                ui_steps.remove_all_google_accounts(serial=self.serial)()
                ui_steps.add_google_account_for_L(serial=self.serial,
                                                  account=self.account,
                                                  password=self.password,
                                                  prefer_sync=True)()
            #~ ui_steps.remove_all_google_accounts(serial = self.serial)()
            #~ ui_steps.add_google_account_for_L(serial = self.serial,
            #~ account = self.account, password = self.password)()
            time.sleep(2)

        # Close app before openning it to ensure first screen consistency
        ui_steps.close_app_from_recent(serial=self.serial,
                                       view_to_find={"text": "Drive"})()
        self.uidevice.wait.idle()
        ui_steps.open_app_from_allapps(
            serial=self.serial,
            view_to_find={"text": "Drive"},
            view_to_check={"packageName": "com.google.android.apps.docs"})()
        # if opened for first time
        self.uidevice.wait.idle()
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text": "Skip"})()
Esempio n. 6
0
    def do(self):
        # sending MEDIA_MOUNTED intent to have
        # video files available for Youtube app
        adb_steps.command(serial=self.serial,
                          command="am broadcast -a\
 android.intent.action.MEDIA_MOUNTED -d file:///storage/sdcard0/Movies",
                          timeout=10)()
        # Close app before openning it to ensure first screen consistency
        ui_steps.close_app_from_recent(serial=self.serial,
                                       view_to_find={"text": "YouTube"})()
        time.sleep(1)
        ui_steps.open_app_from_allapps(
            serial=self.serial,
            view_to_find={"text": "YouTube"},
            view_to_check={"packageName": "com.google.android.youtube"})()
        # if opened for first time
        time.sleep(1)
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text": "Skip"})()
        time.sleep(5)
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text": "OK"})()
Esempio n. 7
0
    def do(self):
        # sending MEDIA_MOUNTED intent to have
        # audio files available for Play Music app
        adb_steps.command(serial=self.serial,
                          command="am broadcast -a\
 android.intent.action.MEDIA_MOUNTED -d file:///storage/sdcard0/Music",
                          timeout=10)()
        # Close app before openning it to ensure first screen consistency
        ui_steps.close_app_from_recent(serial=self.serial,
                                       view_to_find={"text": "Play Music"})()
        ui_steps.press_home(serial=self.serial)()
        ui_steps.open_app_from_allapps(
            serial=self.serial,
            view_to_find={"text": "Play Music"},
            view_to_check={"packageName": "com.google.android.music"})()
        time.sleep(5)
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text":
                                                      "Use Standard"})()
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text": "Done"})()
        ui_steps.click_button_if_exists(serial=self.serial,
                                        view_to_find={"text": "Skip"})()
        ui_steps.click_button_if_exists(
            serial=self.serial, view_to_find={"description": "Navigate up"})()
        try:
            ui_steps.wait_for_view(serial=self.serial,
                                   view_to_find={"text": "Listen Now"})()
        except:
            ui_steps.click_button(
                serial=self.serial,
                view_to_find={"description": "Show navigation drawer"},
                view_to_check={"text": "Listen Now"})()
            ui_steps.click_button(serial=self.serial,
                                  view_to_find={"text": "Listen Now"},
                                  view_to_check={"text": "Listen Now"})()
Esempio n. 8
0
from testlib.scripts.gms.Gmail import gmail_steps
from testlib.scripts.gms import gms_utils

from testlib.base.base_utils import get_args
from testlib.scripts.android.adb import adb_utils
from testlib.utils.ui.uiandroid import UIDevice as ui_device

args = get_args(sys.argv)
globals().update(vars(args))
globals().update(eval(script_args[0]))
adb_steps.connect_device(serial=serial)()
globals().update({"version": adb_utils.get_android_version()})

uidevice = ui_device(serial=serial)

ui_steps.close_app_from_recent(serial = serial,\
                view_to_find = {"text": "Sheets"})()

if (gms_utils.get_google_account_number(serial=serial) == 0):
    ui_steps.add_google_account_for_L(serial = serial,version = "L",\
                 account = account,
                 password = password)()
if (gms_utils.get_google_account_number(serial=serial) > 1):
    ui_steps.remove_all_google_accounts(serial=serial)()
    ui_steps.add_google_account_for_L(serial = serial,version = "L",\
                 account = account,
                 password = password)()


ui_steps.open_app_from_allapps(serial = serial,\
                    view_to_find = {"text": "Sheets"})()
from testlib.scripts.android.adb import adb_steps
from testlib.scripts.android.ui import ui_steps
from testlib.scripts.gms.Gmail import gmail_steps
from testlib.scripts.gms import gms_utils

from testlib.base.base_utils import get_args
from testlib.scripts.android.adb import adb_utils

args = get_args(sys.argv)
globals().update(vars(args))
globals().update(eval(script_args[0]))
adb_steps.connect_device(serial=serial)()
globals().update({"version": adb_utils.get_android_version()})

ui_steps.close_app_from_recent(serial=serial, view_to_find={"text": "Gmail"})()

if (gms_utils.get_google_account_number(serial=serial) == 0):
    ui_steps.add_google_account_for_L(serial = serial,version = "L",\
                 account = account,
                 password = password, open_from_settings = True,\
                 from_gmail = False)()

ui_steps.open_app_from_allapps(serial = serial,\
                        view_to_find = {"text": "Gmail"})()


gmail_steps.compose_mail(serial = serial,\
            account_to = account_to,
            subject = "Compose mail Test",
            body_mail = "this is a test mail",
ui_steps.disable_options_from_developer_options(
    serial=serial, developer_options=["Verify apps over USB"], blocking=True)()

if adb_utils.is_prop_set(serial=serial,
                         prop="ro.board.platform",
                         value="sofia_lte"):
    adb_steps.provision_sofia(serial=serial,
                              wvkeyboxtool=wvkeyboxtool,
                              keybox=keybox)()

# Install ExoPlayer
adb_steps.install_apk(serial=serial, apk_path=widevine_apk, blocking=True)()

# Check if video plays
ui_steps.close_app_from_recent(serial=serial,
                               view_to_find={"textContains": "ExoPlayer"},
                               blocking=True)()

ui_steps.open_app_from_allapps(serial=serial,
                               view_to_find={"textContains": "ExoPlayer"})()

# Scroll down to Widevine video
ui_steps.scroll_up_to_view(
    serial=serial,
    ey=200,
    view_to_check={"textContains": "WV: HDCP not specified"})()
ui_steps.click_button(serial=serial,
                      view_to_find={"textContains":
                                    "WV: HDCP not specified"})()
ui_steps.wait_for_view(serial=serial,
                       view_to_find={"textContains": "playbackState=ready"},