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();

    }

  • 相关阅读:
    COCOS学习笔记--单点触控
    [ExtJS5学习笔记]第九节 Extjs5的mvc与mvvm框架结构简单介绍
    STM32F103 TIM1输出PWM设置
    【转】Android--UI之ProgressBar--不错
    【传】玩转Android---UI篇---ImageButton(带图标的按钮)
    【转】Android--多线程之Handler--不错
    【转】MFC获取程序目录路径方法
    【转】蓝牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法--不错
    【转】windows常用消息大全(系统消息、通告消息、用户消息)
    【转】VC的MFC中重绘函数的使用总结(整理)
  • 原文地址:https://www.cnblogs.com/strggle/p/6530393.html
Copyright © 2011-2022 走看看