注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之云的足迹

点击这里添加博客描述

 
 
 

日志

 
 

NativerDriver环境搭建,以及使用过程中问题记录  

2011-08-16 16:43:24|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如何搭建测试环境步骤详解

详情见:http://code.google.com/p/nativedriver/wiki/AndroidMakeAnAppTestable

1、加入server-standalone.jar文件到被测应用中(此jar包需要下载源码后自己编译,见:http://code.google.com/p/nativedriver/wiki/GettingStartedAndroid)
2、被测应用的AndroidManifest.xml 文件加入如下选项,targetPackage输入被测应用的包名,不同应用会不一样,这里已微博为例
    
 <instrumentation android:targetPackage="com.netease.wb"     
android:name="com.google.android.testing.nativedriver.server.ServerInstrumentation" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
3、上面两个步骤需要开发的协助,完成上面两部后让开发帮忙build一个apk文件给我们安装到模拟器或者设备中
4、启动被测应用上的服务器开始,保证能接受到测试程序发送过去的消息,现在每次都需要手工的执行这两步,比较麻烦,不过开发人员已经说下次会把手工执行命令的操作封装到代码中去
com.netease.wb 为被测应用的包名,不同应用会不一样
com.google.android.testing.nativedriver.server.ServerInstrumentation 这个是加入的jar包的类名,用来启动服务器了
adb shell am instrument com.netease.wb/com.google.android.testing.nativedriver.server.ServerInstrumentation
5、启动端口,使被测应用和测试程序能够正常的通过端口发送接收消息
    adb forward tcp:54129 tcp:54129

使用过程中问题记录

1、获取到控件后,在控件中输入内容需要先click一下,不click的话,如果焦点不在当前控件,则sendkeys控件输入内容会无效
解决方案:这个问题暂时先记住,先click一下,然后在输入内容了

2、 输入密码后因为会出现触摸屏键盘,此时需要调用back操作,把键盘隐藏掉,否则登陆点击click操作的话会报错误
解决方案:这个只能这样子,如果不去除按钮会出现不能点击到button的情况,不过看了一下不同的SDK版本可能会有些不一样,有些不会出现键盘,所以测试代码最好能判断一下

3、 nativdriver提供的API还比较少,貌似没找到wait等待控件的相关操作。还有很多API是WebDriver中自带的,需要熟悉一下,看一下webdriver中是否存在相应的操作。

解决方案:可以在setup中调用driver.manage().timeouts().implicitlyWait(9, TimeUnit.SECONDS); 来统一设置find控件的等待时间

4、 登陆后查找“写微博”控件出现找不到元素错误,不知道是不是activity跳转引起的,需要调研一下跳转后怎么来查找相应的控件

解决方案:
    
使findElementfindAndroidNativeElements 
WebElement myData = driver.findElement(AndroidNativeBy.text("我的资料"));
List<AndroidNativeElement> myfollows = driver.findAndroidNativeElements(By.id("radio_follow"));
WebElement myfollow = myfollows.get(0);

5、Hierarchy View不能识别activity名为小写的activity问题

这个问题纠结了一两天的时间,之前是一直可以识别的,过了一个周末过来很诡异的是识别activity名称第一个为小写的activity时候一直 出现E/hierarchyviewer: Unable to load window data for window的错误,导致上面的所有控件都识别不了。

解决方案:
通过Eclipse插件Hierarchy View来启动,就能够正确识别了(如果还有问题考虑更新一下ADT和Hierarchy View版本),在window-》open perspective中来启动Hierarchy View。

  评论这张
 
阅读(1353)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018