appium+python自动化56-微信小程序自动化(摩拜为例)

前言

最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?
本篇以摩拜小程序为例,介绍如何定位小程序里面的元素

运行环境:

android 7.0
appium v1.7.1

webview进程

1.小程序和微信公众号还不太一样,基本思路差不多,先配置:chromeOptions

‘chromeOptions‘: {‘androidProcess‘: ‘com.tencent.mm:appbrand0‘}

2.androidProcess进程可以通过adb shell去查看,先点开摩拜小程序,然后进adb shell

C:\Users\admin>adb shell
HWBND-H:/ $ dumpsys activity top | grep ACTIVITY
  ACTIVITY com.tencent.mm/.plugin.appbrand.ui.AppBrandUI d0f2ff4 pid=9104
HWBND-H:/ $ ps 9104
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
u0_a119   9104  495   2706272 283720          0 0000000000 S com.tencent.mm:appbrand0
HWBND-H:/ $

3.com.tencent.mm:appbrand0 这个就是我们要找到的了

摩拜小程序

1.先点开微信首页,下滑页面,出现小程序菜单后点击‘摩拜’

2.代码实现:

def swipeDown(driver, t=500, n=1):
    ‘‘‘向下滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.5          # x坐标
    y1 = l[‘height‘] * 0.25        # 起始y坐标
    y2 = l[‘height‘] * 0.75         # 终点y坐标
    for i in range(n):
        driver.swipe(x1, y1, x1, y2,t)

# 向下滑动
swipeDown(driver)

小程序操作

1.进入小程序后点右下角的头像,这里可以通过坐标去点击

由于每个手机分辨率不一样,这里可以直接去计算下图标在屏幕的比例

2.接着点击“发红包赚赏金”

# 注意,这里是不需要切换的,别踩坑了!!!!!!
# driver.switch_to.context(‘WEBVIEW_com.tencent.mm:tools‘)  # 不要加这行
time.sleep(3)

# tap触摸右下角那个菜单坐标 [873,1654], [1080,1861]
driver.tap([(873, 1654), (1080, 1861)],  500)

# 点发红包赚赏金
driver.find_element_by_accessibility_id("发红包赚赏金").click()

参考代码

# coding:utf-8
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
import time

desired_caps = {
                ‘platformName‘: ‘Android‘,
                ‘platformVersion‘: ‘7.0‘,
                ‘deviceName‘: ‘A5RNW18316011440‘,
                ‘appPackage‘: ‘com.tencent.mm‘,
                ‘appActivity‘: ‘.ui.LauncherUI‘,
                ‘automationName‘: ‘Appium‘,
                # ‘unicodeKeyboard‘: True,
                # ‘resetKeyboard‘: True,
                ‘noReset‘: True,
                ‘chromeOptions‘: {‘androidProcess‘: ‘com.tencent.mm:appbrand0‘}
                }

driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)

time.sleep(10)

def swipeDown(driver, t=500, n=1):
    ‘‘‘向下滑动屏幕‘‘‘
    l = driver.get_window_size()
    x1 = l[‘width‘] * 0.5          # x坐标
    y1 = l[‘height‘] * 0.25        # 起始y坐标
    y2 = l[‘height‘] * 0.75         # 终点y坐标
    for i in range(n):
        driver.swipe(x1, y1, x1, y2,t)

# 向下滑动
swipeDown(driver)
time.sleep(2)

# 点开小程序
driver.find_elements_by_id("com.tencent.mm:id/r9")[0].click()
time.sleep(4)

print(driver.contexts)

# 注意,这里是不需要切换的,别踩坑了!!!!!!
# driver.switch_to.context(‘WEBVIEW_com.tencent.mm:tools‘)
time.sleep(3)

# tap触摸右下角那个菜单坐标 [873,1654], [1080,1861]
driver.tap([(873, 1654), (1080, 1861)],  500)

# 点发红包赚赏金
driver.find_element_by_accessibility_id("发红包赚赏金").click()

原文地址:https://www.cnblogs.com/jason89/p/9165107.html

时间: 2024-11-10 00:49:14

appium+python自动化56-微信小程序自动化(摩拜为例)的相关文章

Python Flask构建微信小程序订餐系统

