APP UI自动化测试框架总结,各种项目实战加源码等你来拿

news2024/10/7 3:24:10

目录

开发语言选择

UI测试框架选择

单元测试框架选择

测试环境搭建

脚本编写

Jenkins集成


开发语言选择

通常用于自动化测试的编程语言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我们会选择自己熟悉的编程语言来编写自动化脚本,但对于编程基础基本为0的童鞋(或者专注于做自动化测试的童鞋),推荐学习使用Python。

相对于其他语言,Python做自动化测试有以下优点:

  • 对于初学者来说,Python语法简洁,可读性强,易于学习

  • 有强大的第三方库,编写脚本效率更高

  • Python中的Pytest自动化测试框架是目前最流行的测试框架之一

APP自动化测试:APP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿_哔哩哔哩_bilibiliAPP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿共计15条视频,包括:1、APP自动化【环境搭建及App自动化测试原理】、2.APP自动化【安装appium server】、3.APP自动化【Desired Capabilities-Appium自动化配置项】等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1yh4y1o7pc/?spm_id_from=333.999.0.0

 

UI测试框架选择

选择开发语言之后,我们需要选择UI测试框架。目前较为主流或者使用较多的APP UI自动化测试框架有Appium、Airtest等。

Appium

  • 开源

  • Appium server支持在Windows、macOS、Linux上运行

  • 支持多种主流编程语言,如Python、Java、Javascript、Ruby等

  • 支持Android、ios、H5自动化测试(集成了UiAutomator、UiAutomation框架)

  • 环境搭建较为复杂 

Airtest

  • 由网易开发,只支持python语言

  • 提供集成Airtest与Poco两个测试框架的强大的IDE,对新手很友好

  • 集成基于图像识别的UI自动化测试框架airtest,即使不懂代码也能编写自动化脚本

  • 跨平台,可对Windows、Android和iOS应用软件进行自动化测试

  • 对游戏测试较为友好

  • Airtest与Poco本质上是python的两个第三方库,测试环境搭建没有Appium那么复杂

选择框架

根据实际情况选择合适的框架。

以下情况可以优先选择网易的Airtest:

  • 无编程基础

  • 游戏测试

  • 测试场景较为单一(Appium相对来说较为笨重)

  • 支付宝小程序自动化(博主目前使用Airtest集成的Poco框架做支付宝小程序自动化测试)

以下情况建议选择Appium:

  • 测试场景比较复杂(如需要多台手机批量测试)

  • 测试脚本语言非Python(Airtest目前只支持Python)

单元测试框架选择

区别于上面所说的UI测试框架,单元测试框架用于加载测试用例、执行测试用例、断言、输出测试结果等。

不同的开发语言有各自对应的单元测试框架,如Java有JUnit、TestNG、Robot等,Python有unittest、pytest等。博主主要使用Python做自动化测试,所以这里只针对Python单元测试框架做说明。

python主流的单元测试框架:

  • unittest,Python自带的单元测试框架

  • pytest,基于unittest开发,易用性好,信息更详细,插件众多

  • robot framework,基于Python的关键字驱动测试框架,有界面,自带报告及log,功能完善,清晰美观

这里强烈推荐使用pytest,功能强大且容易上手,官方文档为英文,中文可参考Pytest 使用手册。

 APP自动化测试:APP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿_哔哩哔哩_bilibiliAPP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿共计15条视频,包括:1、APP自动化【环境搭建及App自动化测试原理】、2.APP自动化【安装appium server】、3.APP自动化【Desired Capabilities-Appium自动化配置项】等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1yh4y1o7pc/?spm_id_from=333.999.0.0

 

测试环境搭建

测试电脑选择

有条件的话建议使用Mac机器专门用于UI自动化测试,因为ios app ui自动化只能在Mac机器上进行。

测试手机选择

