美文网首页
APP自动化环境安装(一)

APP自动化环境安装(一)

作者: 十二_tester | 来源:发表于2020-09-13 18:23 被阅读0次

    环境安装

    Node.js
    appium server-desktop
    安卓ADT
    appium python库
    模拟器(真机)

    UiAutomator、UiAutomator2、Bootstrap的关系

    首先来说下UiAutomator和bootstrap:

    UiAutomator是Android自动化测试框架,是谷歌在Android4.1版本发布时推出的一款用Java编写的UI测试框架。其最大的特点就是可以跨进程操作,我们可以使用UiAutomator框架提供的一些方便的API来对安卓应用进行一系列的自动化测试操作,如点击、滑动、键盘输入、长按以及常用的断言方法等。可以替代以前繁琐的手工测试。

    Bootstrap是Appium在初始化的时候推送到安卓手机上的一个UiAutomator测试脚本,该脚本的唯一一个测试方法所做的事情是在手机端开启一个SocketServer(通信模块),用来监听Appium从PC端过来的命令发送给UiAutomator来执行处理。

    Bootstrap是Appium在初始化的时候推送到安卓手机上的一个UiAutomator测试脚本,该脚本的唯一一个测试方 法所做的事情是在手机端开启一个SocketServer(通信模块),用来监听Appium从PC端过来的命令发送给 UiAutomator来执行处理。


    WebDriver script:
      我们的测试脚本(java or python)
    Appium:
      会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再讲对应的请求发送给中间件Bootstrap.jar(注意这里的请求不是整个脚本文件,而是对应的命令请求,比如:点击一个元素就是一条请求)

    Bootstrap.jar:
      监听4724端口由appium发送过来的相关请求,并且将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理

    UiAutomator2:
    appium在最近有加入了对UiAutomator2(也可称为UiAutomator V2)的支持实现Android端自动化,原理同之前的UiAutomator+Bootstrap有很大的不同:

    为了能够支持UiAutomator2,Appium引入了appium-uiautomator2-server(类似driver与Selenium关系)
    以下是其官网的wiki介绍,提供官网WIKI
    https://github.com/appium/appium-uiautomator2-server/wiki
    ps:在获取到toast信息的时候需要将automationName设置成UiAutomator2,就是因为在UiAutomator2上新增了AccessibilityService服务,可以实现Toast的获取。

    以下是其使用原理图:

    WebDriver script:

    不用多说,就是我们的执行脚本

    Appium:

    客户端传递desired capabilities属性配置给Appium Server来创建一个会话,Appium Server会调用appium-uiautomator2-driver,同时将UiAutomator2 server的两个apk安装到测试设备上

    1、appium-uiautomator2-server-vx.x.x.APK

    2、appium-uiautomator2-server-debug-androidTest.apk

    UiAutomator2 server两个apk的作用:

    1、UiAutomator2 驱动模块,负责创建会话,安装UiAutomator2-server.apk到设备上,开启Netty(这是一个通信框架,相当于Bootstrap使用的SocketServer升级版本)

    2、UiAutomator2服务器模块,当驱动模块创初始化完毕,服务器就会监听PC端Appium发送过来的请求,将请求发送给真正底层的UiAutomator2。

    相关文章

      网友评论

          本文标题:APP自动化环境安装(一)

          本文链接:https://www.haomeiwen.com/subject/pabgektx.html