zoukankan      html  css  js  c++  java
  • Appium 混合app实例

    public static void main(String[] args) throws Exception{
    AndroidDriver driver;

    DesiredCapabilities cap=new DesiredCapabilities();

    cap.setCapability("automationName", "Appium");//appium做自动化
    // cap.setCapability("app", "C:\software\jrtt.apk");//安装apk
    // cap.setCapability("browserName", "chrome");//设置HTML5的自动化,打开谷歌浏览器
    cap.setCapability("deviceName", "S4");//设备名称
    cap.setCapability("platformName", "Android"); //安卓自动化还是IOS自动化
    cap.setCapability("platformVersion", "4.4"); //安卓操作系统版本
    cap.setCapability("udid", "192.168.131.101:5555"); //设备的udid (adb devices 查看到的)
    cap.setCapability("appPackage", "com.ss.android.article.news");//被测app的包名
    cap.setCapability("appActivity", ".activity.MainActivity");//被测app的入口Activity名称
    cap.setCapability("unicodeKeyboard", "True"); //支持中文输入
    cap.setCapability("resetKeyboard", "True"); //支持中文输入,必须两条都配置
    cap.setCapability("noSign", "True"); //不重新签名apk
    cap.setCapability("newCommandTimeout", "10"); //没有新命令,appium30秒退出

    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);//把以上配置传到appium服务端并连接手机
    //隐式等待
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    Thread.sleep(3000);
    //1.进入话题模块
    driver.findElementByName("话题").click();
    Thread.sleep(3000);
    driver.findElementByName("关注").click();
    //2.切换上下文
    //获取当前混合页面是所有上下文
    Set ContextHandles=driver.getContextHandles();
    //
    System.out.println(ContextHandles.toString());
    //[NATIVE_APP,WEBVIEW_com.ss.android.article.news]
    driver.context("WEBVIEW_com.ss.android.article.news");
    //需要检查的内容的元素
    //H5页面
    driver.context("NATIVE_APP");
    WebElement el1=driver.findElementByXPath("/html/body/div/div[2]/div[2]/div[2]/a[1]/div/div[1]/div");
    // String title=el1.getText();
    // System.out.println("info:点击了话题"+title);
    Thread.sleep(2000);
    System.out.println(el1.getText());
    el1.click();
    Thread.sleep(5000);
    //打开的新页面
    driver.context("NATIVE_APP");
    WebElement el2=driver.findElementById("com.ss.android.article.news:id/forum_name");
    System.out.println(el2.getText());
    Thread.sleep(5000);
    //关闭app
    driver.closeApp();

    }

  • 相关阅读:
    研发环境容器化实施过程(docker + docker-compose + jenkins)
    Java虚拟机-字节码执行引擎
    Java虚拟机-类加载机制
    Java虚拟机-字节码指令
    Java虚拟机-类文件结构
    Java虚拟机理解-内存管理
    单元测试实践(SpringCloud+Junit5+Mockito+DataMocker)
    Git基础概念与Flow流程介绍
    谷歌最佳实践
    谷歌最佳实践
  • 原文地址:https://www.cnblogs.com/strggle/p/6530393.html
Copyright © 2011-2022 走看看