zoukankan      html  css  js  c++  java
  • 使用Appium上传/下载文件(push文件、pull文件)

     1 package com.lx.class1;
     2 
     3 import java.io.File;
     4 import java.io.IOException;
     5 import java.net.URL;
     6 import java.util.concurrent.TimeUnit;
     7 
     8 import org.apache.commons.codec.binary.Base64;
     9 import org.apache.commons.io.FileUtils;
    10 import org.openqa.selenium.remote.DesiredCapabilities;
    11 
    12 import io.appium.java_client.android.AndroidDriver;
    13 
    14 public class Demo4 {
    15     public static void main(String[] args) throws Exception {
    16             AndroidDriver driver;        
    17             DesiredCapabilities cap=new DesiredCapabilities();        
    18             cap.setCapability("automationName", "Appium");//appium做自动化
    19 //            cap.setCapability("app", "C:\software\jrtt.apk");//安装apk
    20 //            cap.setCapability("browserName", "chrome");//设置HTML5的自动化,打开谷歌浏览器
    21             cap.setCapability("deviceName", "S4");//设备名称
    22             cap.setCapability("platformName", "Android"); //安卓自动化还是IOS自动化
    23             cap.setCapability("platformVersion", "4.4"); //安卓操作系统版本
    24             cap.setCapability("udid", "192.168.56.101:5555"); //设备的udid (adb devices 查看到的)
    25             cap.setCapability("appPackage","com.cyanogenmod.filemanager");//被测app的包名
    26             cap.setCapability("appActivity",".activities.NavigationActivity");//被测app的入口Activity名称
    27             cap.setCapability("unicodeKeyboard", "True"); //支持中文输入
    28             cap.setCapability("resetKeyboard", "True");   //支持中文输入,必须两条都配置
    29             cap.setCapability("noSign", "True");  //不重新签名apk
    30             cap.setCapability("newCommandTimeout", "30");  //没有新命令,appium30秒退出
    31             
    32             driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);//把以上配置传到appium服务端并连接手机
    33              //隐式等待
    34             driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    35             Thread.sleep(3000);
    36             //上传文件
    37             File file = new File("C:\test.txt");
    38             String content = null;
    39             try {
    40                 content = FileUtils.readFileToString(file);
    41             } catch (IOException e) {
    42                 e.printStackTrace();
    43                 }
    44             byte[] data = Base64.encodeBase64(content.getBytes());
    45                 driver.pushFile("sdcard/test.txt", data);
    46             //下载文件举例:
    47             byte[] resultDate = driver.pullFile("sdcard/test.txt");
    48             System.out.println(new String(Base64.decodeBase64(resultDate)));
    49 
    50             //下载文件夹:
    51             driver.pullFolder("tmp/");  
    52             //把android的tmp目录拷贝到临时文件夹
    53             System.out.println(driver.pullFolder("tmp/"));
    54 
    55     }
    56 
    57 }
  • 相关阅读:
    js中国标准时间转换成datetime格式
    elementUI合并单元格
    vue filter 过滤器
    typescript学习 回顾查漏
    vue 中使用 XLSX 和 xlsx-style 实现前端下载Excel表格
    git 删除本地分支以及远程分支
    linux 下 配置 nginx
    初涉gulp
    git remote prune origin删除本地有但在远程库已经不存在的分支
    js 加密和解密
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/6534653.html
Copyright © 2011-2022 走看看