zoukankan      html  css  js  c++  java
  • IOSNSPREDICATE APPIUM 定位元素


    Appium使用WebDriverAgent之后,新增了一种定位方法iOSNsPredicate,总结了一下使用方法:

    MobileElement photo = driver.findElementByIosNsPredicate("name = 'head new'"); // 等于

    MobileElement photo = driver.findElementByIosNsPredicate("name LIKE '*new'");  // 模糊匹配

    MobileElement photo = driver.findElementByIosNsPredicate("name MATCHES '^$'"); // 正则表达式匹配

    List<IOSElement> items1 = driver.findElementsByIosNsPredicate("name CONTAINS '我的'"); // 包含

    List<IOSElement> items2 = driver.findElementsByIosNsPredicate("name BEGINSWITH '我的'"); // 以"我的"开始

    List<IOSElement> items3 = driver.findElementsByIosNsPredicate("name BEGINSWITH '我的' && name ENDSWITH '消息'"); // 以"我的"开始并且以"消息"结尾

    其中属性名参照inspector的属性字段,关键字LIKE,MATCHES,CONTAINS,BEGINSWITH,ENDSWITH必须是大写,匹配的字符需要用单引号

    官方参考地址:

    https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios_predicate.md

    最后给个建议:

    1 选择定位方式的判断:

      如果显示在界面的文本唯一或是第一个出现:使用accessibility

      如果class唯一或是第一个出现:className

      ID或class不方便定位,控件属性有明确的匹配规则:iOSNsPredicate

      如果有工具可以直接给出准确的xpath:xpath

      实在不行就用坐标吧

    2 如果控件的属性visible是false的话,请使用控件坐标并获取中心点用tap点击,直接点击控件会失败

  • 相关阅读:
    左偏树
    论在Windows下远程连接Ubuntu
    ZOJ 3711 Give Me Your Hand
    SGU 495. Kids and Prizes
    POJ 2151 Check the difficulty of problems
    CodeForces 148D. Bag of mice
    HDU 3631 Shortest Path
    HDU 1869 六度分离
    HDU 2544 最短路
    HDU 3584 Cube
  • 原文地址:https://www.cnblogs.com/kaola8023/p/12605211.html
Copyright © 2011-2022 走看看