一.    关于bundle无法导入中文参数

答:    将文件改为UTF-8格式

二.    关于对无法抓取的控件进行快速输入问题

答:    主要通过pressKeyCode方法,首先将光标锁定在输入处。

预先把String数据转化为KeyCode数组,然后再通过上述方法输入。

           for(int i=0;i<id.length();i++){
char c =id.charAt(i);
if(c >=48&&c <=57){
UiDevice.getInstance().pressKeyCode(c-41);
}else if(c >=97&&c <=122){
UiDevice.getInstance().pressKeyCode(c-68);
}else if(c >=65&&c <=90){
UiDevice.getInstance().pressKeyCode(59);
sleep(20);
UiDevice.getInstance().pressKeyCode(c-36);
}else if(c ==32){
UiDevice.getInstance().pressKeyCode(62);
}else{}}

三.     关于UiWatcher使用问题

答:    第一点:其触发在对某控件对象操作,却发现其对象不存在的情况下。

第二点:其触发会执行注册的UiWatcher对象的checkForCondition方法。

第三点:其需要先注册,才会有作用;如果没有需要,应尽早删除注册。

四.     关于点操作的严谨性问题

答:   尽可能勿用具体数值作为点操作坐标。

应根据长宽所占具体比例,以适应屏幕大小的变化。

五.     关于控件抓取条件的设置问题

答:   控件的抓取应主要以不变的属性为主,比如classname;同时还要兼顾其与同一界面的其它控件主要区别特性。

以能唯一的确定其控件,也尽可能的使其在维护时更轻便。

六.    关于测试方法的大小问题

答:    不要将很多操作放在同一个方法中,缺少了复用性。

根据测试逻辑,合理设置方法大小,分割复杂测试方法。

七.    关于测试信息的问题

答:    测试过程的中间信息,应尽可能简洁切详尽。

以方便精确定位脚本或Device问题所在。

八.    关于多系统uiautomator测试工程架构问题

答:    根据Java面向对象特性,采用三层架构,最底层为多系统复用方法;第二层为具体系统专属方法;最上层基本不动为测试方法管理层。

九.    关于uiautomator工程打包问题

答:    首先建立build.xml:

For Example  command:    android create uitest-project -n Test -t android-22 -p .

Ant打包

十.     关于Exception问题

答:    在Exception发生后,应该去截图当前屏幕。

UiAutomator 测试工程开发小结的更多相关文章

  1. AC6102 DDR2测试工程

    AC6102 DDR2测试工程 本文档介绍AC6102上DDR2存储器基于Verilog代码的测试过程.AC6102上使用了2片16bit的DDR2存储器组成了32bit的硬件总线.虽然是32bit硬 ...

  2. robotium 测试APK<一> 建立测试工程

    1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...

  3. pdfjs viewer 开发小结

    此文已由作者吴家联授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1. pdfjs库简介 PDF.js 是由Mozilla 主导推出的可以将PDF文件转换为H5页面进行展示的 ...

  4. Git工程开发实践(四)——Git分支管理策略

    A successful Git branching model https://nvie.com/posts/a-successful-git-branching-model/ Git工程开发实践( ...

  5. 学习版pytest内核测试平台开发万字长文入门篇

    前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...

  6. APP敏捷测试,测试和开发并行!

    测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...

  7. Android中使用自身携带的Junit新建一个测试工程

    1.新建立一个Android工程 package com.shellway.junit; public class Service { public int divide(int a,int b){ ...

  8. Scrum敏捷软件开发之技术实践——测试驱动开发TDD

    重复无聊的定义 测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法.它要求在编写某个功能的代码之前先编写测试代码,然后只编写 ...

  9. ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]

    ActiveX 添加测试工程 1.新建工程MFC application, 2.添加完毕,在main Dialog中, 右键[Insert Activex Control],选择你的ActiveX控件 ...

随机推荐

  1. easyui-datagrid 两次请求

    原因分析及解决方案 html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url:然后又调用js初始 ...

  2. 细微之处:比较两种CSS清除浮动的兼容

    http://www.cnblogs.com/bienfantaisie/archive/2011/05/27/2059597.html 清除浮动是连续浮动元素之后的必备工作,在工作中我做到需要清除浮 ...

  3. shell脚本步骤调试

    第一种方式===> [root@localhost functions]# sh -x test.sh --check xx+ '[' --check '!=' -check ']'+ case ...

  4. macbook air电池保养方法

    转自: http://bbs.feng.com/read-htm-tid-5819895.html http://www.zhihu.com/question/22628030

  5. tcp粘包问题(封包)

    tcp粘包分析     http://blog.csdn.net/zhangxinrun/article/details/6721495 解决TCP网络传输“粘包”问题(经典)       http: ...

  6. HTML5 manifest离线缓存

    一.基本概念 离线缓存是HTML5新引入的技术,能够让你的Web应用程序指定哪些文件可以缓存在本地,使得你的网络断开时依然可以通过本地的缓存来进行访问浏览. 二.使用方法 1. MIME type 声 ...

  7. 【转】 Mybatis/Ibatis,数据库操作的返回值

    该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey&g ...

  8. centos 单独安装PHP的mysql和mysqli扩展

    2013年11月22日 11:25:41 Linux centos 6.3 最小化安装 mysql 5.5 php 5.4 安装PHP时只是 ./configure --prefix=/**** 并没 ...

  9. Material Design入门(二)

    本文主要包括以下内容 侧滑菜单DrawerLayout实现 CardView实现 DrawerLayout介绍 drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可 ...

  10. ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)

    客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...