三位数的域名网站,全球最大的设计网站,全球十大电商平台排名,wordpress本地使用方法最近在使用UIautomator完成公司的一个主流程的自动化#xff0c;因为不适用H5和IOS所以会放弃这个工具的使用#xff0c;现在记录在使用uiautomator的一些问题#xff1a; 案列1#xff1a;使用命令去启动要运用的apk包 使用命令方式启动#xff0c;可以使用SDK中自带的aa… 最近在使用UIautomator完成公司的一个主流程的自动化因为不适用H5和IOS所以会放弃这个工具的使用现在记录在使用uiautomator的一些问题 案列1使用命令去启动要运用的apk包 使用命令方式启动可以使用SDK中自带的aapt工具路径是在E:\Soft\JAVA\adt-bundle-windows-x86_64-20131030\sdk\build-tools\android-4.4使用时需要在我的电脑中去配置配置百度能解决 1..验证aapt是否可用如下验证aapt的包名 命令行aapt dump badging 安装包地址如果能出现包名而不是报错的提示则aapt能够使用 2.Uiautomator中使用aapt的方式启动进程 am start -n com.hzins.mobile / com.hzins.mobile Am start -n 包名/启动的activity 如果不知道启动的进程在aapt中单独使用命令查看里面的activity如下图所示 测试代码Runtime.getRuntime().exec(am start -n com.xxxxx.mobilepackgename/com.hxx.xxx.act.ACT_Splash(stactivity) ); 案列2在登录控件中登录框和密码框是相同resouceid,class,并且密码框没有文本标识是哪一个文本框 解决办法可用“insrance”标识定位相同控件中 instance(0)表示第一个instance(1)表示第二个 不写instance就默认是instance(0) 3.案列在提交登录时某些控件的clickables是为flase这样是就不能使用点击如 1.提交订单有提示未登录 2.控件的点击的属性不可用怎么获取 解决办法获取外层可用的控件注意标识 3.捕获异常监听如启动时升级提醒和显示框 解决uiwatcher结构应该是这样: main(){ 注册watcher 一个uiselector相关操作 删除watcher } 还需要注意swipe(startX, startY, endX, endY, steps) --在手机上滑动从(startX,startY)到(endX,endY)。steps表示滑动的这个距离分为几步完成数目越少滑动幅度越大。 String watcherName watcher1; getUiDevice().getInstance().registerWatcher(watcherName, new UiWatcher(){//android.widget.ImageView是导航页第一个页面的控件 UiObject runtenew UiObject(new UiSelector().className(android.widget.ImageView)); Override public boolean checkForCondition() { // TODO Auto-generated method stub if(runte.exists()) { int xgetUiDevice().getInstance().getDisplayWidth(); int ygetUiDevice().getInstance().getDisplayHeight(); //getUiDevice().swipe(startX, startY, endX, endY, steps) getUiDevice().swipe(600, y/2,x/4,y/2,5); } Log.d(tag, 成功了点击); return true; } }); //去判定首页任意一个控件 UiObject runtenew UiObject(new UiSelector().className(android.widget.ImageView).resourceId(com.hzins.mobile:id/bt_ok)); runte.clickAndWaitForNewWindow(); // 删除watcher getUiDevice().removeWatcher(watcherName); 转载于:https://www.cnblogs.com/chongyou/p/5125499.html