zoukankan      html  css  js  c++  java
  • appium框架介绍

    appium框架的整体流程及可能遇到的问题:

    1、启动服务(多线程启动服务)
    a、服务是否启动成功
    b、杀掉appium相关服务
    c、杀掉adb服务(多线程运行时adb存在问题,所以需要每次运行前都要重启adb服务)
    2、启动driver(多线程启动服务)
    a、运用队列传递生成driver
    b、根据配置文件进行每一个设备的初始化
    3、运行case(多线程)
    a、运行unittest,导入类来实现case的运行
    4、生成报告
    a、生成报告和case运行拆开

    appium介绍

    appium是一个开源、跨平台的自动化测试框架,它适用于native app、hybrid app,实际上我们在测试时是启动了一个appium server,这个server可以放到任意的机器上,供公司的自动化测试人员共同使用。手机app分为两大类,原生app(native app)和混合app(hybrid app)

    app分为原生app和混合app(Hybrid),原生app和混合app的区别有以下几点:

    1、原生app实际就是我们所常见的传统app开发模式,云端数据存储+app应用客户端,app应用客户端,包含了所有的UI元素、框架逻辑等,只有数据存储在云端,原生app底层是java开发的

    2、混合app就是html5 app,混合app通常由两部分组成,html5云网站+app应用客户端,这里的app应用客户端实际只是个架子,里面的UI元素和逻辑,都是存储在云端的,每次在打开app时,去云端获取数据呈现给手机用户,说白了混合app就是将web页面嵌套到了app应用客户端中,由于每次打开app都要向html云端服务请求数据,加载速度慢,并且如果没有网络,会导致无法看到html app,这就是常说的H5页面

    如果你开发一个app是不是需要开发两套,一个安卓版的一个ios版的,也就是基于安卓底层和ios底层开发出来的框架功能都是原生,如果现在有功能扩展了,比如app里有个情人节的活动需要开发,如果纯原生开发的话,那么就需要去修改底层原生框架,这样是不是不安全,而且效率慢,就出现了混合开发模式 也就是h5开发

    appium原理
    appium既然是基于selenium做的二次扩展,那么appium也是一个经典的Client-Server的设计模式,我们的code就是狭义上的客户端,server端与selenium不同,selenium直接测试浏览器web页面,将浏览器作为服务端。而appium的服务端是我们自己启动的appium-server,数据与操作命令传递与selenium api接口相同

    appium工作流

    appController文件 启动服务、启动driver(对于server和driver的一些管理操作)

    apprun文件 主函数 包含多线程运行case,多线程生成报告

    tool文件 主要封装了工具类,如清空文件,为htmlrunner提供错误图片

    page文件 存放各个页面的功能方法

    appCase文件 存放我们的case

    pyapp文件 针对pyse进行了符合app操作的二次封装

    实战:

    1、qq的登录操作

    2、qq的设置9宫格解锁 设置

    3、取消解锁

  • 相关阅读:
    【转】Google 的眼光
    【转】不要去SeaWorld
    【转】Tesla Autopilot
    【转】Tesla Model X的车门设计问题
    【转】Tesla Model S的设计失误
    【转】编程的智慧
    【转】智商的圈套
    【转】创造者的思维方式
    【转】恶评《星际穿越》
    【转】谈创新
  • 原文地址:https://www.cnblogs.com/laosun0204/p/9538581.html
Copyright © 2011-2022 走看看