A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不二晨 金牌黑马   /  2019-1-3 09:15  /  1194 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


String szItem = m_softwareItems.get(nIndex);                      
UiObject item = softwareItems.getChildByText(new UiSelector().className("android.widget.LinearLayout"), szItem);
if(item != null && item.exists()) 。。。
这段代码在相应的项不存在的时候,会弹出异常,然后程序直接终止。但我们的逻辑是如果不存在就略过,流程还需要继续走下去。然后我尝试添加try 捕获异常,但还是不行,最后发现,捕获异常的同时,加个空指针判断,就能够避免程序退出了,最后的代码是这样:
UiObject item = null;
try
{
    String szItem = m_softwareItems.get(nIndex);
    item = softwareItems.getChildByText(new UiSelector().className("android.widget.LinearLayout"), szItem);
}
catch(UiObjectNotFoundException e)
{       
}

if(item != null && item.exists())
一定要判断是否为null。

测试类函数中一般都继承异常声明,但一定注意,如果发生异常,没有手动去捕获,程序会立即退出的。因此如果不希望程序退出的话,用try来捕获异常比较合适。


jar包中是可以识别手机上的中文字符的,网上有些博客说不能其实是错误的,通过设置工程-属性-资源-文本文件编码 为UTF-8就可以进行中文的识别,但是注意,我们从命令行看的时候,显示的是乱码,这个只是显示问题。





jar的执行函数是以test为开头命名的函数。如果内部的函数开头不是test(我之前写成了Test),jar是不会模拟点击的。如果有多个test开头的函数,则根据test后面字母的ASCII码的顺序依次执行。所以上述的两个函数,先执行testDemo1,再执行testDemo2.



代码中需要对某个txt文件进行读操作,于是写了如下代码:

FileReader fr = new FileReader(DIR + filename);
BufferedReader bf = new BufferedReader(fr);
String str = null;
while ((str = bf.readLine()) != null)
但是却提示错误,

uiautomator进程一般只有一个,比如一个jar中有两个测试类,启动其中一个,在它运行的过程中,如果另一个启动了,则前一个自动退出(windows下测试正常,盒子上会提示进程已被注册,必须手动杀死才行)。



对于ListView控件,其实是可以进行遍历的,用UiScrollable获取一个ListView控件的列表,然后getChildCount是返回当前视线内的元素个数,注意是当前视线,不在屏幕上的,不算在内,用getChildByInstance进行遍历,第二个参数指明是第几个元素,注意,这里也是当前视线。这样就会有个问题,只对当前视线进行遍历。我做过测试,发现当前视线也不是很准确,比如当前其实有10行,但遍历到6,7行就认为遍历完了。



屏幕模仿滑动的时候,使用的是swipe方法,从左到右和从右到左,比如getUiDevice().swipe(0, nheight / 2, nwidth , nheight / 2, 10);  但是这样发现有一些问题,就是向左滑的太快了,小米手机是这样,华为没有这种现象。于是就想了办法,不从边缘开始 getUiDevice().swipe(1, nheight / 2, nwidth - 1, nheight / 2, 10); 改成这样就正常了。

后来发现这样修改也不行。原来是presshome搞得鬼,有的手机点击就留在当前,有的会跳到日历那个桌面上。



华为智能桌面的问题,我的华为手机如果安装智能桌面后,程序中调用presshome就会直接呼出华为桌面,而另一台华为手机则不会,这导致不能在代码中使用presshome
---------------------
转载,仅作分享,侵删
作者:吹成狗的攻城狮
原文:https://blog.csdn.net/yongshi6/article/details/50956586


1 个回复

倒序浏览
奈斯,加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马