Appium python自动化测试系列之移动自动化测试!

1.1 移动自动化测试现状

因为软件行业越来越发达,用户的接受度也在不断提高,所以对软件质量的要求也随之提高,当然这个也要分行业,但这个还是包含了大部分。因为成本、质量的变化现在对自动化测试的重视度越来越高,在几年前自动化测试还没有像现在这么普及,但是现在随便去一家公司面试都会问到自动化测试,当然这个和他们公司是否运用到另说。

但是不言而喻的是大家都意识到了软件测试这个行业都走向了自动化这条路。或许你认为实施自动化可能不是必须的,可能在你的观念中测试思想是最重要的,所谓的自动化工具或者框架都是用来辅助的,但是作者想告诉你的是:计算机行业的发展、软件测试行业的发展其实就像工业革命一样,为的是通过此途径解决人类手工劳动的复杂性,当然可能并不一定是这几年出现,但是如果我们不学习肯定会被时代淘汰。

对于现在的我们来说自动化测试是我们必须掌握的技能,同时它也是这个行业的一种发展趋势,当然你想要提高到更高的一个档次可以往测试开发走,我坚信你能够走得更远。

1.2 本课程目标

因为作者也是从一个初学者过来的,而且在初学的过程中走了许多的弯路,所以作者希望通过本书带领读者从一个初级用户到高级用户,从不会到自己能够独挡一面。

我们共同的目的是先掌握android的基础知识、appium相关环境知识、python的基础知识、常见api的使用以及封装、日志的收集、报告的生成、再是我们常用的数据驱动、页面驱动,还有后面的unittest框架的介绍以及使用。

1.3 自动化测试流程

无论在做什么事情之前都需要掌握其流程,自动化也是一样,我们首先要掌握的就是流程,如果你连最起码的流程都无法掌握,那么你也没办法做好自动化。作者将通过自己的项目经验来写,当然这个不一定就是标准的答案,所以如果有觉得不符合的也不要吐槽,可以提出来一起讨论。

我们通过下面的图片来了解

可能有的人会有疑问说:这个怎么看就是一个v模型呢?这个作者只是为了让大家更容易理解这样编写的。可能还有人会说我们做自动化为什么不是直接拿着需求就开始写代码,浪费那么多时间去做其他的有什么好处呢?我们来一 一讲解。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】

1、需求了解:当给你一个需求或者一个系统让你去做自动化的时候你什么都不知道你就去做自动化能行吗?你不去分析需求或者系统的哪些模块儿适合做自动化你怎么去做?如果盲目的去做,当你做到后面的时候可能你框架还没弄好需求或者系统又变了,那你是否做了无用功?所以我们第一步一定是确定需求或者系统哪些模块适合做自动化,而且一定要明白这个需求或者系统做自动化给我们带来的好处是什么,而不是说做自动化就是为了表示我们会做。

2、需求分析:和需求了解有类似之处,我们在这个期间主要做的就是分析需求或者系统哪些模块适合做自动化,做自动化给我们的好处是什么,为后期方案提供参考,提供可用信息。

3、方案选择:有的人可能对选择方案会比较陌生,不知道这个到底是干什么的?那么问你一个很简单的问题,现在自动化测试框架常见的有robotium、appium、monkeyrunnner、UIAutomator等等,这么多的框架你为什么选择学习appium呢?其实这就是一个方案的选择,那么有时候你也会根据你项目的需求去选择一个更加适合的框架,让我们这个需求实现利益最大化。

4、环境准备:这个最好理解,方案选择好之后就该准备环境了。这个环境不会像大家想的那样配置一个jdk、appium、ide就行了,你需要考虑的是appium的版本、持续集成、代码管理等等问题,这个详细内容在后面框架部分作者会讲到。

5、系统设计:刚开始接触自动化的小伙伴可能对这个比较陌生,不知道什么叫做系统设计,不用担心。在做自动化的时候大家是否考虑过一个问题:在自动化过程中我们公用的东西是怎么提取出来的,为什么要按照不同的包结构来进行框架搭建,为什么不能够是所有的都在一个包下或者一个类下面?我们简单的看一下下面这个图片:

从图片中我们能够看出在这个工程中我们有专门存放app的地方,有单独的配置文件、case、以及读取配置文件的地方,共同的特点就是他们都没有在一起,这还只是一个简单的例子,在以后我们的工作中这个是最常见的,在开发之前我们就需要把这些规划好,因为一个项目往往是一个团队来做,那么大家肯定是先划分模块,分工,在后期还会涉及到一些模块间的调用。目的就是让我们一目了然的就知道这个包是做什么的,把公用的都提取了,各司其能。

6、编码:编码故名思意就是编写代码,只是这里我们的编写代码是根据事先写好的用例来进行编写代码。

