def exit_search(serial=None): if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() if uidevice(description="Close search").exists: uidevice(description="Close search").click()
def search_by(name, serial=None, wait_time=20000): if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() uidevice(description="Search").click() uidevice( resourceId="com.google.android.apps.docs.editors.docs:id/search_text" ).set_text(name) uidevice.press(66) uidevice(resourceIdMatches=".*doc_list_syncing_spinner").wait.gone( timeout=wait_time)
def search_by(name, serial=None, wait_time=20000): if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() uidevice(description="Search").click() uidevice(resourceId="com.google.android.apps.docs:id/search_text" ).set_text(name) uidevice.press(66) uidevice(resourceIdMatches=".*doc_list_syncing_spinner").wait.gone( timeout=wait_time) # clear search history suggestions and remove keyboard by focusing # next item on the right uidevice.press(22)
def is_storage_hardware_backed(serial=None): """ description: check if developer options is enabled usage: ui_utils.is_developer_options_enabled() tags: ui, settings, developer, android """ if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() ui_steps.open_security_settings(serial=serial)() if uidevice(scrollable=True).exists: result = uidevice(scrollable=True).scroll.to(text="Hardware-backed") else: result = uidevice(text="Hardware-backed").exists uidevice.press.home() return result
def is_dut_encrypted(serial=None): """ description: check if dut is encrypted usage: ui_utils.is_dut_encrypted() tags: ui, settings, security, encrypt, android """ if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() ui_steps.open_security_settings(serial=serial)() if uidevice(scrollable=True).exists: result = uidevice(scrollable=True).scroll.to(text="Encrypted") else: result = uidevice(text="Encrypted").exists uidevice.press.home() return result
def evaluate_search(serial, keyword, wait_time=20000): """ description: Attempts a very light evaluation of the search results. Only considers the presence of a keyword in the dump xml. usage: google_search_utils.evaluate_search(serial = serial, keyword = "somestring") tags: ui, android, click, app, scroll """ if serial: uidevice = uiandroid.UIDevice(serial=serial) else: uidevice = uiandroid.UIDevice() xml_dump_lcase = uidevice.dump(compressed=False).lower() print xml_dump_lcase print xml_dump_lcase.count(keyword.lower()) return xml_dump_lcase.count(keyword.lower()) > 1 or \ uidevice(text = "Can't load search results").wait.exists(timeout = wait_time)
def check_google_account(serial = None): """ description: check if a Google account is configured on DUT. Return True if the Google account is configured. usage: gms_utils.check_google_account() tags: google account, account, google, check google """ if serial: uidevice = uiandroid.UIDevice(serial = serial) adb_connection = Adb(serial = serial) else: uidevice = uiandroid.UIDevice() adb_connection = Adb() if ( "Starting: Intent { act=android.settings.SYNC_SETTINGS }" in\ adb_connection.parse_cmd_output(\ cmd = "am start -a android.settings.SYNC_SETTINGS",\ grep_for = "Starting: Intent")): if uidevice(text = "Google").exists: uidevice.pressRecent() uidevice.wait.update() if uidevice(text = "Accounts").wait.exists(timeout = 5000): uidevice(text = "Accounts").swipe.right() return True else: uidevice.pressRecent() uidevice.wait.update() if uidevice(text = "Accounts").wait.exists(timeout = 5000): uidevice(text = "Accounts").swipe.right() return False else: print "The settings.SYNC_SETTINGS activity doesn't start" return False
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 from testlib.utils.ui import uiandroid 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 = uiandroid.UIDevice(serial=serial) 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.remove_all_google_accounts(serial=serial)() ui_steps.open_app_from_allapps(serial = serial,\ view_to_find = {"text": "Gmail"})() if uidevice(text="Got it").wait.exists(timeout=5000): ui_steps.click_button(serial = serial,\ view_to_find = {"text":"Got it"}, view_to_check = {"text": "Add an email address"})()
# @author: [email protected] # ############################################################################## import sys 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 from testlib.utils.ui import uiandroid uidevice = uiandroid.UIDevice() 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": "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)()