• appium 获取android 粘贴板上的内容


    appium 新版本增加了获取粘贴板的内容。如果使用appium旧版本,获取粘贴板的内容不是那么容易的,甚至百度谷歌各种搜,都无法找到合适的解决方法。新版本获取android 粘贴板内容就显得很容易了,简单一句就可以: 

    String ss = driver.getClipboardText();

    如下为以有道云笔记apk为示例:
    import io.appium.java_client.TouchAction;
    import io.appium.java_client.android.AndroidDriver;
    import io.appium.java_client.touch.WaitOptions;
    import io.appium.java_client.touch.offset.PointOption;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.time.Duration;
    import java.util.List;
    import java.util.concurrent.TimeUnit;
    
    public class TestYoudao3 {
        public static void main(String[] args) {
            String udid = "Y9K0214B13002052";
            udid = "192.168.116.101:5555";
            AndroidDriver<WebElement> driver = null;
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("deviceName", udid);
            capabilities.setCapability("udid", udid);
    
            // 设置安卓系统版本ad
            capabilities.setCapability("platformName", "Android");
            capabilities.setCapability("automationName", "uiautomator2");
            capabilities.setCapability("platformVersion", "5.1");
    
            // session 延迟时间
            capabilities.setCapability("newCommandTimeout", 24000);
            capabilities.setCapability("noReset", true);
            //apabilities.setCapability("device", "selendroid");
            // capabilities.setCapability("app", app.getAbsolutePath());
            capabilities.setCapability("unicodeKeyboard", "True");
            capabilities.setCapability("resetKeyboard", "True");
            // 设置app的主包名和主类名 微信程序包名和activity 名
            capabilities.setCapability("appPackage", "com.youdao.note");
            capabilities.setCapability("appActivity", "com.youdao.note.activity2.SplashActivity");
    
            String url = "http://127.0.0.1:4723/wd/hub";
    
            try {
                driver = new AndroidDriver<WebElement>(new URL(url), capabilities);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
            driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
    
    
            driver.findElementById("com.youdao.note:id/add_note").click();
            driver.findElementById("com.youdao.note:id/add_note_floater_add_note").click();
    
            driver.setClipboardText("hello clipboard ");  //设置粘贴板内容 设置后android粘贴板的内容就为hello clipboard ,可以手动在android中粘贴试下
            String ss = driver.getClipboardText(); //获取粘贴板内容
            WebElement eletitle = driver.findElementById("com.youdao.note:id/note_title");
            eletitle.click();
            eletitle.sendKeys(ss);  //把粘贴板内容输入到标题文本框中
        }
    
    }

    执行后显示的内容

    欢迎关注技术公众号获取更多最新自动化技术资讯

  • 相关阅读:
    提问回顾
    个人阅读作业+个人总结
    结对项目-数独程序扩展
    个人作业-Week 3
    个人作业-Week 2
    个人项目-数独程序
    个人作业-Week 1
    第0次博客作业
    2017[BUAA软工]第0次个人作业
    [2017BUAA软工]提问回顾
  • 原文地址:https://www.cnblogs.com/testway/p/9642426.html
Copyright © 2020-2023  润新知