app 自动化之—小程序自动化

本文介绍了如何进行微信小程序的自动化测试,包括环境要求、步骤、详细解释及完整代码。重点涉及微信版本、JDK、Android SDK、WebView驱动、Appium、UC-DevTools的配置,并详细阐述了从开启调试模式到在小程序中执行自动化操作的全过程。
摘要由CSDN通过智能技术生成
一、环境要求
  1. 微信版本weixin7.0.10.apk版本,否则uc-devtools检测不到webview无法进入inspect调试模式
  2. jdk版本1.8
  3. android-sdk版本29.0.2
  4. 微信的webview版本驱动版本89
  5. appium==1.21.0
  6. uc-devtools去官网下载最新版本即可
二、步骤
  1. 打开手机usb开发者调试模式并连接电脑
  2. 安装weixin7.0.10.apk版本,开启微信WebView调试模式
  3. 下载对应驱动(WebView),7.0.10版本的微信是89版本的驱动
  4. 启动参数修改为微信的【包名】和【界面名】
  5. 增加启动参数,配置使用微信的webview版本(默认是使用android自带的webview)
  6. 增加启动参数,配置webview驱动路径
  7. 增加启动参数,中文输入兼容处理
  8. 操作安卓手机进入小程序入口
  9. 定位柠檬班软件测试小程序点进去
  10. 获取柠檬班软件测试小程序名称
  11. 增加启动参数,指定需要操作的小程序名称,拿到10步骤回去的小程序名称
  12. 从native切换到微信webview,通过10步骤拿到的小程序名称切换
  13. 通过元素定位,在小程序webview中切换到【柠檬班软件测试】窗口
  14. 在小程序中进行元素定位于与自动化操作
三、步骤详解
  1. 打开手机usb开发者调试模式并连接电脑
    安卓手机开启调试模式各个品牌手机方法都不太一样,各位看官自学百度,或者参考手机厂商官方文档。
  2. 安装weixin7.0.10.apk版本,开启微信WebView调试模式
    豌豆荚下载微信历史版本:https://www.wandoujia.com/apps/596157/history_v1840
  3. 下载对应驱动(WebView),7.0.10版本的微信是89版本的驱动
    驱动下载:http://npm.taobao.org/mirrors/chromedriver/
  4. 启动参数修改为微信的【包名】和【界面名】
    adb shell dumpsys window windows | findstr mFocusedApp
    ‘appPackage’:‘com.tencent.mm’,
    ‘appActivity’:‘com.tencent.mm.ui.LauncherUI’,
  5. 增加启动参数,配置使用微信的webview版本
    ‘recreateChromeDriverSessions’:True,
  6. 增加启动参数,配置webview驱动路径
    ‘chromedriverExecutable’:r’D:\chromeDriver\89\chromedriver.exe’,
  7. 增加启动参数,中文输入兼容处理
    ‘unicodeKeyboard’:True
  8. 操作安卓手机进入小程序入口
    size = driver.get_window_size()
    driver.swipe(start_x=size[“width”] * 0.5,start_y=size[“height”] * 0.2,end_x=size[“width”] * 0.5,end_y=size[“height”] * 0.9,duration=200)
    print(“滑动成功等待3秒”)
    time.sleep(3)
  9. 定位柠檬班软件测试小程序点进去
    loc = (MobileBy.ANDROID_UIAUTOMATOR,‘resourceId(“com.tencent.mm:id/dd”).text(“柠檬班软件…”)’)
    element = wait.until(EC.visibility_of_element_located(locator=loc))
    element.click()
    print(“点击柠檬班小程序成功,等待15秒”)
    time.sleep(15)
  10. 获取柠檬班软件测试小程序名称
    获取进程号:adb shell dumpsys activity top | findstr ACTIVITY
    获取进程名称:adb shell ps 进程号
  11. 增加启动参数,指定需要操作的小程序名称,拿到10步骤回去的小程序名称
    ‘chromeoptions’:{“androidprocess”:“com.tencent.mm:appbrand0”}
  12. 从native切换到微信webview,通过10步骤拿到的小程序名称切换
    driver.switch_to.context(‘WEBVIEW_com.tencent.mm:appbrand0’)
  13. 通过元素定位,在小程序webview中切换到【柠檬班软件测试】窗口
    all_handles = driver.window_handles
    for handle in all_handles:
        driver.switch_to.window(handle)
        loc2=(MobileBy.XPATH,'//h1[text()="柠檬班软件测试"]')
        try:
            if wait.until(EC.visibility_of_element_located(loc2)):
                pass
        except Exception as e :
            print("元素定位没找到继续找"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值