call--->q-2304636824-q 第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆https://food.54php.cn(使用微信扫码二维码体验下哦横须)一起来演示一下项目.本次课程是严格按照商业系统进行架构开发的,从PC管理员端到小程序会员端,从项目搭建到部署上线,通俗易懂.... 1-1 导学--Python Flask 构建微信小程

appium(七)微信小程序

从本质上来说,微信小程序就是在微信中的一个H5页面,但是微信用到了腾讯的X5框架来实现,因此如果要调试微信小程序,需要进行X5框架的设置: 设置方法: 在mumu模拟器中,只需要在微信中访问debugmm.qq.com/?forcex5=true即可使用:(参考:https://www.cnblogs.com/xiaogongjin/p/11783801.html) X5框架设置好之后,其元素定位就和H5页面一样,可以使用appium的原生安卓定位,也可以使用selenium定位,注意切换con

一、微信小程序自动化---appium启动微信

1.参考链接: https://www.cnblogs.com/Test-xiaobai/p/9066331.html https://mp.weixin.qq.com/s/U0jFiRsVsChHb8K9995QKQ https://www.jianshu.com/p/61601dc3c9d4 https://blog.csdn.net/ckboss/article/details/85013818(最后采取的是这个) 2.第一次配置想要直接打开小程序报错 在终端输入命令查找进程adb she

微信小程序自动化jest模拟场景/切出/切入

await miniProgram.evaluate(() => getApp().clickBanner({ path: "pages/game/home/home", query: { mode: "train" }, scene: 1038, referrerInfo: {} })); 原文地址:https://www.cnblogs.com/zinan/p/11703300.html

Python Flask构建微信小程序订餐系统 学习 资源

一.Flask MVC框架结构 1.1实际项目结构 1.2application.py  项目配置文件 Flask之flask-script模块使用 static.py 文件(部署到生成环境不需要这个文件,只是解决本地静态文件无法加载问题)   1.3.manager.py 启动文件   1.4.login.py    1.5.requirements.txt 项目依赖库文件管理 二.链接统一与版本管理 建立统一的URL管理函数,让URL可以方便修改.重构与扩展    三.账号功能模块示意图  

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

到底是什么力量让大批品牌开通入驻微信小程序商城

现在的小程序是越来越火,入驻的品牌商家也是越来越多,也许有一天早上你会发现自己常常用的APP也开通了自己的小程序,早上翻翻微信发现很多事情都可以在小程序内完成了,比如经常使用的购物,查快递,预订车票,外出骑行,浏览视频功能等 电商里面有我们了解的京东.当当.苏宁易购.唯品会.蘑菇街.国美等,而蘑菇街开通小程序后小程序内的销售占比更是达到了总量的70%,一个月内通过小程序拿下了300万新客,购买转化率是APP的两倍,仅仅依靠拼团这一个入口,就吸引了近7成新用户,通过客户.商品.购物场景的搭建,蘑菇

使用Appium 测试微信小程序和微信公众号方法

由于腾讯系QQ.微信等都是基于腾讯自研X5内核,不是google原生webview,需要打开TBS内核Inspector调试功能才能用Chrome浏览器查看页面元素,并实现Appium自动化测试微信小程序和微信公众号. 前提条件Appium环境搭建,这里不多说了,可查阅Appium环境搭建文章. 因夜神等模拟器是intel的X86架构,很多app安装不了,比如微信.qq等(虽然说可以通过安装arm解释器来解决该问题,但是进行X5内核调试的话也会出现问题),建议最好是一台真实的手机来做. webv

python获取微信小程序openid及用户信息

填坑记录:1.个人微信公众订阅号是不能申请微信认证的.公众号的类型在注册时一旦选择就不能更改,微信公众号认证的功能除个人订阅号外,都可以申请认证,因而个人订阅号不能申请认证.这句话的意思就是个人订阅号无法开发小程序. 2.个体户营业执照(个体户)可申请微信服务号并申请开发小程序,但需微信认证复用资质并用新邮箱注册小程序账号 3.微信开发工具创建微信小程序填写的appid是小程序的appid(不是微信公众号的),不能是个人小程序的appid,个人小程序没有获取用户信息的权限 4.调用接口获取用户信