在android目錄下找到uiautomatorviewer.bat,而後雙擊,頁面的第二個按鈕鏈接設備css
D:\Program Files\android-sdk-windows\tools\uiautomatorviewer.batandroid
from appium import webdriver caps = {} caps["appPackage"] = "com.tencent.mobileqq" # caps["appPackage"] = "com.android.settings" caps["appActivity"] = "com.tencent.mobileqq.activity.SplashActivity" # caps["appActivity"] = ".Settings" caps["platformName"] = "Android" caps["platformVersion"] = '4.4.2' caps["deviceName"] = '127.0.0.1:62001' caps["unicodeKeyboard"] = True caps["resetKeyboard"] = True caps["noReset"] = True driver = webdriver.Remote("http://localhost:4723/wd/hub", caps) #獲取手機大小 {'width': 720, 'height': 1280} size = driver.get_window_size() print(size) #若是安裝了返回True print(driver.is_app_installed("com.tencent.mobileqq")) #關閉app driver.close_app() import time time.sleep(3) #啓動app,啓動是初始化的app driver.launch_app() #一、除默認的初始化app以外 還能夠在啓動其餘app driver.close_app() driver.start_activity('com.android.settings', '.Settings') #二、他能夠跳過某些場景,達到某個頁面 # element = driver.find_element_by_android_uiautomator('new UiSelector().text("新用戶")') # element.click() print(driver.current_activity) ele = driver.start_activity('com.tencent.mobileqq', '.activity.RegisterPhoneNumActivity') print(driver.current_activity)
#若是send_keys 報錯的話使用set_value
driver.set_value(ele, '123456')
# 返回當前session中的app類型web
element = driver.find_element_by_id('com.android.browser:id/url') element.send_keys('http://ui.imdsx.cn/uitester/') time.sleep(5) # key code Android按鍵碼 driver.press_keycode(66) time.sleep(2) # 打印當前的app類型 print(driver.current_context) # 從原生切換到H5 driver.switch_to.context(driver.contexts[1]) # 定位id爲i1的元素 driver.find_element_by_css_selector('#i1').send_keys('11111') # 打印切換玩的app類型 print(driver.current_context)