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,首页显示,表示可以调试了

从搜索-小程序里进去,可以看到小程序页面

posted @ 2022-08-05 17:25  lingwang3  阅读(95)  评论(0编辑  收藏  举报