def check_condition(self): if self.view_to_check is not None: self.step_data = ui_steps.wait_for_view_common( serial=self.serial, view_to_find=self.view_to_find, view_presence=self.view_presence)() return self.step_data
def do(self): try: if not ui_steps.click_button_common( serial=self.serial, view_to_find={"textContains": "Scan for Devices"}, scroll=False)(): raise Exception( "Scan for Devices object not found in menu list") if ui_steps.wait_for_view_common( serial=self.serial, view_to_find={"textContains": self.dev_name})(): ui_steps.click_button_common( serial=self.serial, view_to_find={"textContains": self.dev_name}, view_to_check={"resourceId": "android:id/alertTitle"})() time.sleep(1) if not bluetooth_steps.PerformActionPairRequest( serial=self.serial, action="Pair")(): raise Exception("Pair button not found in DUT list") if not bluetooth_steps.PerformActionPairRequest( serial=self.serial_dev, action="Pair")(): raise Exception("Pair button not found in DEV list") time.sleep(10) else: self.step_data = False except Exception, e: self.set_errorm("CTS Verifier connection error", e.message) self.step_data = False
def do(self): # if self.home_state: # self.logger.info("Home screen already present [ {0} ]".format( # self.serial)) info = self.uidevice.info x = 410 activity_bar_single_element_width = x / 6 # In P dessert home resides at 1st position and click has to be done at # the center home_x_coordinate = activity_bar_single_element_width * 2 - \ activity_bar_single_element_width / 2 y = info['displaySizeDpY'] home_y_coordinate = y - 30 # cmd = "input tap 405 1050" cmd = "input tap {0} {1}".format(home_x_coordinate, home_y_coordinate) adb_connection = Adb(serial=self.serial) adb_connection.run_cmd(cmd) time.sleep(2) ui_steps.wait_for_view_common(view_to_find={"text": "Let's Drive"}, serial=self.serial)() self.step_data = True
def do(self): try: if not ui_steps.click_button_common( serial=self.serial, view_to_find={"textContains": "Scan for Devices"}, scroll=False)(): raise Exception( "Scan for Devices object not found in menu list") if ui_steps.wait_for_view_common( serial=self.serial, view_to_find={"textContains": self.dev_name})(): ui_steps.click_button_common( serial=self.serial, view_to_find={"textContains": self.dev_name}, view_to_check={"textContains": "SENT MESSAGES"})() time.sleep(10) else: self.step_data = False except Exception, e: self.set_errorm("CTS Verifier connection error", e.message) self.step_data = False
view_to_check={"text": "OEM unlocking"}, serial=args["serial"])() # for full report ui_steps.click_button_common(view_to_find={"text": "Take bug report"}, view_to_check={"text": "Interactive report"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "Full report"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "REPORT"}, serial=args["serial"])() # for interactive report ui_steps.click_button_common(view_to_find={"text": "Take bug report"}, view_to_check={"text": "Interactive report"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "Interactive report"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "REPORT"}, serial=args["serial"])() # teardown # moving to home to verify if the report has been submitted ui_steps.press_home(serial=args["serial"])() time.sleep( 60 ) # Sleep is mentioned because captured BugReport might take few seconds to reflect on notifaction bar ui_steps.wait_for_view_common( view_to_find={"text": "Tap to share your bug report"}, serial=args["serial"])()
# Run ui_steps.enable_developer_options(serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "Developer options"}, view_to_check={"text": "OEM unlocking"}, serial=args["serial"])() # option 1 animation off ui_steps.click_button_common( view_to_find={"text": "Transition animation scale"}, view_to_check={"text": "Animation off"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "Animation off"}, serial=args["serial"])() ui_steps.wait_for_view_common( view_to_find={"text": "Animation off"}, second_view_to_find={"className": "android.widget.TextView"}, position="down", retrieve_info=True, serial=args["serial"])()["text"] # option 2 Animation scale .5x ui_steps.click_button_common( view_to_find={"text": "Transition animation scale"}, view_to_check={"text": "Animation scale .5x"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "Animation scale .5x"}, serial=args["serial"])() ui_steps.wait_for_view_common( view_to_find={"text": "Animation scale .5x"}, second_view_to_find={"className": "android.widget.TextView"}, position="down", retrieve_info=True,
if dessert == "P": ui_steps.PressNotification(serial=args["serial"])() ui_steps.click_button_common( view_to_find={"resourceId": "com.android.systemui:id/settings_button"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "More"}, serial=args["serial"])() Settings_not_found = [] Settings_to_check = { "Display", "Sound", "Wi‑Fi", "Bluetooth", "App info", "Date & time", "Users", "Accounts", "Security", "System" } for find in Settings_to_check: try: ui_steps.wait_for_view_common(view_to_find={"text": find}, serial=args["serial"])() except: Settings_not_found.append(find) log.info(find + " option is not available in IVI settings") # Tear Down ui_steps.press_back(serial=args["serial"])() else: ui_steps.press_home(serial=args["serial"])() ui_steps.click_button_common( view_to_find={"resourceId": "com.android.systemui:id/settings_button"}, serial=args["serial"])() Settings_not_found = [] Settings_to_check = { "Display", "Sound", "Wi‑Fi", "Bluetooth", "App info", "Date & time", "Users", "System"
optional=True, scroll=False)(): ui_steps.click_button_common( serial=serial_dev, first_view_to_find={ "resourceId": "com.google.android.music:id/list_context_menu" }, second_view_to_find={"index": "2"}, scroll=False)() ui_steps.press_media(serial=serial)() ui_steps.click_button_common( serial=serial, view_to_find={"textContains": "Bluetooth Audio"})() time.sleep(20) ui_steps.wait_for_view_common( serial=serial, view_to_find={"resourceId": "com.android.car.media:id/title"})() ui_steps.wait_for_view_common( serial=serial, view_to_find={"resourceId": "com.android.car.media:id/artist"})() if action_initiator == "Adjustvolumefromphone": ui_steps.open_app_from_allapps(serial=serial_dev, view_to_find={"text": "Play Music"})() ui_steps.click_button_common( serial=serial_dev, view_to_find={"description": "Show navigation drawer"}, view_to_check={"text": "Music library"}, optional=True)() ui_steps.click_button_common(serial=serial_dev, view_to_find={"text": "Music library"}, view_to_check={"textContains": "SONGS"},
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. ? SPDX-License-Identifier: Apache-2.0 """ # Used defined libraries from testlib.base.base_utils import parse_args from testlib.scripts.android.ui import ui_steps # ############# Get parameters ############ args = parse_args() ui_steps.press_home(serial=args["serial"])() ui_steps.press_car(serial=args["serial"])() ui_steps.open_settings(serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "System"}, view_to_check={"textContains": "Languages"}, serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "About phone"}, view_to_check={"text": "Status"}, serial=args["serial"])() print ui_steps.wait_for_view_common(view_to_find={"text": "Kernel version"}, second_view_to_find={"className": "android.widget.TextView"}, position="down", retrieve_info=True, serial=args["serial"])()["text"]
adb_steps.reboot(reboot_timeout=400, serial=serial)() ui_steps.press_home(serial=serial)() ui_steps.press_car(serial=serial)() ui_steps.open_settings(serial=serial)() ui_steps.click_button_common(view_to_find={"text": "System"}, view_to_check={"textContains": "Languages"}, serial=serial)() ui_steps.click_button_common(view_to_find={"text": "About phone"}, view_to_check={"text": "Status"}, serial=serial)() ui_steps.click_button_common(view_to_find={"text": "Status"}, view_to_check={"text": "Up time"}, serial=serial)() uptime = ui_steps.wait_for_view_common( view_to_find={"text": "Up time"}, second_view_to_find={"className": "android.widget.TextView"}, position="down", retrieve_info=True, serial=serial)()["text"] # checking for uptime not greater than 10 minutes if sum(x * int(t) for x, t in zip([3600, 60, 1], uptime.split(":"))) < 600: print "pass" else: print "fail" #Teardown ui_steps.press_home(serial=serial)()
import sys # Used defined libraries from testlib.base.base_utils import get_args from testlib.scripts.android.ui import ui_steps import time # ############# Get parameters ############ globals().update(vars(get_args(sys.argv))) args = {} if script_args[0].upper() != 'NONE': for entry in script_args: key, val = entry.split("=") args[key] = val # Setup ui_steps.press_home(serial=serial)() ui_steps.press_car(serial=serial)() ui_steps.press_dialer(serial=serial)() ui_steps.click_button_common(view_to_find={"text":"Phone"},second_view_to_find={"className":"android.widget.ImageButton"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"Dial a number"},view_to_check={"text":"Dial a number"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"7"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"6"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"2"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"5"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"0"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"6"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"3"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"7"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"4"},serial=serial)() ui_steps.click_button_common(view_to_find={"text":"7"},serial=serial)() ui_steps.wait_for_view_common(view_to_find={"text":"(762) 506-3747"}, serial=serial)() ui_steps.click_button_common(view_to_find={"className":"android.widget.ImageButton"},view_to_check={"text":"Phone"},serial=serial)()
if "LOG_PATH" in os.environ: testlib_log_path = os.environ["LOG_PATH"] else: import testlib testlib_log_path = os.path.dirname(testlib.__file__) + "/logs/" log = logger.testlib_log(log_path=testlib_log_path, log_name="testlib_default") # ############# Get parameters ############ args = parse_args() ui_steps.press_home(serial=args["serial"])() ui_steps.open_settings(serial=args["serial"])() ui_steps.click_button_common(view_to_find={"text": "System"}, serial=args["serial"])() if ui_steps.wait_for_view_common(view_to_find={"text": "Developer options"}, optional=True, serial=args["serial"])(): log.info("Developer option is already enabled") else: ui_steps.enable_developer_options(serial=args["serial"])() log.info("Developer option is enabled") ui_steps.enable_options_from_developer_options( serial=args["serial"], developer_options=["Force 4x MSAA"])() # TearDown ui_steps.disable_options_from_developer_options( serial=args["serial"], developer_options=["Force 4x MSAA"])()
password = hotSpot_pass)()""" if (hotSpot_security == "") or (hotSpot_security == "None"): wifi_steps.connect_wifi_from_UI(ap_name=hotSpot_name, scroll=True, open_wifi_settings=True, security=False, serial=ser)() else: wifi_steps.connect_wifi_from_UI(ap_name = hotSpot_name,scroll= True,open_wifi_settings=True,password = hotSpot_pass,serial=ser)() # wait until the reference device is connected wifi_steps.wait_until_connected(serial = ser)() # verify that reference device is connected wifi_steps.ping_gateway(serial = ser)() while iterations > 1: # if iterations !=1: print "iterations" wifi_steps.set_wifi(serial = ser, state="OFF",use_adb=False)() time.sleep(2) ui_steps.wait_for_view_common(view_to_find={"textContains": "To see available networks, turn"}, timeout=1000, serial=ser)() wifi_steps.set_wifi(serial = ser, state="ON",use_adb=False)() wifi_steps.wait_until_connected(serial = ser)() # verify that reference device is connected wifi_steps.ping_gateway(serial = ser)() iterations=iterations-1 else: i=2 no_of_clients=int(no_clients_back) while int(no_of_clients) > 0: #On reference device # turn display on, if turned off on reference device ser="serial"+str(i) ser=args[ser] # connect to the HotSpot from reference device
wifi_steps.connect_wifi_from_UI(ap_name = ddwrt_ap1_name,scroll= True,open_wifi_settings=False,password = ddwrt_ap1_pass,serial=serial)() time.sleep(2) #ping to gateway wifi_steps.ping_gateway(serial = serial, trycount=10, timeout=30)() #wait for ap2 ssid from the list ui_steps.wait_for_view_with_scroll(view_to_find={"textContains": ddwrt_ap2_name}, timeout=1000, serial=serial)() #connect wifi to AP2 wifi_steps.connect_wifi_from_UI(ap_name=ddwrt_ap2_name,scroll = True, password=ddwrt_ap2_pass,open_wifi_settings=False, serial=serial)() #ping to gateway wifi_steps.ping_gateway(serial=serial, trycount=10, timeout=30)() #Once DUt is connected to AP2, AP1 status on DUT should be saved ui_steps.wait_for_view_common(serial=serial, timeout=30000,view_to_find={"textContains": ddwrt_ap1_name}, optional=False, second_view_to_find={"textMatches":"Saved"})() #Tap on first ap , this should connect to first ap with out providing the security key ui_steps.click_button_common(serial=serial, view_to_find={"textMatches":ddwrt_ap1_name})() time.sleep(3) wifi_steps.ping_gateway(serial=serial, trycount=10, timeout=30)() ui_steps.wait_for_view_with_scroll(view_to_find={"textContains": "Forget"},timeout=1000 ,serial = serial)() ui_steps.click_button_common(serial=serial, view_to_find={"textMatches": "Forget"})() #clean up to go to next iteration wifi_steps.forget_wifi_network(serial=serial,ap_name=ddwrt_ap1_name)() i = i-1 elif scenario == "check_password" : """ To test - general behaviour test - Show wifi password""" #connect device to AP , while entering password, password should be displayed . wifi_steps.connect_with_password(ap_name = ddwrt_ap1_name,scroll= True,open_settings=False,password = ddwrt_ap1_pass,show_password=True,serial=serial)()
bluetooth_steps.BtSetService(serial=serial, paired_device_name=PAIRING_DEV_NAME, state=False, service="Contact sharing", check_if_already=True, disable_profile_confirm=True, version=DUT_VERSION)() bluetooth_steps.BtSetService(serial=serial, paired_device_name=PAIRING_DEV_NAME, state=True, service="Contact sharing", check_if_already=False, disable_profile_confirm=True, version=DUT_VERSION)() ui_steps.press_car(serial=serial)() if not ui_steps.wait_for_view_common( serial=serial, view_to_find={"textContains": "Contacts"})(): ui_steps.press_car(serial=serial)() if not ui_steps.click_button_common( serial=serial, view_to_find={"textContains": "Contacts"}, view_to_check={"className": "android.widget.TextView"})(): raise Exception("Contacts list not found") if action_initiator == "SyncContactDevice2": bluetooth_steps.ClickBluetoothSwitch(serial=serial, state="ON", version=DUT_VERSION)() bt_utils.bt_pair_devices( serial=serial, dev=serial_dev, dut_name=DUT_NAME,