基于airtest+poco微信服务号自动化测试NO1
基于airtest微信服务号自动化测试NO1
- 1. 项目背景
- 1.1 框架选择airtest+模拟器
- 1.2 软件安装
- 1.2.1 mumu模拟器
- 1.2.2 airtest安装
- 1.2.3 调试工具PocoHierarchyViewer
- 1.2.4 模拟器安装微信
- 1.3 coding
- 1.3.1 获取微信APP的package属性
- 1.3.2 获取mumu模拟器连接代码
- 1.3.3 pocoService
- 1.4 代码
1. 项目背景
公司有几个定制开发的微信公众号,现在平稳上线一段时间了,正好适合自动化测试的应用场景,就和公司提议把微信自动化测试提上日程(实际是笔者太懒,不想每天做线上验证的工作,哈哈),这里做个记录。
实现思路:基于python语言,使用airtest和poco框架,连接模拟器,实现微信公众号自动化测试;airtest可以基于图片进行自动化测试,但是图片截图比对限定了使用条件,变更手机或分辨率就可以导致自动化测试失败(对比图片有变化就不行了),使用poco就是定位页面元素属性,不会受到截图的限制;
1.1 框架选择airtest+模拟器
笔者比较熟悉python语言,以前做数据分析和后台系统业务单元测试都是用的python,所以就从这方面入手了。
安卓手机模拟器:网易mumu模拟器;
python+airtest+poco
1.2 软件安装
1.2.1 mumu模拟器
可以用真机,我这里是为了节省资源,选择了安卓模拟器mumu;这是我的版本;
1.2.2 airtest安装
Airtest图像识别框架
PocoUI控件搜索框架
python版本
pip install poco;
pip install pocoui;
安装pip install opencv-contrib-python==3.2.0.7 如果失败先执行卸载pip uninstall opencv-contrib-python然后再重新执行安装,如果pip版本过低可以升级:pip install opencv-contrib-python也可不升级直接执行安装)
安装airtest: pip install airtest
建议用清华源进行安装
http://pypi.douban.com/simple/
1.2.3 调试工具PocoHierarchyViewer
获取poco属性的工具
1.2.4 模拟器安装微信
过程略过
1.3 coding
1.3.1 获取微信APP的package属性
获取微信app的package属性
模拟器上打开微信app,任意页面使用PocoHierarchyViewer,获取属性,取package的值:com.tencent.mm
1.3.2 获取mumu模拟器连接代码
Android://127.0.0.1:5037/127.0.0.1:7555
1.3.3 pocoService
poco在运行前会自动在安卓机安装一个驱动服务apk,这个是自动安装的。
1.4 代码
引入代码包
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
auto_setup()#初始化脚本运行环境(如果使用自动生成报告功能或需要重定义log日志的话,建议按代码示例赋值)
connect_device #连接设备(这里连接的是mumu模拟器)
start_app #启动app
# -*- encoding=utf8 -*-
from airtest.core.api import *__author__ = "码上有肉"
__title__ = "线上功能回归验证"
__desc__ = ''''''
auto_setup(__file__, logdir=True)
app_package = "com.tencent.mm"
device_id = "Android://127.0.0.1:5037/127.0.0.1:7555"
connect_device(device_id)
start_app(app_package)
这只是样例,演示流程,未完待续。。。。
基于airtest+poco微信服务号自动化测试NO1相关推荐
- 基于OpenJWeb平台的微信服务号开发培训-生成带参数二维码
因为OpenJWeb平台已经集成了微信服务号接口,所以在OpenJWeb平台上开发微信服务号会起到事半功倍的作用.本文介绍如何使用微信公众号接口生成带参数二维码功能. 下面是开发及操作过程: (1)首 ...
- 百万级微信服务号如何做活动运营和用户运营?
原文发布于2014年9月初. 大家好,我叫米拉,我是做新媒体运营的,我们运营的微信服务号目前已突破100W+粉丝.通过活动测试我们的用户活跃度在20%左右.头条阅读打开率基本保持业内水平10%,在新榜 ...
- 基于Vue的微信公众号开发及选型研究
目录 1.背景介绍 1.1微信公众号简介 1.2Vue框架简介 1.3组件库简介 2.开发流程 2.1申请微信公众号 2.2申请微信测试号及配置 2.3安装微信开发者工具 2.4创建Vue项目 2.5 ...
- 微信服务号、订阅号和企业号的差别(运营和开发两个角度)
一.运营的角度 1.1.概括 订阅号: 微信最初的形态是一个纯粹的社交工具,也就是人与人之间的联系工具,当中又分熟人之间的联系和陌生人之间的联系.于是就诞生了朋友圈和订阅号. 而订阅号的作用就是媒体社 ...
- PHP 开发社区微信服务号实战图解
本博文就月初刚上线的微信服务号,图文进行总结分享给大家. 去年年底,我所在的团队讨论要开发微信号,话题由此拉开: 原来有一个3年前注册的微信号,但是后台操作无法从"订阅号"变 ...
- 微信服务号开发-获取用户位置信息
微信服务号开发-获取用户位置信息 在微信公众号开发的中,获取用户位置信息是非常常见的功能需求,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动. 下面将介绍微信服务号获取用户位置信息的 ...
- 视频教程-基于python的微信公众号开发教程-微信开发
基于python的微信公众号开发教程 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信 ...
- 微信服务通知消息找回_第三方平台微信服务号模板消息怎么发送
使用公众号平台模板消息功能,无法发送模板消息,如果想要发送模板消息,可以用第三方平台微号帮功能模板消息群发实现,也可自己根据公众号平台的接口开发实现,均可以为微信服务号发送模板消息,且发送模板消息不占 ...
- 全面解读:微信服务号升级和群发增至4条的应用方法
全面解读:微信服务号升级和群发增至4条的应用方法 摘要:微信公众平台正式公布微信服务号升级的消息,提供高级群发接口,火速华磊初步总结:群发接口的提供意味着企业获得了精准推送的能力.企业获得了每月多次激 ...
最新文章
- IP_FORWARD转发
- python免费入门手册-Python 基础入门教程
- 【错误记录】编译 ijkplayer 报错 (fatal error: libyuv.h: No such file or directory #include “libyuv.h“ )
- stm32f103 spi crc
- String.format()的使用
- [ZJOI2015] 幻想乡战略游戏(树链剖分 + 线段树二分 + 带权重心)
- 常见问题摘要(生活篇)
- woocommerce 分类到菜单_Woocommerce商店显示分类
- String,StringBuffer,StringBuilder效率优先关系说明
- IS-IS详解(十六)——IS-IS 分片扩展
- python在工程管理专业的应用_工程大数据在水利工程建设管理的应用
- 五金行业智慧采购解决方案:应用集中采购协同管理系统激活企业数字化采购价值
- Shadowmask
- SAP中物料采购PO和SA共存情况下的标准价格确定
- dell计算机一直重启,dell开机无限循环重启如何处理
- 信源编码作业(1)——绘制并分析清浊音频谱图
- 郭博分析modbus主机模式
- Flutter 调用百度地图APP实现位置搜索、路线规划
- 编程-----魔法币投币方案设计
- 网页收录数量与网站排名有关系吗?