[Appium] Appium自动化测试原理及配置项

Appium自动化测试原理及配置项

一、App自动化测试原理

通过设计自动化脚本,通过发送指令到Appium Server,然后Appium Server转发指定到Android SDK框架来操作被测手机,这个类似于selenium通过浏览器驱动来操作浏览器
在这里插入图片描述
Android SDK不同系统不同版本差异较大,不同的被测终端系统可能用到不同的软件包/框架,所以需要自动化脚本指定操作终端设置参数

二、Desired Capability-Appium 自动化配置项

打开appium官方文档: Appium Desired Capabilities
在这里插入图片描述
这里有几个常用的参数需要关注
automationName: UiAutomator1 这是一个自动化会话的参数
platformName: iOS, Android, or FirefoxOS,这个参数是被测终端的系统版本
platformVersion: e.g. 7.1, 被测终端的系统版本
deviceName: e.g. iPhone Simulator, 被测终端的设备名称,iOS起作用,Android随便输入什么,不影响使用
noReset: e.g. True 是否初始化app的状态及数据,例如一个app要测试登录,如果此参数设置为True,那么一旦成功登录之后,其余用例都
会保留这次测试的数据
newCommandTimeout: 60 默认参数60,指的是Appium Server建立的一个session当中,如果60秒都没有新的指令接收,就关闭当前会话
以上参数为通用参数,下面单独介绍Android单独的参数UIAutomator1
apppackage: 需要运行的安卓app的JAVA包
appActivity:启动安卓app的活动名称

三、常用的adb命令

  1. 连接测试终端
    adb connect 127.0.0.1:62001
    注: 127.0.0.1是本机
    模拟器终端: 夜神: 62001 雷神: 5555 mumu:7555

  2. 查看当前连接设备
    adb devices

  3. 查看被测app的包名及入口启动页面
    aapt dump badging apk_package
    由于查看的内容特别多,我们只需要查找需要的内容,可以使用 | findstr查找package信息
    aapt dump badging apk_package | findstr package
    启动入口也用类似的方法: adb dump badging apk_package | findstr launchable-activity
    在这里插入图片描述上面的package name = 后面的一段就是app的包名了, launchable-activity name后面就是启动入口

四、Appium日志查看测试原理

打开Appium–>Advanced–>勾选上Log Timestamps,然后启动Start Server
在这里插入图片描述
以下是一点Appium日志示例用于方便对照,蓝色代表正在调用Android SDK的软件包,黄色代表警告信息一般可以不看,灰色代表windows操作系统的操作
在这里插入图片描述
部分内容解释:

[HTTP] --> POST /wd/hub/session  //基于HTTP请求创建一个会话
[W3C] Calling AppiumDriver.createSession() with args //这里是创建该会话带的参数
[Appium] Setting automation to 'UiAutomator1'.  //当前的自动化框架是Android的"UiAutomator1", appium-windows 1.13默认不发送automationName参数的话使用UiAutimator1,如果是1.14以后版本,默认使用UiAutomator2,安卓6以后建议使用UiAutomator2
[ADB] Getting connected devices... //ADB相关命令获取连接的设备,并确认安卓版本,设置参数是否与终端一致
[ADB] 1 device(s) connected //1个设备已连接
...
...
[ADB] Getting install status for io.appium.settings //如果获取的所有信息都正确,会开始往被测终端安装一个appium settings,参考下图
[ADB] 'io.appium.settings' is installed //appium settings安装完成,后面appium server通过发送指令到appium settings应用程序进行数据交互
[UiAutomator] Parsing uiautomator jar  //appium会推送一个‘AppiumBootstrap.jar’驱动jar包到被测终端上, 这个包来接收Appium Server的指令来操作终端,这个jar包类似python当中的模块
[HTTP] <-- POST /wd/hub/session 200 //响应当前的HTTP请求,一次会话结束

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值