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

    }

  • 相关阅读:
    【Oracle】dba_jobs字段说明
    【工作杂记】一次修改表字段名操作导致的报表缺失了2个小时的数据
    【SAP BO】无法识别账户信息:无法访问CMS。计算机上的CMS由于某个严重错误而停止。(FWM 20031)
    【虚拟机】在VMware中安装Server2008之后配置网络连接的几种方式
    vlc for android 编译过程
    ubuntu19更新源
    nginx错误Too many open files
    mp4流化
    编译ffmpeg的时候出现ERROR: libx264 not found
    nginx中Lua模块内置变量
  • 原文地址:https://www.cnblogs.com/strggle/p/6530393.html
Copyright © 2011-2022 走看看