python 自动化微信小程序 |
您所在的位置:网站首页 › python微信小程序自动化 › python 自动化微信小程序 |
前言 最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 今天写一篇小程序该如何做自动化测试,如何定位,具体以膜拜为例子 webview进程 1.小程序和微信公众号还不太一样,基本思路差不多,先配置:chromeOptions 'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'} 2.androidProcess进程可以通过adb shell去查看,先点开摩拜小程序,然后进adb shell 进入shell后输入:dumpsys activity top | grep ACTIVITY C:\Users\admin>adb shell HWBND-H:/ $ dumpsys activity top | grep ACTIVITY ACTIVITY com.tencent.mm/.plugin.appbrand.ui.AppBrandUI d0f2ff4 pid=7332 此时可以看到pid 然后输入:ps 7332 HWBND-H:/ $ ps 7332 USER PID PPID VSIZE RSS WCHAN PC NAME u0_a119 7332 495 2706272 283720 0 0000000000 S com.tencent.mm:appbrand0 HWBND-H:/ $ 3.com.tencent.mm:appbrand0 这个就是我们要找的东西 正式开始: 1. 下拉为微信聊天页面,出现摩拜小程序(显示最近使用的哦,你的可能是别的小程序) 怎样实现下拉滑动呢?使用driver的swipe方法,我这里用的是我封装好的滑动方法 #向下滑动 def swipe_down(driver,t=500,n=1): s = driver.get_window_size() x1 = s['width'] * 0.5 # x坐标 y1 = s['height'] * 0.25 # 起点y坐标 y2 = s['height'] * 0.75 # 终点y坐标 for i in range(n): driver.swipe(x1,y1,x1,y2,t) 2. 点击摩拜小程序图标 # 点击膜拜单车 driver.find_element_by_id('com.tencent.mm:id/ij').click() time.sleep(4) print(driver.contexts) 3.点击右下角的小头像 由于这个页面是view.view属性所以不好用常用定位方法定位,只好用坐标来定位了! # tap触摸右下角那个人头坐标 driver.tap([(972, 1613), (1034, 1622)], 1000) #tap的点必须是tuple类型,一个点是一个tuple time.sleep(5) print('进入我的页面') 4.点击钱包,这里也是利用坐标定位 # 点击我的钱包 driver.tap([(267, 907)], 500) time.sleep(4) print('进入钱包') 5.点击余额,这里利用xpath定位 # 点击余额 driver.find_element_by_xpath('//*[@text="余额"]').click() time.sleep(4) 6.点击充值,利用xpath定位 # 点击充值 driver.find_element_by_xpath('//*[@text="充值"]').click() time.sleep(2) 我就不充值了,因为太穷,这里基本就是一个进入小程序完成充值过程的一个自动化操作了,下面是完整的代码: #coding:utf-8 from appium import webdriver import time,os from common.My_swipe import swipe_down desired_caps = { 'platformName': 'Android', 'platformVersion': '8.0', 'deviceName': '740dc3d1', 'appPackage': 'com.tencent.mm', 'appActivity': '.ui.LauncherUI', 'automationName': 'Uiautomator2', # 'unicodeKeyboard': True, # 'resetKeyboard': True, 'noReset': True, 'chromeOptions': {'androidProcess': 'com.tencent.mm:appbrand0'} } driver = webdriver.Remote(r'http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(3) # 向下滑动 swipe_down(driver) time.sleep(2) # 点击膜拜单车 driver.find_element_by_id('com.tencent.mm:id/ij').click() time.sleep(4) print(driver.contexts) # tap触摸右下角那个人头坐标 driver.tap([(972, 1613), (1034, 1622)], 1000) #tap的点必须是tuple类型,一个点是一个tuple time.sleep(5) print('进入我的页面') # 点击我的钱包 driver.tap([(267, 907)], 500) time.sleep(4) print('进入钱包') # 点击余额 driver.find_element_by_xpath('//*[@text="余额"]').click() time.sleep(4) # 点击充值 driver.find_element_by_xpath('//*[@text="充值"]').click() time.sleep(2) #接下来就是摩拜的充值页面了,由于我太穷充不起,所以就介绍到这里 总结:其实这里只是介绍一个小程序自动化的大概思路吧,有疑问的可以加我qq 970185127 ,未完待续..... |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |