返回顶部
首页 > 资讯 > 精选 >FAutoTest一个 H5、小程序自动化测试框架
  • 751
分享到

FAutoTest一个 H5、小程序自动化测试框架

2023-06-05 01:06:15 751人浏览 八月长安
摘要

简介随着产品业务形态逐渐从 App 延升到微信小程序、微信公众号以及 QQ公众号等,而之前的自动化建设主要是 Native App 为主,全手工测试已无法满足快速增长的业务需求。为提升测试效率和质量,FAutoTest 框架致力于解决 QQ

简介

随着产品业务形态逐渐从 App 延升到微信小程序微信公众号以及 QQ公众号等,而之前的自动化建设主要是 Native App 为主,全手工测试已无法满足快速增长的业务需求。为提升测试效率和质量,FAutoTest 框架致力于解决 QQ、微信内 UI 的自动化问题(包括微信内 H5页面和小程序、QQ 内 H5页面),提升自动化测试的效率和稳定性。

FAutoTest 是一款成长中的框架,吸收借鉴了一些 UI 自动化工具的优秀设计理念和思想。如果框架有不足地方,或者你有更好的建议,欢迎提交 Issues 参与贡献。

特性

FAutoTest 专业服务于微信 H5/小程序的UI自动化测试,提升测试效率与质量。

  • 支持微信 H5页面,能识别常见 H5控件,能获取页面任意内容(常见的如文字、图片、链接等)
  • 支持小程序内控件识别,操作,页面内容获取等
  • 支持安卓 Native 页面组合操作使用
  • 简单的 api 设计,较低的使用门槛
  • 支持基础的性能测试监控
  • 功能扩展性强,扩展门槛低

架构

  1. 整体采用分层设计,API设计方式参考 WEBDriver

  2. 整体框架是一个同步阻塞的模型:在一个线程中循环的执行 receive 方法,等待收到 response,发送消息后,阻塞,只有当 receive 方法获得消息时,才会解除阻塞,发送下一条消息,具备超时异常处理机制

  3. 框架内打包了 python 版本的 UIAutomator,方便在安卓 Native 页面进行操作

FAutoTest一个 H5、小程序自动化测试框架

User Interface(用户交互层): 提供给用户所有的界面操作 API(H5界面及小程序界面),使用者不需要关注框架内部实现,只需要关注自身业务逻辑流程(手工用例流程转换成自动化流程)

PageOperator(操作解析层): 主要用于接收和解析用户命令后传递给下层 Engine 层

Engine( H5&小程序引擎层): 将用户命令传输到手机,并返回结果信息。封装 websocket 和单线程池,通过WebSocket Debug URL 和浏览器内核建立链接,发送 JSON 格式的协议到手机端进行用户指定的操作。

业务流程

  • H5页面/小程序 UI 自动化执行流程

    FAutoTest一个 H5、小程序自动化测试框架
  • 自动化脚本调用流程

    FAutoTest一个 H5、小程序自动化测试框架

依赖软件环境

软件软件要求
Python 版本2.7.x 版本
Java jdk 版本Java 语言框架(最低1.7)
Android SDK 版本4.4 及以上版本
adb 版本最新版本即可
Python IDE 开发环境PyCharm CE等
1. Python 版本安装

下载 & 安装 Python,安装后在终端输入命令 python -v 和 pip list,能够执行,说明 Python 环境配置成功。

2. Java JDK 版本安装

下载 & 安装 Java JDK 安装后在终端输入命令java -version,java, javac命令能够执行,则 Java 环境配置成功。

3. Android SDK 版本安装

下载 & 安装 Android Studio,然后在里面安装 Android SDK

4. 配置 adb 环境

