Appium自动化测试

Appium自动化测试

一、为什么要自动化测试

用户对软件体验要求的不断提升,影响软件开发组织对app质量要求越来越高。重复性工作能不能自动化呢?或者要求部分工作自动化?
App开发是一个迭代的过程,自动化测试可以辅助进行回归测试。

什么是回归测试?Regression Testing

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

二、app运行的操作系统

1、android:

Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。 [1] 2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2、ios:
iOS是由苹果公司开发的移动操作系统 [1] 。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等产品上。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。

三、appium简介:

Appium is an open source test automation framework for use with native and hybrid mobile apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.
Appium是一款开源测试框架,可用于原生或混合app的测试。利用WebDriver协议可支持IOS、Android、Window手机应用的测试。

官网:http://appium.io/
Appium支持的测试脚本语言:Java, OC, JS, PHP,Python, Ruby, C#,Clojure 和Perl语言。

四、appium工作原理

在这里插入图片描述
1、框架架构:

电脑(client)上运行自动化测试脚本,调用的是webdriver的接口,appium server接收到我们client上发送过来的命令后他会将这些命令转换为UIautomator认识的命令,然后由UIautomator来在设备上执行自动化。Appium的架构原理如上图所示,由客户端(Appium Client)和服务器(Appium Server)两部分组成,客户端与服务器端通过JSON Wire Protocol进行通信。
2、三种角色:
(1)appium客户端:
它主要是指实现了Appium功能的WebDriver协议的客户端Library,它负责与Appium服务器建立连接,并将测试脚本的指令发送到Appium服务器。现有的客户端Library有多种语言的实现,包括Ruby、Python、Java、JavaScript(Node.js)、Object C、PHP和C#。Appium的测试是在这些Library的基础上进行开发的。
(2)appium服务器:
Appium服务器是Appium框架的核心。它是一个基于Node.js实现的HTTP服务器。Appium服务器的主要功能是接受从Appium客户端发起的连接,监听从客户端发送来的命令,将命令发送给bootstrap.jar(iOS手机为bootstrap.js)执行,并将命令的执行结果通过HTTP应答反馈给Appium客户端。
(3)bootstrap.jar:
Bootstrap.jar是在Android手机上运行的一个应用程序,它在手机上扮演TCP服务器的角色。当Appium服务器需要运行命令时,Appium服务器会与Bootstrap.jar建立TCP通信,并把命令发送给Bootstrap.jar;Bootstrap.jar负责运行测试命令。

五、环境搭建

1、安装jdk8
2、安装androidSDK:
(1)下载地址:
官网下载:https://android-sdk.en.softonic.com/download
网盘下载: http://tools.android-studio.org/index.php/sdk
(2)打开SDK Manager.exe(D:\androidSDK)下载相关的文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:完成后先关闭再打开

(3)安装目录解释:
在这里插入图片描述

add-ons
这里面保存着附加库,第三方公司为android 平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。
docs
这里面是Android SDKAPI参考文档,所有的API都可以在这里查到。
extras
该文件夹下存放了Android support v4,v7,v13,v17包; 还有google提供额USB驱动、Intel提供的硬件加速等附加工具包, 和market_licensing作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。
platforms
是每个平台的SDK真正的文件,存放了不同版本的android系统。里面会根据APILevel划分的SDK版本。
samples
是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学 习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主 题开发Home则是androidm5时代的主题设计原理。
(4)环境变量设置:
在这里插入图片描述

Path:

%ANDROID_HOME%\platform-tools;
%ANDROID_HOME%\tools;
%ANDROID_HOME%\build-tools\28.0.3;

(5)测试是否安装成功:

输入adb命令,执行如下:
在这里插入图片描述

输入aapt,执行如下:
在这里插入图片描述

3、android模拟器的安装及使用:
(1)夜神模拟器:https://www.yeshen.com/
当前版本:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置手机版:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动完成后的界面:
在这里插入图片描述

查看android版本
在这里插入图片描述

多开模拟器:
启动2个模拟器!
在这里插入图片描述

开启VT:如何开启自己去百度
Cpu虚拟化技术,可通过工具检测。 VT检测工具.exe
在这里插入图片描述

Cpu及内存消耗情况:

在这里插入图片描述
(2)逍遥安卓模拟器:http://www.xyaz.cn/
在这里插入图片描述

4、adb命令操作:

adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。
Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。

(1)开启adb模式:
在这里插入图片描述

在模拟器中连续点击7次版本号就会出现以上提示。
(2)打开usb调试模式

在设置 开发者选项中
在这里插入图片描述

(3)adb常用命令:

adb version
查看版本号
在这里插入图片描述

连接夜神模拟器
adb connect 127.0.0.1:62001
在这里插入图片描述

查看设备信息
adb devices
在这里插入图片描述

多开模式下

记得设置开发者模式和usb调试模式:
出现查不到另一个设备问题: 再一次连接最先连上的设备,如下图
在这里插入图片描述
问题
在这里插入图片描述
adb –s 127.0.0.1:62001 shell
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值