android自动化测试之环境搭建

上一篇 / 下一篇  2014-05-13 10:37:18 / 个人分类:robotium

随着越来越多手机app的盛行,更多的公司要求对自己的app实现自动化测试,将自动化测试用例添加到持续集成中,实现版本更新的覆盖。
比较流行的有针对android客户端的robotium框架。
同时支持android与ios的appium框架。
目前我们选择robotium实现android客户端自动化测试。
首先:搭建android开发环境
开发工具:
eclipse+jdk+sdk+robotium(solo)
可以直接从http://developer.android.com/sdk/index.html 点击download the SDK ,ADT bundle for MAC. 下载跟你操作系统对应的版本,如果是window系统,则下载 for  windows。
下载完成后,配置jdk 以及sdk的环境变量。(具体步骤这里不再赘述,网上很多)
其次,robotium下载
https://code.google.com/p/robotium/wiki/Downloads?tm=2 下载robotium solo 5.1 。
创建测试工程
打开eclipse,new 一个android test project.
将下载的robotium solo 添加到lib下,即可调用其中的方法。
将待测的apk 进行签名 安装到设备中(模拟器或者手机),最好是手机,模拟器特别占资源,会运行的比较慢。
录制脚本工具:
易测云,东软自己开发的一个基于robotium的录制工具,是一个jar包添加到eclipse中,直接用来录制并保存脚本,不太懂的测试代码怎么写的同学,可以先录制熟悉一下结构。
robotium recorder,robotium自带的录制工具,试用次数有限,用几次之后会提示要key。尽管没有key不能生成脚本了,但是还是可以用来做apk签名的,然后将apk安装到测试机器上,起这样的作用。
测试代码写完后,可以 run as android junit test.可以看到客户端自动打开并运行。
测试过程中遇到的难点:
1.客户端是内嵌的webview,所以recorder录制下来的直接都是xpath,但是回放的时候总是提示找不到元素,后来定位是solo 对某些分辨率的手机不支持,修改solo代码,添加多个分辨率手机的支持。
控件元素的属性定位:
使用jdk tools文件夹下的uiautomatorviewer,可以获取元素id属性。但是前提是android版本大于4.2才支持。
向右滑动:

ViewGroup view2 = (ViewGroup)solo.getView("book_history_layout_fl_cotainer");

    solo.scrollViewToSide(view2,Solo.RIGHT,(float) 0.80);

向下拖动:

ViewGroup view2 = (ViewGroup)solo.getView("book_history_layout_fl_cotainer");

   int[] location =newint[2];

    view2.getLocationOnScreen(location);

   solo.drag(location[0]+10, location[0]+10, location[1], location[1]+view2.getHeight(), 5);

按下 "菜单" 键

       //getInstrumentation().sendKeyDownUpSync(82);

        solo.sendKey(Solo.MENU); (建议使用)  

断言:

assertEquals("发表评论用例执行失败","发布成功","发布成功");

长按操作:

 solo.clickLongOnView(solo.getView("bookshelf_gridview_adapter_rl_cover_bg"));








TAG:

 

评分:0

我来说两句

Open Toolbar