安装 Android Studio 后,配置 SDK 环境(若自动安装不成功,可到手动下载安装 ,安装后在终端输入命令 adb version 执行有结果,则说明配置成功

5. IDE 安装

下载 & 安装 Pycharm CE

FAutoTest 开发环境安装

库名称版本下载地址
uiautomator0.3.2https://pypi.org/project/uiautomator/#files
lxml4.2.3Https://pypi.org/project/lxml/4.2.3/#files
bidict0.17.0https://pypi.org/project/bidict/#files
websocket-client0.44.0https://pypi.org/project/websocket-client/#files
  • 使用pip安装框架所需的第三方库 uiautomator、websocket-client、lxml、bidict、ADBkeyBoard,如安装lxml、bidict、websocket-client可用pip形式安装,如安装lxml,

    pip install lxml
  • 安装自身框架

    pip intsall dist/fastAutoTest-xxx.whl
  • 打开微信Debug模式,安装 TBS 内核

    • 可在微信中打开 X5 调试地址:http://debugx5.qq.com
    • TBS 内核安装地址:http://debugtbs.qq.com
    • 详情方式见:http://x5.tencent.com/tbs/guide/debug/faq.html

使用方式

如何写测试案例,如微信 H5页面,如下所示:

coding=utf-8 from fastAutoTest.core.h6.h6Engine import H5Driver # http://h6.baike.qq.com/mobile/enter.html 从微信进入此链接,首屏加载完后执行脚本 if __name__ == '__main__':    h6Driver = H5Driver()    h6Driver.initDriver()    h6Driver.clickElementByXpath('/html/body/div[1]/div/div[3]/p')    h6Driver.clickFirstElementByText('白内障')    h6Driver.returnLastPage()    h6Driver.returnLastPage() print(h6Driver.getElementTextByXpath('/html/body/div[1]/div/div[3]/p'))    h6Driver.close()

--结束END--

本文标题: FAutoTest一个 H5、小程序自动化测试框架

本文链接: https://lsjlt.com/news/240699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • FAutoTest一个 H5、小程序自动化测试框架
    简介随着产品业务形态逐渐从 App 延升到微信小程序、微信公众号以及 QQ公众号等,而之前的自动化建设主要是 Native App 为主,全手工测试已无法满足快速增长的业务需求。为提升测试效率和质量,FAutoTest 框架致力于解决 QQ...
    99+
    2023-06-05
  • Python 测试框架:自动化测试的利器
    Unittest Unittest 是 Python 内置的单元测试框架。它提供了一组全面的断言方法,用于比较实际结果和预期结果。Unittest 还可以轻松分组和组织测试用例,并生成详细的测试报告。 Pytest Pytest 是一个功...
    99+
    2024-04-02
  • Python 测试框架:自动化测试的革命
    随着软件开发的复杂度不断增加,自动化测试已成为确保应用程序质量和可靠性的关键步骤。Python 因其灵活性、可扩展性和广泛的库而成为自动化测试的首选语言之一。本文将深入探讨 Python 测试框架,了解它们如何彻底改变了自动化测试的格局。...
    99+
    2024-04-02
  • 推荐一款新的自动化测试框架:DrissionPage
    今天给大家推荐一款基于Python的网页自动化工具:DrissionPage。这款工具既能控制浏览器,也能收发数据包,甚至能把两者合而为一,简单来说:集合了WEB浏览器自动化的便利性和 request...
    99+
    2023-09-07
    python 前端 软件测试 自动化测试 职场和发展
  • 移动端自动化测试框架搭建
    搭建框架的几点思考: 需要框架实现什么功能 前期需要做数据与业务分离,方便维护 测试用例集管理要方便,便于异常时重新Run单条用例 用例设计需要尽可能简单,多提供公共方法     目前设计框架如下图:    CommonLibr...
    99+
    2023-01-30
    框架 测试
  • 淘宝Android自动化测试框架-TMTS
      2010年是淘宝无线突飞猛进开创无线新业务的一年。而从2011年初开始,淘宝技术质量部自动化测试组便致力于手机自动化框架的调研和开发工作。TMTS(Taobao Mob...
    99+
    2022-06-06
    测试 框架 Android
  • Android黑盒自动化测试框架Robotium
      用Robotium打算对Android进行黑盒的自动化测试,在用例子进行实践的时候出现了一些问题,现在不知道怎么解决,暂时记录下来,期待有人帮助或者自己重新尝试。  ...
    99+
    2022-06-06
    自动 自动化 robotium 自动化测试 测试 Android
  • python自动化测试框架有哪些
    python中的自动化测试框架有以下几种LettuceLettuce是一个基于Cucumber和Python开发的自动化测试工具,Lettuce主要专注于具有行为驱动开发特征的普通任务,使用Lettuce能够使得整个测试过程更流畅、甚至更有...
    99+
    2024-04-02
  • UI自动化测试框架Cypress初探
    Cypress是一个用于编写UI自动化测试的JavaScript框架。它具有简单易用、强大灵活、快速高效等特点,能够帮助开发人员进行...
    99+
    2023-09-21
    Cypress
  • Pytest自动化测试框架的使用
    目录Pytest和Unittest测试框架的区别?Pytest 安装Pytest 示例标记固件(Fixture)预处理和后处理作用域自动执行参数化总结Pytest和Unittest测...
    99+
    2023-03-19
    Pytest 自动化测试框架 Pytest 自动化
  • Python+selenium自动化测试框架详解
    目录自动化测试框架1.基础层(通用层)2.功能层(页面层)3.业务层4.用例层4层框架对应的项目工程总结 自动化测试框架 项目自动化测试框架设计为4层 1.基础层(通用层) 基础层:...
    99+
    2024-04-02
  • Python 测试框架:释放自动化测试的力量
    Unittest:内建的可靠解决方案 Unittest 是 Python 内置的测试框架,提供了一组用于编写和运行单元测试的类和函数。它非常简单易用,并与 Python 标准库完美集成。单元测试可用于测试单个函数或类,有助于确保代码的逻辑...
    99+
    2024-04-02
  • 如何在java中使用Selenium开发一个自动化测试框架
    这篇文章给大家介绍如何在java中使用Selenium开发一个自动化测试框架,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和...
    99+
    2023-06-06
  • IOS、Android自动化测试框架Appium概述
      Appium   Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。App...
    99+
    2022-06-06
    appium IOS 测试 Android
  • Android自动化测试框架?Robotium 4.3介绍
      Android自动化测试框架Robotium新推出的4.3版本的主要工作是审查之前的代码并做优化,同时做了一些bug修复和新功能。   新版的的功能是: ...
    99+
    2022-06-06
    robotium 测试 框架 Android
  • 有哪些开源自动化测试框架
    这篇文章主要介绍“有哪些开源自动化测试框架”,在日常操作中,相信很多人在有哪些开源自动化测试框架问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些开源自动化测试框架”的疑惑...
    99+
    2024-04-02
  • PHP接口自动化测试框架实现
    我们来看一个简单的PHP实现的超简单的接口。 ...//报名验证private function apply_verify() { $raid = $this->input->get_post('raid'); $mid = $...
    99+
    2023-09-21
    php android oracle 软件测试 程序人生
  • Pytest自动化测试框架如何使用
    这篇文章主要讲解了“Pytest自动化测试框架如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pytest自动化测试框架如何使用”吧!Pytest和Unittest测试框架的区别?如何...
    99+
    2023-07-05
  • 自动化测试Pytest单元测试框架的基本介绍
    目录一、Pytest概念二、Pytest特点三、Pytest安装安装pytest命令:查看pytest版本:安装生成测试结果的HTML报告pytest-html四、Pycharm配置...
    99+
    2024-04-02
  • Python 测试框架之谜:揭开自动化测试的秘密
    自动化测试对于确保软件质量至关重要,而 Python 中丰富的测试框架生态系统为开发者提供了强大的工具来简化和高效地执行测试任务。本文将揭开 Python 测试框架的秘密,探索其核心概念、优势和流行框架。 核心概念 断言 (Assert...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作