appium测试app【native、webview】
1.安装appium
2.示例
from appium import webdriver from appium.webdriver.common.touch_action import TouchAction desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '10' desired_caps['deviceName'] = 'WKXVB21205001099' desired_caps['noReset'] = True desired_caps['sessionOverride'] = True desired_caps['appPackage'] = 'com.tencent.mm' desired_caps['appActivity'] = 'com.tencent.mm.ui.LauncherUI' desired_caps['newCommandTimeout'] = "2000" desired_caps['chromeOptions'] = {'androidProcess': 'com.tencent.mm:appbrand0'} desired_caps['chromedriverExecutable'] = 'E:\\xxxx\\chromedriver.exe' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) print("休眠5s") time.sleep(5) #打开,下拉,点击xx driver.swipe(362, 360, 362, 1000) driver.find_element("xpath", "//*[contains(@text, 'xxx')]").click() time.sleep(5) contexts = driver.contexts print(contexts) print(driver.current_context) driver.switch_to.context("WEBVIEW_com.tencent.mm:appbrand0") print(driver.current_context) Handle = driver.current_window_handle print(" Current handle : " + Handle) Handles = driver.window_handles for h in Handles: if h == Handle: print(" Ignore handle : " + h) else: driver.switch_to.window(h) TouchAction(driver).long_press(x=339, y=2165, duration=duration*1000).release().perform() #快失效了 time.sleep(1) trans_result = driver.find_element('xpath', '//*[@class="messageBubble--text messageBubble--to-text messageBubble--lang-ug"]').text driver.quit()
3.定位
uiautomator2定位原生native元素
uc-devtools定位webview元素
1.测试小程序
微信对话框里打开http://debugxweb.qq.com/?inspector=true,首页显示,表示可以调试了
从搜索-小程序里进去,可以看到小程序页面