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今天的分享就到此结束了,点赞关注不迷路!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mmseg上手自己的数据集

制作自己的数据集,VOC格式为例。 这三个文件包括数据集的名称。可以使用labelme脚本自动生成。 跟据预测类别修改配置文件 D:\projects\mmsegmentation-main\mmseg\datasets\voc.py 因为是voc格式的数据集,在这个文件里进行配置,修改成自己数…

保研毕业论文查重率多少通过【保姆教程】

大家好,今天来聊聊保研毕业论文查重率多少通过,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 保研毕业论文查重率多少通过 在保研过程中,毕业论文的查重率是衡量学术诚信和论文…

微信社群机器人开发

简要描述: 删除朋友圈 请求URL: http://域名地址/deleteSns 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId…

AMEYA360--罗姆与Quanmatic公司利用量子技术优化制造工序并完成验证

全球知名半导体制造商罗姆(总部位于日本京都市)于2023年1月起与 Quanmatic Inc.(总部位于日本东京都新宿区,以下简称“Quanmatic”)展开合作,在半导体制造工序之一的EDS工序中测试并引入量子技术,以优化制造工序中的组合。目前,双…

ip ssl证书怎么更换ip地址

ip ssl证书是一种数字证书,为只有公网ip地址的站点建立安全、加密的通信通道。它通常由权威的证书颁发机构(CA)颁发,并用于验证网站的身份和安全性。ip ssl证书的主要目的是保护敏感信息,如信用卡号、用户名和密码等&a…

15:00面试,15:06就出来了,问的问题太变态了。。

刚从小厂出来,没想到在另一家公司我又寄了。 在这家公司上班,每天都要加班,但看在钱给的比较多的份上,也就不太计较了。但万万没想到5月一纸通知,所有人不准加班了,不仅加班费没有了,薪资还要降…

【Python网络爬虫入门教程3】成为“Spider Man”的第三课:从requests到scrapy、爬取目标网站

Python 网络爬虫入门:Spider man的第三课 写在最前面从requests到scrapy利用scrapy爬取目标网站更多内容 结语 写在最前面 有位粉丝希望学习网络爬虫的实战技巧,想尝试搭建自己的爬虫环境,从网上抓取数据。 前面有写一篇博客分享&#xff0…

如何使用iPhone15在办公室远程观看家里群晖nas上的4k电影?

文章目录 1.使用环境要求:2.下载群晖Video Station:3.公网访问本地群晖Video Station中的电影:4.公网条件下使用电脑浏览器访问本地群晖video station5.公网条件下使用移动端(搭载安卓,ios,ipados等系统的设…

Java并发(十七)----变量的线程安全分析

1、成员变量和静态变量是否线程安全 如果它们没有共享,则线程安全 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 如果只有读操作,则线程安全 如果有读写操作,则这段代码是临界区,需要考虑线…

深信服AF设置安全防护策略

以百度为例,禁止内网用户访问www.baidu.com 1、对象→安全策略模板→新增 2、名称自定义,安全配置只选择url过滤 3、点击图标→新增→设置名称及url 勾选刚刚新增的url--deny→确定 4、高级选项→确定 5、策略→安全策略→安全防护策略→新增用户防护策略…

unity 3分钟 制作粒子爆炸效果 可以用在三消消除等

思路就是: 有一个对象池,管理各种特效。 当需要播放特效时,触发如下代码: blocker为粒子生成的位置 var particles gamePools.iceParticlesPool.GetObject(); if (particles ! null) {particles.transform.position blocker…

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

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

一文带你全面了解In App Bidding竞价变现 | TOPON变现干货

2021年,伴随着Facebook、Admob、Pangle、腾讯优量汇等国内外头部广告平台Bidding的正式推出及全面推广,APP广告变现正式步入bidding竞价时代。早在2020年,TopOn便已推出Header Bidding头部竞价功能,彼时主流的广告变现依然是以Wat…

集合的几个遍历方法

1. 集合的遍历 1.0 创建集合代码 List<String> strList new ArrayList<>(); strList.add("huawei"); strList.add("xiaomi"); strList.add("tencent"); strList.add("google"); strList.add("baidu");1.1 fo…

OpenCV-Python:DevCloud CodeLab介绍及学习

1.Opencv-Python演示环境 windows10 X64 企业版系统python 3.6.5 X64OpenCV-Python 3.4.2.16本地PyCharm IDE线上注册intel账号&#xff0c;使用DevCloud CodeLab 平台 2.DevCloud CodeLab是什么&#xff1f; DevCloud是一个基于云端的开发平台&#xff0c;提供了强大的计算…

dcat admin多后台和自定义登录

多后台按照教程配置 https://learnku.com/docs/dcat-admin/2.x/multi-application-multi-background/8475 自定义登录 我的新后台的登录需要另外一个用户表&#xff0c;所以原来的逻辑要修改一下。 1、首先是模板修改 参考连接 https://learnku.com/docs/dcat-admin/2.x/ba…

我有才打造专属个人或企业知识付费平台,核心功能设计

在当今信息爆炸的时代&#xff0c;知识管理已经成为了每个人必须面对的问题。然而&#xff0c;市面上的知识付费平台大多数都是通用的&#xff0c;无法满足个性化需求。 因此&#xff0c;我有才提供了一款专属定制的适合个人的知识付费平台。核心产品能力如下&#xff1a; 一…

2023年运营级网赚网盘平台搭建指南(包含源码和教程)

源码介绍 为什么要考虑自己搭建网盘呢&#xff1f;现如今&#xff0c;许多大型网盘平台都对文件添加了各种限制&#xff0c;导致很多文件容易被删除。而且&#xff0c;大部分网盘还会限制下载速度&#xff0c;如果没有开通VIP会员&#xff0c;使用起来非常不便。 本指南提供了…

tcpdump抓包命令

tcpdump抓包命令 tcpdump 的抓包保存到文件的命令参数是-w xxx.cap 抓eth1的包 tcpdump -i eth1 -w /tmp/xxx.cap抓 192.168.1.123的包 tcpdump -i eth1 host 192.168.1.123 -w /tmp/xxx.cap抓192.168.1.123的80端口的包 tcpdump -i eth1 host 192.168.1.123 and port 80 -w …

项目经理和产品经理哪个更有发展前景?

如果是单看“钱途”的话&#xff0c;如果是在传统行业&#xff0c;可能差不多&#xff1b;如果是在IT行业的话&#xff0c;可能更需要项目经理&#xff1b;互联网行业的话&#xff0c;可能更需要产品经理。 项目经理跟产品经理两个证都挺受市场欢迎的&#xff0c;两个岗位职责…