-
扩展知识
espresso是白盒测试框架,通常是给开发人员用的
monkey是任意的在应用界面乱点乱划,适合压力测试
monkeyrunner有点类似UIAutomator,但是通常是固定的根据坐标点击 -
appium是什么?有什么用
我们学习的移动应用自动化,是基于appium这样的一个自动化框架的。
Appium是一个开源、跨平台(测试程序跨平台、支持多平台上的app测试)
多语言支持的(开发语言)移动应用 自动化工具
特点
他的测试对象移动app,包括了多种类型的移动app
原生app,混合(Hybrid)app,移动web app;
1⃣️原生app,就是专门针对某一类移动设备(比如苹果、安卓)而开发的,所有界面和代码都是专门为平台设计的
2⃣️混合app主要是指他的一部分是原生界面和代码,而另一部分是内嵌web app。
这个大家应该有体会,可以打开网页浏览的app都是混合app,比如微信、支付宝、美团、移动营业厅、开发者头条等。比如微信的sms界面是原生,原生代码实现的。
而打开某个朋友圈,或者别人发来的连接部分则是web部分,内嵌了一个浏览器内核,由浏览器内核实现的。现在混合型app很多,稍微功能全一些的都需要具备网页浏览的功能。
3⃣️web app 则完全是用手机浏览器里打开的一个网址,webapp只能运行在浏览器里,靠浏览器解释执行。资源一般都在网络上。他其实就是一个触屏版的网站
Appium对这三种类型的app的测试都支持。
-
测试对象App运行平台包括:
1⃣️ios(就是苹果手机、平板、设置iwatch等移动设备上运行的app)
2⃣️andriid(就是安卓手机、平板、等移动设备上运行的app)
3⃣️windows(就是windows手机、平板等移动设备上运行的app、但是这种平台使用人数目前太少,少到可以忽略不计了)
4⃣️firedoxOS(更少,更加可以忽略不计了) -
测试对象App运行环境:
真实设备
模拟器
真实设备大家都知道,就是苹果安卓的手机、平板等移动设备。主要是方便我们测试用的。 -
测试程序运行平台
windows linux macos
测试ios的应用,虽然测试程序本身可以运行在所有平台,但是appium server 必须要运行在苹果的机器上,比如笔记本macbook,或者台式机iMac。因为对苹果设备的自动化,appium依赖苹果的自动化框架,只能运行在苹果机器上。
自动化原理
Appium自动化框架和selenium有很大的相似之处
包含了三个主体部分
test scrapt:(我们的测试程序,是测试逻辑的实现部分。就像之前我们的selenium自动化脚本,而且和selenium一样,可以使用多种语言,Appium客户端库也支持多种语言。一般运行在pc上或者苹果笔记本、台式机)
Appium server:这是一个用javahcript代码实现的程序。是运行在Node.js里面的。
被测app:运行在真实设备或者模拟器中
这个测试系统,运行起来,交互关系是这样的:首先我们开发的自动化程序(test script)运行各种测试脚本 告诉Appium Server,我们要做什么操作,Appium Server收到测试程序的命令后,appium自己开发一个自动化模块(或者叫应用),安装在移动设备中的。就好像一个木马,appium开发的木马,通过使用各个移动App开发平台 自带的 自动化测试框架来实现的,appium在移动设备上会注入测试模块,测试模块会调用这些自动化框架提供库,从而控制设备和操作app
网友评论