Appium 设备操作API

//按键操作
  driver.pressKeyCode(AndroidKeyCode.HOME);//方法一
  driver.pressKeyCode(3);//方法二,利用键值代替,可查阅Android 键盘键名和键值列表
  driver.findElementByAccessibilityId("搜索").click();
  driver.findElementByAccessibilityId("搜索查询").click();
  driver.pressKeyCode(AndroidKeyCode.KEYCODE_A);
  driver.pressKeyCode(AndroidKeyCode.KEYCODE_A,1); // 加1转化为大写
//锁屏操作
driver.lockScreen(3);// 等待3秒后锁屏
  System.out.println(driver.isLocked());//判断是否锁屏
//打开通知栏
  driver.openNotifications();
//滚动屏幕到指定文本
  driver.scrollTo("辅助功能");//方法一  全称
  driver.scrollToExact("辅助");//方法二  包含
//获取网络状态
int i = driver.getNetworkConnection().value;
System.out.println(i);
//横竖屏操作
System.out.println(driver.getOrientation().toString());//获取屏幕状态
  driver.rotate(ScreenOrientation.LANDSCAPE);//横屏操作
Thread.sleep(3000);
  driver.rotate(ScreenOrientation.PORTRAIT);//纵屏操作
//截屏操作
File scr = driver.getScreenshotAs(OutputType.FILE);
String filename = System.getProperty("user.dir")+"/imgs/t68.png";
 File f = new File(filename);
FileUtils.copyFile(scr, f);

//上传文件操作,方法一:

  String filename = System.getProperty("user.dir")+"/files/a.log";
  File f = new File(filename);
  String con = null;
  con = FileUtils.readFileToString(f);
  System.out.println(con);
  byte[] data = Base64.encodeBase64(con.getBytes());
  driver.pushFile("tmp/test.log", data);
//方法二:调用adb命令,要先赋予adb权限  chmod 777 adb,命令的参数使用全路径,红色部分
  Runtime.getRuntime().exec("/Users/liuqingjun/software/android-sdk-macosx/platform-tools/adb push /Users/liuqingjun/workspace/APPTest/files/a.log /tmp/");

//下载文件操作
byte[] data = driver.pullFile("/tmp/test.log");
System.out.println(new String(Base64.decodeBase64(data)));
String filename = System.getProperty("user.dir")+"/imgs/t68.png";
File f = new File(filename);

posted @ 2017-09-05 10:46  玖梦lmj  阅读(237)  评论(0编辑  收藏  举报