zoukankan      html  css  js  c++  java
  • Uiautomator(1)

    monkeyrunner初探失败,继续寻找其他办法。(其实我也不知道我到底在往什么什么方向发展,只是一步一步摸黑前进)

    摘自出处:http://www.cnblogs.com/by-dream/p/4872244.html

    Uiautomator测试框架的工作流程

      下面是自动UI测试所需的步骤的简短概述:

      1、安装待测应用到手机,通过uiautomatorviewer分析应用程序界面的控件,并确保应用程序的控件可以被自动化框架访问。

      2、创建自动化测试用例来模拟你和应用程序之间交​​互的步骤。

      3、将测试用例编译成一个JAR文件,并发动到应用程序安装的那台测试设备​上。

      4、运行测试,查看测试结果。

    步骤一分析:

    1、 手机连接PC端或者直接打开安卓模拟器;

    2、在 ..sdk ools 目录下打开 uiautomatorviewer.bat;

    3、将手机或是模拟器的页面停留在你要分析的页面,然后点击uiautomatorviewer左上角的第二个图标按钮 Device Screenshot,点击之后会将当前手机界面的快照更新到这里来。

    右下方的整个区域,是当前选中的页面或者是控件的属性信息。写代码的时候就是需要通过查看属性中的控件的id或者是text等来获取控件的实例,然后点击操作它。

    步骤二分析:

    1、在Eclipse中建立一个Java的工程。

    2、右键选中你建立的工程,在Properties > Java Build Path中:

        a、点击 Add Library > JUnit 添加JUnit3/4

        b、点击Add External JARs... 导入 uiautomator.jar and android.jar 这两个jar包。

        这里需要注意,导入这两个jar包的时候,注意Android的版本号,后面生成build.xml的时候需要知道你导入的这两个jar是哪个sdk版本的。

    3、导入成功之后,就可以写代码了。代码的格式参考下面:

    以上脚本是:打开手机QQ-点击登录。详细的用法请自行百度。

    步骤三分析:

    1、脚本确定没有问题之后,准备生成build.xml文件,命令行进到tools文件路径下,输入“android create uitest-project -n %工程名% -t 2 -p %工程目录% ”生成build.xml文件;

    注:这里的 -t 后面的 2 就是Android list后对应的你当初引入两个jar包的sdk版本对应的id。我的是 id: 2 or "android-20",所以我这里是2。如果不清楚,可以在命令行中输入“android list”查看。

    我在eclipse中,查看我的android.jar和uiautomatorjar的版本是20;

    我的命令是:android create uitest-project -n uitest -t 2 -p E:workspaceuitest

    2、生成的build.xml文件是在“...workspaceuitestin”文件夹下的,此时可以刷新Java工程,就可以在看到生成的文件;

    3、打开build.xml文件,将“<project name="uitest" default="help">”修改为“<project name="uitest" default="build">”,保存;

    4、选中build.xml文件,右键run as->ant build,如下即表示生成成功。

    注:如果没有ant build的话就是没有ant这个插件了,需要自行下载安装,但是按理说一般eclipse都是自带这个插件的,我是重新下载了一个新的eclipse,宝宝懒【捂脸】!

    5、生成完成之后,需要将这个jar文件放到手机对应的地方,此时命令行进到,输入“adb push jar文件路径+jar文件名 /data/local/tmp”,如“adb push E:workspaceuitestinuitest.jar /data/local/tmp”,即可将文件传至手机中;

    注: /data/local/tmp这个路径在未root的手机中是找不到的,建议没有已经root过的手机的宝宝们,还是使用模拟器吧。

    6、确认文件传输成功之后,再到命令行输入“adb shell uiautomator runtest jar名称 -c 包名.类名”,如“adb shell uiautomator runtest uitest.jar -c uitest.QQtest”。

    注:此处的包名和类名是指Java工程中的包名和类名,不是你要测试的应用的包名和类名,这种愚蠢的错误我就犯了。。。迷糊一早上,睡完午觉才明白过来。

    完成上面那个步骤,基本上就可以看模拟器愉快的运行你的脚本了。

    内容参考来自: 

    http://www.cnblogs.com/by-dream/p/4872244.html

    http://blog.csdn.net/robinzhou/article/details/8447058

    小白一枚,初涉此域,如有错误,欢迎指正。

  • 相关阅读:
    MySQL-MMM方案
    MySQL双主复制
    MySQL主从复制
    Keepalived实现高可用
    CentOS7.2 部署Haproxy 1.7.2
    博客园写随笔时用数学公式
    Java中有三种移位运算符
    VS Code配置C/C++环境
    Visual Studio Code 如何编写运行 C、C++ 程序?
    头一次知道“原地算法”?!
  • 原文地址:https://www.cnblogs.com/lian-lian/p/6667947.html
Copyright © 2011-2022 走看看