热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Airtest自动化测试篇——Airtest简介

目录自动化测试的分层UI自动化工具的比较UI自动化面临的问题Airtest的简介自动化测试的分层一般将自动化测试从上往下分为三层:UI自动化测试接口自动化测试单元模

目录

  1. 自动化测试的分层

  2. UI自动化工具的比较

  3. UI自动化面临的问题

  4. Airtest的简介

  5. 自动化测试的分层

一般将自动化测试从上往下分为三层:

  1. UI自动化测试

  2. 接口自动化测试

  3. 单元/模块自动化测试
    在这里插入图片描述

1.1 单元/模块自动化

单元/模块自动化是直接对代码逻辑进行自动化测试,大多数由开发实施,少部分公司会由白盒测试公司实施。

常用的工具有Java的Junit、testNG,Python的unittest,pytest等。

1.2 集成接口自动化

接口层的自动化测试主要是对系统和组件之间的接口进行测试,主要目标是校验数据的交换和业务的流程,接口测试可以测试功能、也可以测试性能、测试压力、测试安全等等。

由于接口比代码单元要稳定的很多,所以自动化脚本维护成本更低、收益也更大,具有不错的性价比。

常用的测试工具有:Jmeter、Loadrunner、Postman、SoupUI等

1.3 UI自动化

UI自动化是目前做的最多的自动化,是自动化测试中最接近用户侧的测试,尝试将黑盒的功能和UI测试用程序或功能来执行。

UI层的自动化工具一般按照平台来分:有windows、Linux、Android、IOS、Web、微信小程序等。

  1. UI自动化工具的比较

目前常用的UI自动化的工具大致可以按照平台的不同分为:

  1. 桌面自动化工具

  2. web端自动化工具

  3. App自动化工具

2.1 桌面端自动化工具

2.1.1 AutoIt3

基于VB实现,获取信息少,编程实现复杂

https://www.autoitscript.com/site/autoit/downloads/

2.1.2 Microsoft UI Automation

Microsoft UI Automation是一个可访问性框架,它使Windows应用程序能够提供和使用有关用户界面(UI)的编程信息。

它提供对桌面上大多数UI元素的编程访问。它使辅助技术产品(如屏幕阅读器)能够向最终用户提供有关UI的信息,并通过标准输入以外的方式操作UI。UI Automation还允许自动化测试脚本与UI交互

https://github.com/microsoft/Microsoft-UI-UIAutomation

2.1.3 pywin32

pywin32是一个Python库,它为Python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等,安装后会自带一个pythonwin的IDE

https://github.com/mhammond/pywin32

2.2 Web端自动化工具

2.2.1 selenium

目前最主流的web自动化工具,几乎完美支持所有主流浏览器和主流编程语言,轻量并开源

https://github.com/SeleniumHQ/selenium

2.2.2 QTP/UFT

老牌的商业自动化工具,使用VB script,支持脚本的录制和回放

https://www.microfocus.com/zh-cn/products/uft-one/overview

2.3 App自动化工具

目前最主流的是Appium,支持android和ios自动化,开源,支持多种开发语言。

下面是一个简单的App自动化工具对比:
在这里插入图片描述

  1. UI自动化面临的问题

  2. 移动端、桌面端和web端的开发平台和开发工具不同,很难使用一套工具对以上三端进行自动化测试

  3. 随着需求和代码的更改,UI自动化的脚本代码需要随之更改,维护成本高,尤其在游戏测试领域,可能不到一周就要重写用例代码

  4. 某些软件产品中的图片信息或者图片内容很难进行验证

  5. 在游戏测试领域,游戏引擎种类多,UI实现方式也很多,所以以前游戏的自动化测试主要靠开发编写专用的测试工具,自动化比较难实现

  6. Airtest的简介

4.1 简介

Airtest是一个由网易开发的跨平台的UI自动化测试框架,基于图像识别原理,适用于游戏和App。
在这里插入图片描述

源码地址:

https://github.com/AirtestProject/Airtest

项目文档:

https://airtest.readthedocs.io/zh_CN/latest/

优点:

基于python,跨平台,可以对桌面、web和移动端进行UI自动化测试,尤其适用于游戏和App,同时支持windows、android和ios

4.2 组成

整个工具套件由4个大的部分组成:

  1. Airtest IDE

  2. Airtest

  3. Poco

  4. Airlab

4.2.1 AirtestIDE

跨平台的UI自动化测试编辑器, 集成了python3.6,相关的airtest和poco库,无须本地安装python环境就能直接使用的集成开发环境,适合新手。
在这里插入图片描述

4.2.2 Airtest

Airtest是一款基于 Python 的、跨平台的UI自动化测试框架。基于图像识别的原理,适用于所有 Android、 iOS和 Windows 应用。因此,不论是手机上的app还是游戏,或者是Windows电脑上面的应用或者游戏等等,都可以用Airtest框架

4.2.3 Poco

Poco是一款基于 UI控件搜索 的自动化框架,它本质上也是 python 第三方库

4.2.4 Airlab

网易Airtest云测试服务


推荐阅读
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
author-avatar
kyle_G_476
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有