刚开始进行测试脚本调试时可以选择模拟器,Android模拟器可选择夜神模拟器、雷电、mumu。

 待整个测试项目开发完成后,建议换成真机跑自动化脚本,这样更接近真实的用户使用场景。

开发语言环境

建议安装python 3以上的版本,官方已经停止对python2版本的更新维护。

UI自动化测试框架环境搭建

windows环境下搭建Appium请参考其他博客,Mac下搭建Appium稍微复杂点,后续会写博客分享。

若选择Airtest框架的话,请参考官网。

脚本编写

编写测试demo

为了验证整个测试环境是否搭建成功、是否能跑通用例,一般我们需要先编写简单的测试脚本并执行,通过则说明整个环境搭建成功。

确定目录结构

推荐使用Page Object设计模式来开发APP UI自动化测试项目,请参考博客Page Object设计模式。

选择测试报告

不同的开发语言、不同的单元测试框架可选用不同的测试报告。在python中,unittest框架使用HTMLTestRunner或BSTestrunner生成测试报告,可参考博客unittest单元测试框架。Pytest框架使用pytest-html生成报告或通过allure定制测试报告。

以上步骤完成后,继续往测试项目里新增测试用例便可。

Jenkins集成

根据上述步骤编写完成整个app UI自动化测试项目,且运行一段时间稳定后,就可以考虑进行Jenkins的集成。

总结

总结APP UI自动化可使用以下几种实现方式:

  • python + appium + unittest + HTMLTestRunner

  • python + appium + pytest + pytest-html / allure

  • python + Airtest(AirtestIDE)

  • python + Poco + pytest + pytest-html / allure

可根据实际情况自行选择。

APP自动化测试:APP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿_哔哩哔哩_bilibiliAPP自动化测试零基础必看教程,从零到一教你学会APP自动化,各种项目实战加源码等你来拿共计15条视频,包括:1、APP自动化【环境搭建及App自动化测试原理】、2.APP自动化【安装appium server】、3.APP自动化【Desired Capabilities-Appium自动化配置项】等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1yh4y1o7pc/?spm_id_from=333.999.0.0

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/573254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spark安装

安装 su - root https://repo.anaconda.com/archive/ Anaconda3-2021.05-Linux-x86_64.sh sh ./Anaconda3-2021.05-Linux-x86_64.sh yes enter exit() exit() 重新登录 su - root 配置成功 (base) [rootnode1 ~]# python Python 3.8.8 (default, Apr 13 2021, 19:58:26) [GC…

SpringBoot集成slf4j日志和logback.xml配置详解

SpringBoot集成slf4j日志和logback.xml配置详解 一、Slf4j概述二、使用Slf4j打印日志1.代码方式使用Slf4j2.lombok使用注解引入Slf4j 三、项目如何配置logback.xml1. applicaiton.yml配置2. 日志级别及优先级3. logback.xml日志配置文件4. logback.xml日志配置的实现效果 四、l…

Coremail与中科曙光达成战略合作 紧抓数字经济大机遇

5月12日,广东盈世计算机科技有限公司(以下简称:Coremail)与曙光信息产业股份有限公司(以下简称:中科曙光)正式签约合作协议、达成战略合作伙伴关系。 Coremail技术副总裁林延中、中科曙光副总裁…

【高级语言程序设计(一)】第 10 章:文件

目录 一、文件概述 (1)文件定义 (2)文件命名 (3)文件分类 ① 按照文件的内容划分 ② 按照文件的组织形式划分 ③ 按照文件的存储形式划分 ④ 按照文件的存储介质划分 (4)文…

vulnhub dc-7

1.信息搜集 端口 22,80 存活主机 192.168.85.134 2.访问网站进行信息搜集 发现提示信息,大体意思,有一个新概念,爆破可能失败,跳出框思考 cms:drupal 8.0 msf尝试利用失败 3.对网站进行渗透测试 尝试弱口令 失败 试出…

MapReduce实现KNN算法分类推测鸢尾花种类