笔者在这里说一个题外话,这个也是很多初学者会面临的一个问题,这也是为什么很多人看了一些自动化的资料但是一直无法做自动化的原因。在很多的公司自动化会分两个组,一个是开发测试框架,一个是写测试用例,这里的测试用例是自动化的case,不要理解错。

7、执行:执行是整个自动化展示成果的重要一部,最后的结果我们看到的是执行了多少case,通过多少,通过率是多少,失败的为什么失败。这也是领导或者其他相关人员想看到的数据。

那么为了这一步我们的自动化要做多少准备呢?作者会在本书中一 一给大家讲解。

1.4 自动化测试用例的编写

自动化测试用例和我们常用的功能测试用例虽说区别不是很大,但还是有一定的区别,下面我们用登陆功能来举例:

功能冒烟用例:

(备注:因为格式原因所以表格里面没办法调整,用例中步骤1=>1,以此类推)

上面图片就是一个简单登陆冒烟测试,自动化的用例不同之处在于更仔细。来我们直接通过下面的用例来给大家讲解:

自动化登陆用例:

通过上面的用例我们不难看出自动化和功能测试用例最大的区别在于自动化要求更详细,信息更加准确,当然这个并不是完全标准的,这个只是作者在工作中和接触的人中大家基本都用的类似用例。很多公司设计用例的和将用例转换为自动化脚本的并不一定是同一个人,所以我们需要保证的是别人看见你的自动化测试用例能够准确的编写出测试脚本,这也是我们的目的。

END今天的分享就到此结束了,点赞关注不迷路!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

空中“千里眼” 复亚环保监测无人机助力生态保护

生态环境保护是全球共同关注的重要议题,为了持续改善环境、加强执法效能,复亚智能环保监测无人机在环保领域大显身手。该智能系统为环境执法人员提供了全新的工具,使其能够在无人机的“千里眼”下,及时发现和制止环境违法行为&…

Qt学习笔记

参考文章:(部分内容转载自以下文章) 【Qt】边学边写之Qt教程(零基础)-CSDN博客QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)-CSDN博客 1.创建Qt项目 1…

自定义类型详解(1)

文章目录 目录1. 结构体1.1 结构的基础知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 3. 枚举3.1 枚举类型…

ABAP - Function ALV 02 简单开发一个Function ALV

了解Function ALV: https://blog.csdn.net/HeathlX/article/details/134879766?spm1001.2014.3001.5501程序开发步骤:① TCODE:SE38创建程序 ② 编写程序 DATA gt_spfli TYPE TABLE OF spfli.** Layout 变量定义 (固定使用 直接粘贴复制即可) DATA gs…

OpenWRT搭建本地web站点并结合内网穿透实现公网远程访问

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器,目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器,并且和…

MS2502视频8位数模转换器

MS2502是低功率、超高速视频数模转换器。MS2502以从DC至20MHz的采样速率将 数字信号转换成模拟信号。由于高速工作,MS2502适合于数字电视、电脑视频处 理及雷达信号处理等数字视频应用。 MS2502工作于-20℃至85℃。 特点 1)8位分辨率 2&#xff09…

选择最适合你的接口测试工具:SoapUI、JMeter、Postman!

在软件开发的过程中,接口测试是确保系统正常运行的关键环节。为了有效地执行接口测试,选择适当的工具至关重要。在这篇文章中,我们将比较分析三种常见的接口测试工具:SoapUI、JMeter和Postman,以帮助你了解它们的优势和…

边缘智能网关如何应对环境污染难题

随着我国工业化、城镇化的深入推进,包括大气污染在内的环境污染防治压力继续加大。为应对环境污染防治难题,佰马综合边缘计算、物联网、智能感知等技术,基于边缘智能网关打造环境污染实时监测、预警及智能干预方案,可应用于大气保…

【设计模式--结构型--组合模式】

设计模式--结构型--组合模式 组合模式定义结构案例组合模式的分类优点使用场景 组合模式 定义 又称部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树型结构来组合对象,用来表示部分以及整体层次,这种类型的设计模式…

用户登录权限

文章目录 [TOC](文章目录) 前言一、 Cookie与session1.HTTP无状态2.cookie 和 session 的生命周期2.1 cookie 生命周期影响因素2.2 session 生命周期影响因素 3.cookie 和 session 的区别4.工作原理3 用户登录Node.js和Express验证session 二、JSON Web Token1. JWT 介绍2. JWT…

Aesthetically Relevant Image Captioning 美学上相关的图像字幕

1.摘要 图像美学质量评估(AQA)旨在为图像指定数字美学等级,而图像美学字幕(IAC)旨在生成图像美学方面的文本描述。在本文中,我们研究了图像AQA和IAC,并提出了一种新的IAC方法,称为审美相关图像字幕(ARIC)。基于大多数图像的文本评…

如何通过内网穿透工具实现任意浏览器远程访问Linux本地zabbix web管理界面

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…