def pass_through_guidlines(): uidevice = ui_device(serial=serial) app = uidevice(className='android.widget.FrameLayout') x_coord = app.info['bounds']['right'] y_coord = app.info['bounds']['left'] print x_coord print y_coord start_btn = uidevice.exists(className='android.widget.Button', textContains='START NOW') while not (start_btn): app.swipe('left') if start_btn: ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "START NOW"})() ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "OK"})() sleep(1) if uidevice.exists(className="android.widget.TextView", textContains="Internal Storage"): break clipboard = uidevice.exists(className='android.widget.Button', textContains='Clipboard') if clipboard: print "Clipboard Found"
def cam_landing_page(): btn = ['Allow', 'NEXT'] for b in btn: ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": b})() #sleep(2) return True
def remount_sdcard(): goto_Storage_Settings() ui_steps.click_button_if_exists(serial=serial, view_to_find={"textContains": "Ejected"}, view_to_check={"text": "Mount"})() ui_steps.click_button_if_exists(serial=serial, view_to_find={"textContains": "Mount"})()
def do(self): 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 =\ {"resourceId":"com.google.android.gm:id/compose_button"},\ wait_time = 2000)() #sometimes you have to wait for sync. A Wait for sync message appears: if self.uidevice(text="Waiting for sync").wait.exists(timeout=10000): #then wait for it to disappear self.uidevice(text="Waiting for sync").wait.gone(timeout=90000) ui_steps.edit_text(serial = self.serial,\ view_to_find = {"resourceId":"com.google.android.gm:id/to"}, value = self.account_to)() ui_steps.click_button_if_exists(serial = self.serial,\ view_to_find = {"text":"Compose"},wait_time = 5000)() ui_steps.edit_text(serial = self.serial,view_to_find = {"resourceId":\ "com.google.android.gm:id/subject"},\ value = self.subject)() ui_steps.edit_text(serial = self.serial,view_to_find = {"resourceId":\ "com.google.android.gm:id/body"}, value = self.body_mail)() if (self.send_mail): ui_steps.click_button_if_exists(serial = self.serial,\ view_to_find = {"resourceId":"com.google.android.gm:id/send"})() if (self.save_as_draft): 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":"Save draft"})()
def goto_Storage_Settings(): launch = "com.android.settings" dut.run_cmd('pm clear %s' % launch) dut.run_cmd('am start %s' % launch) ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "Storage & USB"}, view_to_check={"text": "Portable storage"})()
def check_condition(self): ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\ {"descriptionContains" : self.subject},wait_time = 5000)() stat = self.uidevice(textContains=self.subject).exists if self.delete: ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\ {"descriptionContains" : "Delete"},wait_time = 5000)() return stat
def do(self): ui_steps.click_button( serial=self.serial, view_to_find={"description": "Open navigation drawer"}, view_to_check={"text": "Uploads"})() ui_steps.click_button(serial=self.serial, view_to_find={"text": "Uploads"}, view_to_check={"description": "Create"})() ui_steps.click_button(serial=self.serial, view_to_find={"description": "Create"}, view_to_check={"text": "Upload"})() ui_steps.click_button( serial=self.serial, view_to_find={"text": "Upload"}, view_to_check={"packageName": "com.android.documentsui"})() ui_steps.click_button_if_exists( serial=self.serial, view_to_find={"description": "Show roots"})() ui_steps.click_button(serial=self.serial, view_to_find={"text": "Videos"}, view_to_check={"text": "Movies"})() ui_steps.show_as_list(serial=self.serial)() ui_steps.click_button(serial=self.serial, view_to_find={"text": "Movies"})() self.uidevice(resourceIdMatches = ".*toolbar").\ child(text="Movies").wait.exists(timeout = 20000) ui_steps.show_as_list(serial=self.serial)() ui_steps.click_button( serial=self.serial, view_to_find={"text": self.file_name}, view_to_check={"packageName": "com.google.android.apps.docs"})() time.sleep(60) # Go back to my drive and check the file is there ui_steps.click_button( serial=self.serial, view_to_find={"description": "Open navigation drawer"}, view_to_check={"text": "My Drive"})() ui_steps.click_button( serial=self.serial, view_to_find={"text": "My Drive"}, view_to_check={"description": "Open navigation drawer"})() drive_utils.search_by(name=self.file_name[:-4], serial=self.serial) # time.sleep(2) ui_steps.wait_for_view( serial=self.serial, view_to_find={"descriptionContains": self.file_name[:-4]})() drive_utils.exit_search(serial=self.serial)
def check_condition(self): stat = ui_steps.wait_for_view(view_to_find =\ {"descriptionContains" : self.body_mail}, timeout = 30,\ serial = self.serial)() if self.delete: ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\ {"descriptionContains" : "Delete"},wait_time = 5000)() return stat
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): 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)()
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"})()
def do(self): 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 = {"resourceId":\ "com.google.android.gm:id/compose_button"},wait_time = 2000)() ui_steps.edit_text( serial=self.serial, view_to_find={"resourceId": "com.google.android.gm:id/to"}, value=self.account_to)() ui_steps.click_button_if_exists(serial=self.serial, view_to_find={"text": "Compose"}, wait_time=5000)() ui_steps.edit_text( serial=self.serial, view_to_find={"resourceId": "com.google.android.gm:id/subject"}, value=self.subject)() ui_steps.edit_text( serial=self.serial, view_to_find={"resourceId": "com.google.android.gm:id/body"}, value=self.body_mail)() ui_steps.click_button_if_exists(serial = self.serial,\ view_to_find = {"resourceId":"com.google.android.gm:id/send"})()
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"})()
def do(self): 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)() ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\ {"text" : "Primary"},wait_time = 5000)() ui_steps.click_button_if_exists(serial = self.serial,view_to_find =\ {"descriptionContains" : self.subject},wait_time = 5000)()
def do(self): # Clear App data adb_steps.command(serial = self.serial, command = "adb shell pm clear com.intel.fmapp")() # start the FM Radio app adb_steps.am_start_command(serial = self.serial, component = "com.intel.fmapp/.MainActivity")() ui_steps.click_button_if_exists(serial = self.serial, view_to_find = {"resourceId":"android:id/button2"})() # go to Settings ui_steps.click_button(serial = self. serial, view_to_find = {"className": "android.widget.ImageButton"})() ui_steps.click_button(serial = self.serial, view_to_find = {"className": "android.widget.TextView"}, view_to_check = {"text": "Settings"})() # check or configure the RDS, TA, AF state if self.rds == "OFF" : ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable RDS"}, state = "OFF", relationship="right")() else: ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable RDS"}, state = "ON", relationship="right")() if self.ta == "OFF" : ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable TA"}, state = "OFF", relationship="right")() else: ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable TA"}, state = "ON", relationship="right")() if self.af == "OFF" : ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable AF"}, state = "OFF", relationship="right")() else: ui_steps.click_checkbox_button(serial = self.serial, view_to_find = {"text":"Enable AF"}, state = "ON", relationship="right")() ui_steps.press_back(serial = self. serial, view_to_check = {"text": "FM Radio"})() ui_steps.click_button(serial = self.serial, view_to_find = {"resourceId":"com.intel.fmapp:id/button_power"})() ui_steps.click_button_if_exists(serial = self.serial, view_to_find = {"resourceId":"android:id/button3"})() ui_steps.click_button(serial = self.serial, view_to_find = {"resourceId":"com.intel.fmapp:id/button_direct"})() ui_steps.edit_text(serial = self.serial, view_to_find = {"resourceId": "com.intel.fmapp:id/edit_frequency"}, value = self.frequency)() ui_steps.click_button_if_exists(serial = self.serial, view_to_find = {"resourceId":"android:id/button1"})() time.sleep(self.wait_time)
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"})()
view_to_find={"text": "NEXT"}, view_to_check={"text": "Must be fewer " "than " "17 " "digits"}, serial=serial)() #entering valid pin to set lock ui_steps.edit_text( view_to_find={"resourceId": "com.android.settings:id/password_entry"}, value="123456789123456", is_password=True, serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text": "NEXT"}, view_to_check={"text": "Re-enter your PIN"}, serial=serial)() ui_steps.edit_text( view_to_find={"resourceId": "com.android.settings:id/password_entry"}, value="123456789123456", is_password=True, serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text": "OK"}, view_to_check={"text": "Notifications"}, serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text": "DONE"}, serial=serial)() #remove the password ui_steps.press_home(serial=serial)() ui_steps.press_car(serial=serial)() ui_steps.open_settings(serial=serial)()
break #run #setup new user and switch ui_steps.press_home(serial=serial)() ui_steps.press_car(serial=serial)() ui_steps.open_settings(serial=serial)() ui_steps.click_button_with_scroll(view_to_find={"text":"Users & accounts"},view_to_check={"text":"Users"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"Users"},view_to_check={"text":"Add user"},serial=serial)() ui_steps.click_button(view_to_find={"textContains":"Add user"},view_to_check={ "text":"OK"},serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text":"OK"},view_to_check={"text":"NOT NOW"}, serial=serial)() ui_steps.click_button(view_to_find={"text":"SET UP NOW"},serial=serial)() ui_steps.press_home(serial=serial)() ui_steps.press_car(serial=serial)() # check if BT and wifi is disable for new user as well if scenario =="Disable": ui_steps.press_home(serial=serial)() if not bluetooth_steps.SetBT(state='Off', use_gui=True,serial=serial)(): print "BT is not disable in new user" else: "BT was already OFF" if not wifi_generic_steps.set_wifi(state="OFF", serial = serial)():
ui_steps.open_settings(serial=serial)() ui_steps.click_button_common(view_to_find={"text": "Security & location"}, view_to_check={"text": "Screen lock"}, serial=serial)() ui_steps.click_button_common(view_to_find={"text": "Screen lock"}, serial=serial)() ui_steps.click_button_common(view_to_find={"text": "Password"}, serial=serial)() ui_steps.edit_text( view_to_find={"resourceId": "com.android.settings:id/password_entry"}, value="qwer", is_password=True, serial=serial)() ui_steps.click_button_if_exists( view_to_find={"text": "NEXT"}, view_to_check={"text": "Re-enter your password"}, serial=serial)() ui_steps.edit_text( view_to_find={"resourceId": "com.android.settings:id/password_entry"}, value="qwer", is_password=True, serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text": "OK"}, view_to_check={"text": "Notifications"}, serial=serial)() ui_steps.click_button_if_exists(view_to_find={"text": "DONE"}, serial=serial)() ui_steps.put_device_into_sleep_mode(serial=serial)() ui_steps.wake_up_device(serial=serial)() ui_steps.put_device_into_sleep_mode(serial=serial)()
password=password, force=False)() ui_steps.click_button(serial=serial, view_to_find={"description": "Show navigation drawer"}, view_to_check={"text": "Uploads"})() ui_steps.click_button(serial = serial, view_to_find = {"text":"Uploads"}, view_to_check = {"resourceId":\ "com.google.android.youtube:id/menu_upload"})() ui_steps.click_button(serial = serial, view_to_find = {"resourceId":\ "com.google.android.youtube:id/menu_upload"}, view_to_check = {"packageName":"com.android.documentsui"})() ui_steps.click_button_if_exists(serial=serial, view_to_find={"description": "Show roots"})() ui_steps.click_button(serial=serial, view_to_find={"text": "Videos"}, view_to_check={"text": "Movies"})() ui_steps.show_as_list(serial=serial)() ui_steps.click_button(serial=serial, view_to_find={"text": "Movies"}, view_to_check={ "text": "Movies", "resourceId": "android:id/title" })() ui_steps.show_as_list(serial=serial)()
def do(self): ui_steps.press_home(serial=self.serial)() 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)() ui_steps.click_button(view_to_find={ "resourceId": "com.google.android.gm:id/account_list_button" }, view_to_check={"text": "Add account"})() ui_steps.click_button(view_to_find={"text": "Add account"})() while not self.uidevice(resourceId="com.google.android.gm:id/google_option").\ child(resourceId="com.google.android.gm:id/radio_button").checked: ui_steps.click_button(serial = self.serial,\ view_to_find = {"text":"Google"})() ui_steps.click_button(serial=self.serial, view_to_find={"text": "Next"})() self.uidevice(text="Checking info").wait.gone(timeout=30000) ui_steps.click_button( serial=self.serial, view_to_find={"descriptionContains": "Enter your email"}, view_to_check={"descriptionContains": "Sign in"})() ui_steps.edit_text( serial=self.serial, view_to_find={"className": "android.widget.EditText"}, value=self.account, is_password=True)() #press enter keycode self.uidevice.press(66) self.uidevice(text=self.account).wait.exists(timeout=5000) ui_steps.edit_text( serial=self.serial, view_to_find={"className": "android.widget.EditText"}, value=self.password, is_password=True)() #press enter keycode self.uidevice.press(66) ui_steps.wait_for_view(view_to_find={"description": "ACCEPT"}, timeout=30)() for f in range(1, 10): if not self.uidevice(description="ACCEPT").exists: break else: # get object coords x, y = [ c for c in ui_utils.get_center_coords( self.uidevice(description="ACCEPT").info["bounds"]) ] cmd = "input tap {0} {1}".format(x, y) self.adb_connection.run_cmd(cmd, timeout=6) self.uidevice(text="Next").wait.exists(timeout=20000) self.uidevice(text="Sync your account").wait.exists(timeout=40000)
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
def unmount_sdcard(): goto_Storage_Settings() #ui_steps.open_users_settings(serial=serial) sleep(1) ui_steps.click_button_if_exists( serial=serial, view_to_find={"descriptionContains": "Eject"})()
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"})() if uidevice(text="Spreadsheets on the go").exists: ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"text":"Skip"},\ wait_time = 5000)() if uidevice(descriptionContains="View as List").exists: ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"descriptionContains":"View as List"},\ wait_time = 5000)() ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"descriptionContains":"Create new spreadsheet"},\ view_to_check ={"text":"Untitled spreadsheet"},\ wait_time = 5000)() ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"text":"Untitled spreadsheet"},\
view_to_find={"text": "OK"})() sleep(1) if uidevice.exists(className="android.widget.TextView", textContains="Internal Storage"): break clipboard = uidevice.exists(className='android.widget.Button', textContains='Clipboard') if clipboard: print "Clipboard Found" #if launching for the first time if not uidevice.exists(className="android.widget.TextView", textContains="Internal Storage"): pass_through_guidlines() ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "Internal Storage"})() ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "Internal Storage"}, view_to_check={"text": "Download"})() ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "Download"}, view_to_check={"text": test_file})() #long press a 2G file and copy to other directory f = uidevice(className="android.widget.TextView", textContains=test_file) fx = f.info['bounds']['right'] fy = f.info['bounds']['bottom'] uidevice.long_click(fx, fy) ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "Copy"})()
# @filename: brute_force_deterrent.py # # @description: Unlocks the DUT with wrong PIN 5 times in a row # # @author: [email protected] # ############################################################################## from testlib.scripts.android.adb import adb_steps from testlib.scripts.android.ui import ui_steps from testlib.scripts.security.scripts import prerequisites from testlib.base.base_utils import get_args import sys import time globals().update(vars(get_args(sys.argv))) # Run Prerequisites prerequisites.run_prereq(serial=serial, pin="1234", set_screen_lock=True)() # Block device (Enter wrong PIN 5 times in a row) adb_steps.block_device(serial=serial, pin="2222")() # Timeout for entering 5 times in a row the wrong PIN time.sleep(30) # Remake initial state adb_steps.wake_up_device(serial=serial)() ui_steps.click_button_if_exists(serial=serial, view_to_find={"text": "OK"})() adb_steps.unlock_device(serial=serial, pin="1234")()
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"})() if uidevice(text="Spreadsheets on the go").exists: ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"text":"Skip"},\ wait_time = 5000)() if uidevice(descriptionContains="View as List").exists: ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"descriptionContains":"View as List"},\ wait_time = 5000)() ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"descriptionContains":"Create new spreadsheet"},\ view_to_check ={"text":"Untitled spreadsheet"},\ wait_time = 5000)() ui_steps.click_button_if_exists(serial = serial,\ view_to_find = {"descriptionContains":"Add new sheet"},\ view_to_check ={"text":"Untitled spreadsheet"},\
from testlib.scripts.android.ui import ui_steps from testlib.scripts.gms.drive import drive_steps from testlib.base.base_utils import get_args args = get_args(sys.argv) globals().update(vars(args)) globals().update(eval(script_args[0])) ui_steps.press_home(serial = serial)() drive_steps.open_drive(serial = serial, account = account, password = password, force = True)() if ui_steps.click_button_if_exists(serial = serial, view_to_find = {"description":"View as List"})(): # is list ui_steps.check_object_count(serial = serial, view_to_find = {"resourceId":"com.google.android.apps.docs:id/doc_entry_root", "className":"android.widget.RelativeLayout"}, count = 3, comparator = ">")() # switch back to Grid view ui_steps.click_button(serial = serial, view_to_find = {"description":"View as Grid"}, view_to_check = {"description":"View as List"})() # check ui_steps.check_object_count(serial = serial, view_to_find = {"resourceId":"com.google.android.apps.docs:id/doc_entry_root", "className":"android.widget.FrameLayout"}, count = 3, comparator = ">")() else: