appium简介

课程目的

可以使用Appium开发移动APP自动测试脚本,提高测试工作效率

面试时候能够回答关于移动应用测试自动化和Appium相关的问题

appium是什么?有什么用?

appium是一个开源的、跨平台(测试程序跨平台、支持多平台上的app测试)、多语言支持的(开发语言)移动应用自动化工具

测试对象

Appium的测试对象包括:原生app,混合app,移动web app;

所谓原生app,就是专门针对某一类移动设备而生的,所有界面和代码都是专门为平台设计的。比如说手机自带的计算器

混合app,指它的一部分是原生界面和代码,而另一部分是内嵌web app。比如微信、支付宝、开发者头条

微信消息界面、设置界面是原生代码实现的,打开某个朋友圈或者打开别人发来的链接则是web部分,内嵌一个浏览器内核,有浏览器内核实现的

web app,完全是用手机浏览器打开的一个网址,就是一个触屏版的网站,例如微信小程序

测试对象app运行平台

appium的测试对象运行平台包括 ios、Android、windows(windows手机、平板等移动设备上运行的app,目前使用人数少)

测试对象App运行环境:

真实设备

模拟器

测试程序语言支持

appium支持多种车需语言开发测试程序,基本上selenium支持的开发语言,appium都支持,比如:python、java、ruby、js

appiumserver本身是js开发的也是跨平台的,但是因为对苹果设备的自动化,appium比较依赖苹果的自动化框架,只能运行在苹果机器上

自动化实现原理

被测试app,运行在真实设备或者模拟器中,这个测试系统运行起来,关系是这样的:

测试程序(test script),告诉appium server,要做什么操作。比如,要去点击界面的一个元素。

怎么告诉appium server呢?他们之间有http的连接,通过http请求发送命令给appium server,AS接收到测试程序的命令后,在发出命令给设备商运行的控制程序,控制程序调用响应自动化库里面的方法去执行界面的控制。

底层自动化工具

安卓是uiautomator

IOS10,苹果完全去掉了以前的UIautomator的技术支持,所以现在,我们要进行苹果app的自动化,只能使用XCUITest 

原文地址:https://www.cnblogs.com/xiao-qing/p/9448274.html