本文内容在以下环境运行成功:
Windows10
Python2.7
android-sdk_r24.4.1
Appium-windows-1.15.1
chromedriver_2.40
小米手机
微信7.0.13(webview66.0.3359)
环境之前已经搭建好了,还没搭建好环境的看这里:
一、编写微信Native部分代码
可以用appium inspector录制微信Native部分代码,不会的看这:
我用例录制的步骤为,打开微信-->点右上角搜索按钮-->输入:测试工程师小站-->点击搜索结果中的公众号-->点击菜单:历史消息
以上部分代码为:
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '9'
desired_caps['deviceName'] = '63fa4de5'
desired_caps['appPackage'] = 'com.tencent.mm'
desired_caps['appActivity'] = '.ui.LauncherUI'
desired_caps['noReset'] = 'True'
desired_caps['chromeOptions'] = {'androidProcess': 'com.tencent.mm:tools'}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
wait=WebDriverWait(driver, 10)
# 打开微信需要一定时间,这里我们用显示等待,等搜索元素出现后再获取,后面代码大家自行根据需要添加
el1 = wait.until(EC.presence_of_element_located((By.ID, 'com.tencent.mm:id/f8y')))
el1.click() # 点击搜索
time.sleep(1)
driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys(u"测试工程师小站") # 输入名称
driver.find_element_by_id("com.tencent.mm:id/gbv").click() # 点击公众号
driver.find_element_by_id("com.tencent.mm:id/alv").click() # 点击一级菜单
# 点击二级菜单(历史消息)
el2 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.Li