APP自动化测试

本文详细介绍了Appium自动化测试的概念、适用场景、工作原理、安装配置和使用过程,包括Webview和混合应用测试。通过Appium,可以实现跨平台的移动应用自动化测试,提高测试效率,降低回归测试成本。文章还提供了Appium Inspector的安装和使用,以及Appium在Android和iOS上的元素定位、异常处理等关键知识点。
摘要由CSDN通过智能技术生成

什么是app自动化测试

通过代码的方式模拟手机测试,进行自动化执行的测试,使版本迭代更快速高效,并且大量减少回归测试的人工成本。

目前mobile自动化测试的方案

IOS

Android

calabash-ios

calabash-android

Fank

Monkey-Fank

UIAutomation

Robotium

ios-driver

UIAutomator

KeepltFunctional

selendroid

Appium

Appium

自动化测试工具选择

工具名称

被测系统

测试

脚本语言

支持H5

跨应用

稳定性

adk自带

Monkey Runner

Android

功能

Python

支持

稳定

Instrumentation

Android

功能

Java

支持

可以

稳定

Uiautomator2

Android

功能

Java

支持

可以

稳定

Adb-For-Test

Android

功能

Java

支持

可以

稳定

Monkey

Android

稳定

Java

稳定

CTS

Android

兼容

Java

支持

可以

稳定

UIautomation

ios

功能

JS

支持

可以

稳定

xcode自带

Calabash

Android

功能

Ruby

支持

可以

一般

Appium

Android

功能

Java/Python/JS/C/C#/Perl

支持

可以

一般

技术选型的核心原理

  1. 是否支持跨平台

  2. 是否支持多语言

  3. 稳定性

  4. 兼容性

  5. 是否支持多设备同时进行测试

  6. 功能是否满足项目需求

  7. 社区是否丰富

  8. 上手易难成度

  9. 自动化测试的效率

自动化什么情况下可以使用

业务流程变更不频繁,ui元素变动不频繁,项目功能需要不断回归的情况下,可以大量减少回归测试的成本。

自动化什么情况下不可以使用

项目版本变更频繁,页面元素变更频繁的情况下不可以使用自动化,不然会大量增加自动化脚本编写维护成本。

Appium 工作原理

webview

  1. Appium Server启动服务时,启动一个监听端口为4723(默认)的基于tcp面向连接的socket通信协议。

  2. 真机或者模拟器通过adb连接电脑终端。

  3. Client 对server发送一个post请求的capability的数据包,携带操作系统,版本,工作引擎和应用包等信息,告诉server我要对那个设备,那个应用进行操作。

  4. Server接受到client请求后会返回一个Sessionid,并执行操作,打开应用后会启动一个Webview的Socket服务用来监听Server的请求,监听成功后会生成一个Sessionid返回给Appium server,然后找到指定或默认路径下的chromedriver启动并返回chromedriver的sessionid。

  5. Client->Server->WebView Socket->Chromedriver,后续的通信通过sessionid进行会话回传。

原生框架

  1. Appium Server启动服务时,启动一个监听端口为4723(默认)的基于tcp面向连接的socket通信协议。

  2. 真机或者模拟器通过adb连接电脑终端。

  3. Client 对server发送一个post请求的capability的数据包,携带操作系统,版本,工作引擎和应用包等信息,告诉server我要对那个设备,那个应用进行操作。

  4. Server接受到client请求后会返回一个Sessionid,并发送给手机端的Bootstra.jar,通过uiautomator工作引擎执行操作,并返回一个一个sessionid。

  5. Client->Server->bootstrap.jar,后续的通信通过sessionid进行会话回传。

注:原生框架内嵌webview的应用,通过切换上下文来改变通讯流程

Appium组成

  1. Appium Desktop:用于开发人员定位页面元素,调试脚本代码。内嵌appium server,inspector等综合工具。

  2. Appium Server:服务,appium核心工具,命令行工具

  3. Appium client:各种语言的客户端封装库,用于连接Server。

  4. adb:Android的控制工具,用于获取安卓的数据和控制

注:server可以部署在云服务器上,并启动服务,client可以通过云服务器的真实ip:Port直接访问server。

Appium安装和使用

Appium python库安装

启动pycharm,点击左上角File->settings

Appium server环境安装

1、Node.js安装

官网下载:Download | Node.js

下载对应操作系统

1、node -v:检查node是否安装成功

2、npm -v:检查npm是否安装成功

2、配置全局安装的模块路径

创建文件夹:node_cache,node_global

配置路径:(步骤:win+r->cmd->enter)

1、npm config set prefix "E:\test\nodejs\node_global"

2、npm config set cache "E:\test\nodejs\node_cache"

3、配置环境变量:

 

4、设置镜像和获取镜像

设置镜像的优点:在访问国外的服务器下载的时候可以增加下载速度

1、npm config set registry .....:配置镜像

2、npm config get registry :获取镜像

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值