zoukankan      html  css  js  c++  java
  • Python测试专项——Native App自动化测试及Appium框架介绍

    一  自动化工具简介

    1 Appium : 开源,跨平台的自动化测试工具,用于测试Native(原生)和Hybrid(混合)应用,支持IOS/Android/FirefoxOS 平台。

    2  环境 :  在不同平台中,Appium是基于不同框架的,Android平台中是基于Uiautomator框架的

    3  理念:

    • 无需重新编译应用(和instrumentation对比,无需源码就可实现测试过程);
    • 不局限与语言和框架;
    • 无需重复造轮子,接口统一
    • 必须开源

    4 特点:

    跨架构:Native,Hybrid,Webview

    跨设备:IOS,Android,FirefoxOS

    跨语言:Java , Python, Ruby , PHP,  JavaScript

    跨进程:不依赖源码(基于Uiautomator) 

    5 架构:

    Bootstrap.jar ——为了UiAutomator能控制app ,将其提供的各个Api进行封装 ,   封装好的这个驱动程序就是Bootstrap.jar文件 ,该文件由Uiautomator Controller 推送到安卓手机当中的,本来手机当中没有,运行驱动的同时要启动一个Server

    UiAutomator Command server ——该server的启动过程依赖于Bootstrap.jar, 用于接受各种command 

    UiAutomator  Controller(Android)——负责将Appium自带的Bootstrap.jar,通过adb命令,推送到手机端,再通过一条指令,将其启动,然后Bootstrap.jar会监听一个端口

    UiAutomator Command  client——负责发出各种自动化指令到UiAutomator Command server ,这里的指令来自WebDriver script

    二  环境的准备

    • appium
    • test device
    • test app
    • appium-python-client , Selenium(依赖库)

    三  元素识别工具

    UIAutomatorviewer应用及启动 ,略~

    四  脚本设计原则

    LOVE原则:L——Locate : 定位元素 ;  O——Operate : 操作元素 ;  V——Verify : 验证结果 ;  E——Exception : 处理异常

    五  脚本实现

    见实例

     

  • 相关阅读:
    nginx显示中文乱码
    Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details
    linux 7 网卡配置
    zabbix 离线安装
    linux alias 设置命令别名
    重启redis shell脚本
    docker离线安装
    ansible 批量添加用户
    linux 7 离线安装ansible
    Linux 7 配置163yum源
  • 原文地址:https://www.cnblogs.com/insist8089/p/7050119.html
Copyright © 2011-2022 走看看