appium 进行 小程序自动化尝试:

由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现)

一、配置基础信息

启动微信app python脚本如下:

二、编写测试脚本进入小程序首页

进入美团小程序首页实现脚本如下:

三、定位美团外卖首页元素(尝试结果不理想)

(1)尝试用android adk 自带UI Automator定位工具定位 

在UI Automator上,点击页面元素,可以发现,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。

(2)获取页面上下文,看是否可以切换至小程序页(无法切换)

尝试打印美团首页context,脚本如下:
 
打印结果:
 

从结果中可以看到,context只有一个,无法切换至小程序页

总结
小程序view页定位到的元素,如下图:
 
从上图中可以看出,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。此时可以定位到元素,但是无法区分元素进行断言校验。

四、appium进行小程序自动化总结

小程序页元素可用UI Automator、appium inspector等定位工具定位到元素,但元素class属性都是一样的,故虽可定位到元素,但无法区分元素进行大多数断言校验,无法实现大多数的自动化用例。所以appium实现小程序自动化可行性不大,不建议用appium进行小程序自动化。

appium进行小程序自动化失败后,又继续寻找其他app自动化工具,苦苦找寻后发现网易的airtest可适用于小程序自动化,若需要进行小程序自动化的,可查看小编的博客【小程序UI自动化(二):airtest小程序自动化

 
 
  
 
 

小程序UI自动化(一):appium小程序自动化尝试的更多相关文章

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

    前言 最近微信的小程序越来越多了,随之带来的问题是:小程序如何做自动化测试? 本篇以摩拜小程序为例,介绍如何定位小程序里面的元素 运行环境: android 7.0 appium v1.7.1 web ...

  2. 微信小程序UI自动化:实践之后的记录01-选择工具/框架

    目录 1. 前言 2. 工具/框架/库选择 2.1 miniprogram-automator官方介绍(摘自官方哈) 小程序自动化 特性 2.2 minium官方介绍 特性 3. 如何选择 4. 对应 ...

  3. 使用AirtestProject+pytest做支付宝小程序UI自动化测试

    一,前言 1,背景 因公司业务需要做支付宝小程序的UI自动化测试,于是在网上查找小程序的自动化资料,发现微信小程序是有自己的测试框架的,但几乎找不到支付宝小程序UI自动化测试相关的资料.白piao失败 ...

  4. 微信小程序一:微信小程序UI组件、开发框架、实用库

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8079095.html 内容持续更新,维护中 邮箱 ...

  5. 微信小程序UI组件、开发框架、实用库...

    UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...

  6. 微信小程序UI组件--Lin UI

    地址:http://doc.mini.7yue.pro/ Lin UI 是基于 微信小程序原生语法 实现的组件库

  7. 5个最优秀的微信小程序UI组件库

    开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果.自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关注度比较高的小程序UI组件库.还没用到它 ...

  8. Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...

  9. 微信小程序 | 51,live新课“小程序UI容器组件”的课堂计划

    零基础前端自学入门:小程序UI容器组件 这是一节以UI布局.容器组件的使用为主题的live,专注于布局与容器这一个点,努力把这一点讲透.这是继4月22日整体入门live“零基础周末学习小程序开发”之后 ...

随机推荐

  1. SQL 一次插入多次数据

    数据插入 INSERT INTO 表名称 VALUES (值1, 值2,....) 指定所要插入数据的列 INSERT INTO table_name (列1, 列2,...) VALUES (值1, ...

  2. 【JAVA】 01-Java基础知识

    链接: 笔记目录:毕向东Java基础视频教程-笔记 GitHub库:JavaBXD33 测试 01-Java基础知识 一.数据类型 基本类型 包装类型 缓存池 二.String 概览 不可变的好处 S ...

  3. 常见前端面试题CSS部分

    1.盒模型 IE 盒子模型:IE的width部分包含了 border 和 pading; 标准 W3C 盒子模型: width/height+border+padding+margin; 2.清除浮动 ...

  4. pwd - 显示出当前/活动目录的名称

    总览 (SYNOPSIS) pwd [OPTION] 描述 (DESCRIPTION) 显示出 完整的 当前 活动目录 名称. --help 显示 帮助 信息, 然后 退出 --version 显示 ...

  5. XILINX FPGA 开发板 XC3S250E 核心板 学习板+12模块

    北京太速科技有限公司为广大合作单位特设海外代购业务,主要包括各类板卡.相机.传感器.仪器仪表.专用芯片等.代购业务仅收取基本的手续费. 北京太速科技有限公司在线客服:QQ:448468544 淘宝网站 ...

  6. SpringBoot中Redis的使用

    转载:http://www.ityouknow.com/springboot/2016/03/06/spring-boot-redis.html Spring Boot 对常用的数据库支持外,对 No ...

  7. ajax提交表单包括文件

    <script src="${pageContext.request.contextPath}/assets/js/jquery-1.8.3.js"></scri ...

  8. 单例设计模式(Singleton)的优化

    单例模式的优化 单例模式懒汉式写法,单例模式的优化有以下四个方面: 使用同步保证线程安全synchronized 使用volatile关键字:volatile关键字提醒编译器后面所定义的变量随时都有可 ...

  9. 网络编程和并发:1.简述 OSI 七层协议

    1. 概念 Open System Interconnection : 开放互联系统 2. 图示 注:图片来源:https://www.cnblogs.com/maybe2030/p/4781555. ...

  10. Spring---数据缓存Cache

    1.Spring缓存支持 1.1.Spring定义了org.springframework.cache.CacheManager类.org.springframework.cache.Cache类接口 ...