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 : 处理异常

    五  脚本实现

    见实例

     

  • 相关阅读:
    由吃饺子想到的多线程情况下的数据共享问题
    关于伪静态的几个体会
    最近改造的一款可多选的日历插件,已通过兼容性测试
    对kingthy创作的Vtemplate模板引擎的使用心得
    从前辈们整理的数据库优化经验中得到的一点心得分享
    关于近期对Lucene.Net应用研究学习的总结
    对SharpICTCLAS 1.0的一点小小的修改记录
    转 Blob、DataURL、canvas、image的相互转换
    节日_100
    模板生成_100
  • 原文地址:https://www.cnblogs.com/insist8089/p/7050119.html
Copyright © 2011-2022 走看看