首页天道酬勤自动化测试怎么学(自动化测试要学些什么)

自动化测试怎么学(自动化测试要学些什么)

admin 12-04 04:46 302次浏览

1.移动互联网测试背景

随着智能手机的普及和互联网的发展,移动互联网逐渐成为人们新的生活方式。既然是一种生活方式,对生活质量会有不断提升的要求,对使用的移动互联网产品会有更高的体验要求。

这就对测试工程师有了更高的质量保证要求,时间短、进度快、种类多,让我们仅靠人力很难保证测试的版本充足。这时候就需要用自动化来释放人力,提高效率。

1.1总体架构

移动:用户将通过公司的产品使用公司的业务,产品包括安卓App、iOS App、H5、小程序服务器:用户的所有操作最终都会通过HTTP协议等各种协议发送到公司的服务集群进行处理

1.2测试阶段

通常项目的开发都要经过需求、研发、测试、交付的过程,客户的测试阶段就在产品交付之前:

1.3 UI自动化的误区和价值

1.3.1误解

很多人认为UI自动化没用或者只能模拟人工点。其实不是。这种观点大部分是由于我们自身能力和理解的不足(包括我在不断学习和增加理解)。

技术上:没有更好的聚甲醛用于包装维护;

框架上:没有Watch、智能等待、失败重试等机制,让框架更加灵活。

策略:不采用分层测试的策略,合理控制UI自动化的规模。并非所有手动用例都需要用户界面自动化:

一些核心用例被移交给自动化测试,最基本的回归测试被移交给新功能测试的自动遍历,并移交给手动测试

1.3.2价值

如果解决了上述误区,就可以正确合理地进行UI自动化测试,可以给企业带来实用价值。当然,这并不是那么容易做到的,我们需要我们的测试工程师不断探索。通过下图来看看我们的测试架构,从中提取UI自动化测试的价值。

回归测试中的竞争产品分析自动探索测试专用自动测试

2.主角在——Appium出道

说了这么多,就为了引出今天的主角—— Appium,一个移动UI自动化测试的框架,我们先来看看Appium官网打开后看到的第一句话,如下:

或者谷歌翻译一下~:

Appium是一个开源的测试自动化框架,适用于本地、混合和移动网络应用。它使用网络驱动协议来驱动iOS、安卓和Windows应用程序。

是的,就是这段简单的文字描述了Appium的优势、架构和底层实现原理。让我们通过阅读这段文字来了解Appium,敲开移动互联网自动化的第一扇门。

2.1谁是appium?

App,这个词的起源是App Selenium的组合。所以rydz为了App,和Selenium的关系很大。请看下面的架构图:

g-caption">

从架构图中我们可以看到,最上层就是用的 Selenium 实现,因此 Appium 和 Selenium 一样遵从 WebDriver 协议,通过 Selenium 客户端将请求转发至 Android 或者 iOS 上框架的引擎的实现,如果用过 Selenium 做 Web 自动化的话,现在几乎可以无缝的切换至 Appium,很多的用法和思想都保持一致。

2.2 优势解读

既然上层使用了 selenium,那么 selenium 的跨语言性应该也保留了下来—— 跨语言 ,支持 Java/Python/Ruby/PHP/NodeJS 等官方介绍中提到了多个平台的支持,再结合上述的架构图——多平台支持 Android、 iOS、 Windows官方还提到了多种开发模式支持 Native Hybird Webview,这些就可以使我们可以在 H5 和小程序上开展 UI 自动化了

如下图很好的展示了 Appium 对上述优势的支持:

除了上述之外还有的优势就是

支持跨 App,可以在多个 App 之间交互 不依赖源代码,可以测试第三方应用,比如测试微信服务号

2.3 集大成者-底层引擎的实现

先来看目前 Mobile 自动化的方案,如下对各个端有不同的实现方案,五花八门,且很多不支持跨 App

而 Appium 几乎包括了所有的优势,可谓是集大成者,为何?再来看 Appium 官方 GitHub 给出的底层引擎实现说明(很多已经淘汰,我们学习推荐使用的即可):

Android端

espresso :Android 官方支持的框架selendroid:eBay 实现的框架uiautomator:Android 官方实现的集成测试的框架 uiautomator2(推荐使用):基于 uiautomator 的一个拓展,也是我们目前最推荐使用的框架

iOS端

uiautomation xcuitest(推荐使用)

另外还有 Mac 和 Windows 的驱动引擎支持。

正是因为这些引擎的支持实现,所以 Appium 才可谓是集大成者,是目前一款优秀的移动端UI自动化框架,我们使用 Appium 只负责告诉各个底层,我需要做哪些操作,具体如何操作 Appium 是不管的,由各底层的驱动去完成即可。

最后,如果做移动端自动化测试,我们推荐的是使用 Appium 框架去敲开这扇大门,进入移动互联网自动化的世界。

跨语言:Java、Python、nodejs等跨平台:Android、 IOS、Windows、Mac底层多引擎可切换生态丰富,社区强大

(文章来源于霍格沃兹测试学院)

微信小程序如何实现上传图片小功能如何在输入字段中将数字限制为总共3个?如何在对象的深层嵌套数组中获取最后一个孩子Session怎么使用见缝插针游戏的实现途径DeepRust匹配:有更好的方法吗?雷士灯具管理系统
ui自动化测试工具排名(web自动化测试框架开发) pestudio(uipath介绍)
相关内容