美文网首页
Android UI自动化测试框架之我见

Android UI自动化测试框架之我见

作者: BigP | 来源:发表于2018-09-20 15:06 被阅读0次

    前言:这里主要是站在Android开发者的角度,不是测试人员的角度,同时也是本人自己的观点,有问题可以跑出来大家讨论,不喜勿喷,谢谢!

    这里主要比较三个自动化测试框架:
    1. Macaca
    2. ATX
    3. Espresso
    还有其他一些框架如Robotium啊,Appium啊,就不多说了。


    Macaca Atx Espresso
    性质 黑盒 黑盒 白盒
    配置 1.安装Node.js
    2.Mac环境,若要使用appinstect等插件,需安装Xcode
    3.配置安卓相关环境变量,这个之前基本都配置过了
    4.安装chromeDriver
    5.安装macaca和macaca-androidnpm i -g macaca-cli;npm i -g macaca-android
    1.安装python
    2.安装ATX手机助手python -m atx install atx-assistant
    3.安装uiautomator2pip install --upgrade --pre uiautomator2
    在gradle中添加依赖
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    inspector 1.安装npm i app-inspector -g
    2. macaca-inspector.png
    1.安装pip install --pre -U weditor
    2. atx-inspector.png
    sdk中自带uiAutomator uiautomator.png
    支持语言 提供 Node.js, Java, Python 三大主流的语言栈 Python Java
    录制回放器 1.安装UIRecord:npm i uirecorder -g
    2.开启macaca服务macaca server --port 4444 --verbose
    3.运行uirecorder start --mobile
    4 官方实例
    5.之后就会生成对应的测试脚本,只能生成js脚本,大概看一下: test.spec.png
    6.将这些转换成java语言: macaca_test.png
    1.atx的录制回放器就是instpector中的那个, atx 点击红色框中的就会自动生成步骤代码
    2.再看下代码部分: atx_test.png
    espresso的录制器在AndroidStudio中有集成,但是实际使用效果很慢,生成的代码也不友好,不是很推荐使用
    实际运行速度 很快
    覆盖率 6.0之后需要运行时的读写权限,代码中配置jacoco,最后通过macaca coverage就可以生成覆盖率文件 与macaca类似,通过处理生成的exec文件生成覆盖率 配置jacoco,直接执行命令行,可以同时生成单元测试和ui测试的覆盖率,但是前提条件是所有测试用例必须pass。否则只会生成通过率的报告。

    个人观点

    几个测试框架用下来的用户体验是Espresso>ATX>Macaca,但是重心还是应该放在单元测试上,如果使用macaca或者atx这些黑盒自动测试工具,觉得做起来并不会比我们的测试专业。集成ci方面,之前的jacoco+jekins+sonarqube的方案就很不错,也能生成漂亮的测试反馈报告,比如关联通过率,覆盖率和lint。 实际上这一块的工作和测试是冲突的,相当于做了两份工,所以个人觉得作为开发,如果花功夫去做黑盒测试,是不值得的。

    相关文章

      网友评论

          本文标题:Android UI自动化测试框架之我见

          本文链接:https://www.haomeiwen.com/subject/tbzogftx.html