博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
appium+python自动化56-微信小程序自动化(摩拜为例)
阅读量:5785 次
发布时间:2019-06-18

本文共 2706 字,大约阅读时间需要 9 分钟。

前言

最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试?

本篇以摩拜小程序为例,介绍如何定位小程序里面的元素

运行环境:

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 shellHWBND-H:/ $ dumpsys activity top | grep ACTIVITY  ACTIVITY com.tencent.mm/.plugin.appbrand.ui.AppBrandUI d0f2ff4 pid=9104HWBND-H:/ $ ps 9104USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAMEu0_a119   9104  495   2706272 283720          0 0000000000 S com.tencent.mm:appbrand0HWBND-H:/ $

1070438-20180606144649514-36202146.png

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

摩拜小程序

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

1070438-20180606142059359-670057787.png

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.进入小程序后点右下角的头像,这里可以通过坐标去点击

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

1070438-20180606142336118-354208870.png

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

1070438-20180606143245247-674686643.png

# 注意,这里是不需要切换的,别踩坑了!!!!!!# 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-8from appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionimport time# 作者:上海-悠悠 QQ交流群:512200893desired_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()

上海-悠悠 QQ交流群:330467341

转载地址:http://lvvyx.baihongyu.com/

你可能感兴趣的文章
链表基本操作的实现(转)
查看>>
邮件发送1
查看>>
[转] libcurl异步方式使用总结(附流程图)
查看>>
编译安装LNMP
查看>>
[转]基于display:table的CSS布局
查看>>
crm 02--->讲师页面及逻辑
查看>>
AS3.0 Bitmap类实现图片3D旋转效果
查看>>
Eigen ,MKL和 matlab 矩阵乘法速度比较
查看>>
带三角的面包屑导航栏(新增递增数字)
查看>>
Web应用程序安全与风险
查看>>
codeforces 984 A. Game
查看>>
CSS居中
查看>>
One Person Game(概率+数学)
查看>>
CodeForces 258B Little Elephant and Elections :于1-m中找出七个数,使六个数里面的4和7个数比第七个数严格小:数位dp+dfs...
查看>>
MAP
查看>>
手把手教你测——上网快鸟
查看>>
用javascript获取地址栏参数
查看>>
一起谈.NET技术,你应该知道的15个Silverlight诀窍
查看>>
商教助手!解析夏普液晶高清宽屏投影机系列
查看>>
云南去年有望实现151万贫困人口净脱贫
查看>>