• Appium原理初步--Android自动化测试学习历程


    章节:自动化基础篇——Appium原理初步(第七讲)

    本期关键词:

    Appium、跨语言跨平台、Bootstrap

    主要讲解内容及笔记:

    一、what is appium

    一种封装了uiautomator、或者其他测试框架的自动化测试框架,跨平台(支持linux、mac、windows)、跨语言(几乎所有的我知道的语言都支持,像什么java、objecet c、脚本语言python、ruby等)

    二、the demo

    从demo看怎么写自动化test case,包括一个setup方法,一个teardown方法,然后就是testcase了

    其中setup方法中需要设置一系列参数,包括app的文件目录File appDir,app的文件名称File app;是做android的测试,设置“device” “android”属性,设置包名、main activity的名称(sdk下面的一个工具,aapt dump badging +apk文件)就可以得到包名和activity的名称

    最后最重要的是一个driver的对象,后面编写用户会用到这个driver,调用driver.xxx的方法进行编写测试case

    这个driver = new SwipeableWebdriver(new URL("http://127.0.0.1:4723/wd/hub"), capablities);

    需要这个driver与server进行通信,然后这个server再通过bootstrap与手机端进行通信(中间隔了两层,比较厚,接触可能不太好,所以容易出现一些问题)

    具体原理图:

    三、the framework and the analysis of source code

    1、UiWatchers——作用:监听ANR(app not response)或crashes,然后打印日志出来

    2、BootStrap——socket服务对象,就是封装了Uiautomator,然后通过“4723”的端口进行通信

    3、AndroidElement——这个就是获取控件的class

    4、Click——继承自handler,对UI上的异步线程的操作都会用到handler类,获取到控件之后,不像robotium把控件放到一个arraylist里面,而是直接进行执行(具体操作由Uiautomator来完成)

    5、Strategy——8种获取控件的方法

    6、driver——linux、mac、以及windows上的driver都没有开源(这是核心)

    四、appium极限(与其他产品对比,可以做IOS的自动化测试,没有之一)

    appium支持IOS,android和mobile web

    robotium支持android以及mobile web

    Uiautomator支持anroid和坐标点的mobile web

    这几个是目前主流的,多学多看,加油!

     本集appium架构自动化视频学习连接:http://www.goldensunshine.cc/forum.php?mod=viewthread&tid=19&extra=page%3D2
     

    金阳光测试

    新浪微博:金阳光woody

             

              网站地址

    1、百度搜:金阳光测试

    2、官网:www.goldensunshine.cc

    微信公众号

  • 相关阅读:
    PHP扫描图片转点阵 二维码转点阵
    PHP设计模式之观察者模式
    Vue router 使用 History 模式导致页面请求 404
    MySQL(Oracle)模糊查询 使用 instr () 替代 like 提升效率
    jmeter压测小白常见问题解决
    mac上批量启动appium,并把appium日志打印到指定文件夹
    批量启动appium-server+java
    启动appium常用参数解析
    TestNg执行时报org.testng.TestNGException: org.xml.sax.SAXParseException异常解决
    解决启动appium 提示端口被占用问题
  • 原文地址:https://www.cnblogs.com/keke-xiaoxiami/p/4150060.html
Copyright © 2020-2023  润新知