微信小程序开发之自动化(摩拜为例)
白羽 2018-07-18 来源 :网络 阅读 1850 评论 0

摘要:本文将带你了解微信小程序开发之自动化(摩拜为例),希望本文对大家学微信有所帮助。



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

android 7.0 appium v1.7.1webview进程1.小程序和微信公众号还不太一样,基本思路差不多,

先配置:chromeOptions'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'}2.androidProcess进程可以通过adb shell去查看,

先点开摩拜小程序,然后进adb shellC:\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:/ $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-8from appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionimport timedesired_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('//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()    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程