文章目录 代码地址一、KNN算法简介二、KNN算法示例:推测鸢尾花种类三、MapReduceHadoop实现KNN鸢尾花分类:1. 实现环境2.pom.xml 3.设计思路及代码1. KNN_Driver类2. MyData类3. KNN_Mapper类 4. KNN_Reducer类 代码地址 https://gitcode.net/m0_567453…

企企管理云是什么应用?如何自动同步数据至企企管理云

企企管理云是什么应用? 企企管理云,是企企科技依托创始团队30年企业级管理软件实践与服务经验,坚持技术和产品立业,逐步构建的企业经营管理一站式服务平台。企企管理云围绕「现代服务业」的业财一体化,聚焦于项目管理…

Sui网络更新计划

Sui主网已经上线,接下来一段时间,我们计划将对Sui网络每两周进行一次迭代。待网络稳定后,我们将减缓迭代的频率。 为了网络稳定切换,每个版本都有其分支,大多数情况下是两个实时分支,一个用于当前的主网版…

如何在华为OD机试中获得满分?Java实现【任务混部】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 公司创新实验室正在研究…

如何清理harbor的磁盘空间

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 registry garbage-collectharbor自带的清理工具docker image prune -a…

Flume系列:Flume通道拓扑结构

目录 Apache Hadoop生态-目录汇总-持续更新 1: 基础架构 2:简单串联 3:复制(Replicating)和多路复用(Multiplexing) 4:负载均衡和故障转移 5:聚合 Apache Hadoop生态-目录汇总-持续更新 系统环境:centos7 Java环境…

字符串---第一部分 序列、字串;上升,公共

第一部分 最长上升子序列,最长上升子串,最长公共子序列,最长公共子串--dp 第二部分 KMP,trie,双指针 第三部分 待定 动态规划:审题,状态确定,状态转移,边界条件 线性…

Redis客户端介绍

Redis客户端 命令行客户端 redis安装完成后有自带的命令行客户端,即redis-cli,使用方式如下 redis-cli [options][commonds]options——参数 -h 127.0.0.1:指定要连接的redis节点的ip地址,默认值127.0.0.1-p 6379:指…

[中间件漏洞]nginx漏洞复现

目录 文件解析漏洞 原理分析 复现过程 防御方法 目录遍历漏洞 原理分析 复现过程 防御方法 空字节代码执行漏洞 复现过程 防御方法 整数溢出漏洞(CVE-2017-7529) 复现过程 防御方法 文件名逻辑漏洞(CVE-2013-4547) 复现过程 防…

学习笔记 | 基于大模型的优质 Prompt 开发课

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 手把手带你构建高质量 Prompt,掌握以文心一言为代表的大模型对话技巧与高级用法,与大模型高效交流从而释放大模型强大的生成能…

震坤行平台商品详情页面数据

震坤行( (zkh.com) 商品详情页面数据通常包括以下信息: 商品名称、型号、品牌、颜色、大小等基本属性商品主图和详细图集,包括多角度展示、细节展示等商品描述,包括功能介绍、使用方法、注意事项等商品价格…

如何在华为OD机试中获得满分?Java实现【简单的解压缩算法】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 现需要实现一种算法,能…

Python解析excel之Android多语言支持

最新车企给了一份多语言的翻译表,需要进行多语言支持,像下面这样 针对这种文件,我们肯定不能一个个字符串取拷贝,很容易出错,所以想用python取处理这个表格然后生成对应的string文件. 1.首先我们建立好string的文件夹…

手写简单的RPC框架(一)

一、RPC简介 1、什么是RPC RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例如TPC/UDP等,为通信程序之间携…

【P33】JMeter 临界部分控制器(Critical Section Controller)

文章目录 一、临界部分控制器(Critical Section Controller)参数说明二、测试计划设计 一、临界部分控制器(Critical Section Controller)参数说明 可以对指定代码块增加同步锁,确保此代码块由单线程执行;…