Appium实现截图和清空EditText

Akili ·
更新时间:2024-11-10
· 801 次阅读

  adb基本命令总结(Android Debug Bridge)   adb 是PC和设备连接的桥梁,可以通过adb对devices进行相关操作   adb devices           列出你的devices   adb kill-server         杀掉adb服务(如果设备连接出问题,可尝试)   adb start-server      重启adb服务   adb shell                进入默认device的Linux shell,可以直接执行Linux命令   adb shell screenrecord /sdcard/runCase.mp4  录制视频保存,默认3min,也可以加--time-limit 60限制时间   adb install jd.apk      向设备安装app   adb pull /sdcard/runCase.mp4 c:// 把手机中文件copy到电脑   adb push C://runCase.mp4 /sdcard/          把电脑中文件放到手机   以上是一些基本的adb 命令   appium实现截图   由于我有webdriver 的基础,理解起来比较easy,appium截图实际是继承webdriver的   selenium 中使用的是TakesScreenShot接口getScreenShotAs方法,具体实现如下 1 /** 2      * This Method create for take screenshot 3      * 4      * @author Young 5      * @param drivername 6      * @param filename 7      */ 8     public static void snapshot(TakesScreenshot drivername, String filename) { 9         // this method will take screen shot ,require two parameters ,one is 10         // driver name, another is file name 11 12         String currentPath = System.getProperty("user.dir"); // get current work 13                                                                 // folder 14         File scrFile = drivername.getScreenshotAs(OutputType.FILE); 15         // Now you can do whatever you need to do with it, for example copy 16         // somewhere 17         try { 18             System.out.println("save snapshot path is:" + currentPath + "/" 19                     + filename); 20             FileUtils 21                     .copyFile(scrFile, new File(currentPath + "\" + filename)); 22         } catch (IOException e) { 23             System.out.println("Can't save screenshot"); 24             e.printStackTrace(); 25         } finally { 26             System.out.println("screen shot finished, it's in " + currentPath 27                     + " folder"); 28         } 29     }   调用: snapshot((TakesScreenshot) driver, "zhihu_showClose.png");   你可以在捕获异常的时候调用,可以实现错误截图,做测试结果分析很有效   appium清空EditText(一个坑)   在使用appium过程中,发现sendkeys和clear方法并不太好使,只好自己封装模拟手工一个一个删除   这里用到keyEvent,具体内容请参考api http://appium.github.io/java-client/   要删除一段文字,该怎么做:   1. 获取文本长度   2. 移动到文本后   3. 按下删除按钮,直到和文本一样长度   移动到文本后: 123删除67   public static final intBACKSPACE67   public static final intDEL67   public static final intKEYCODE_MOVE_END123



edittext appium

需要 登录 后方可回复, 如果你还没有账号请 注册新账号