zoukankan      html  css  js  c++  java
  • Appium

    什么是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 定位元素
  • 相关阅读:
    centos7+php7.1.4+mysql5.7+swoole搭建
    鄙视自己(转)
    Mysql的sql优化概念---三大范式
    PHP的设计模式-单例设计
    Composer的安装使用
    PHPstorm的一些快捷键
    论代码走查的重要性
    Java泛型读书笔记 (三)
    Java泛型读书笔记 (一)
    Java泛型读书笔记 (二)
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/10187722.html
Copyright © 2011-2022 走看看