冒泡泡de可乐
代码都是思想和概念的体现~每多学一点知识,就能少写一行代码~

 

什么是Appium

    主要用于测试移动端自动化, 是一个开源、跨平台的自动化测试框架,适用于Native App、Hybrid App。

    Appium是基于Selenium的Webdriver进行了扩展,扩展了一些操作移动端的API接口

Appium原理

   Appium是基于Selenium的二次扩展,所以也是经典的Client-Server设计模式,我们的code就是狭义上的客户端,Server端与Selenium不同,

Selenium直接测试浏览器Web页面,将浏览器作为服务端。而Appium的服务端就是我们自己启动的Appium-Server。数据与操作命令传递与Selenium Api相同,遵守

REST设计风格的Api接口。(REST设计风格,就是一种接口设计方式,看URL知道要什么、看HTTP Method知道干什么、看HTTP Status Code知道结果)

 Appium怎么用 

Appium工作流

 

 

 

appium 与 selenium 的区别

appium的客户端发送请求,实际上是发送给appium-server,server判断的请求来调用不同的自动化框架,传递给手机

selenium的客户端发送操作请求,实际上是发送给浏览器

测试app需要哪些准备

    手机唯一id:deviceName
    手机平台:platformName
    手机版本:platformVersion
    app的包名:appPackage
    启动软件的入口 :appActivity
    noReset =True   不格式化app
 
启动appium-desktop

0.0.0.0  代表可以接收外来的一切id

三种确定appPackage和appActivity的方法

1、找开发要

2、通过过滤logcat日志  前提:抓取appPackage和appActivity时,app是冷启动

         adb logcat | findstr START    cpm后面的      #cmp=com.android.settings/.Settings
         =到/之间是appPackage :com.android.settings
         /. 后面是 appActivity :Settings
3、通过sdk的aapt命令获取包名和入口
进入aapt.exe所在的文件夹下,打开cmd
    aapt dump badging ‘mobileqq_android.apk’

定位app元素的方式

 

1、appium-desktop 前置条件比较复杂
      resource-id 理解为 html 当中 id   resource-id 可能出现重复
      如果appium-desktop  显示可以用id进行定位,那么不用考虑resource-id是否重复
      clickable 是否允许点击
       ....
 
2、用sdk提供的 uiautomaterviewer 定位元素

 

 

posted on 2018-12-27 22:01  HathawayLee  阅读(201)  评论(0编辑  收藏  举报