zoukankan      html  css  js  c++  java
  • APP元素常用定位方式

    1、常用的定位方式

    name value
    id id属性值
    class class属性值
    xpath xpath表达式

            

          

      

     

     

    2、通过id定位

      方法:driver.find_element_by_id(id_value)  #id_value为id属性值

    3、通过class定位

      方法:driver.find_element_by_class_name(class_value)    #class_value为class属性值

    4、通过xpath定位

      方法:driver.find_element_by_xpath(xpath_value)      #xpath_value为xpath表达值

      

      xptah常用属性定位:
          1. id ://*[contains(@resource-id,'com.android.settings:id/search')] 
          2. class ://*[contains(@class,'android.widget.ImageButton')]
          3. text ://*[contains(@text,'WLA')]
    
      模糊定位 contains(@key,value): value可以是部分值

    5、定位一组元素

      只需把element改为elements即可

    6、其他定位方式:android_uiautomator定位

      方法1:driver.find_element_by_android_uiautomator('new UiSelector().resourceId("id属性值")')

      方法2:driver.find_element_by_android_uiautomator('new UiSelector().text("text文本")')

      方法3:driver.find_element_by_android_uiautomator('new UiSelector().containstext("包含text文本")')

      方法4:driver.find_element_by_android_uiautomator('new UiSelector().ClassName("class属性值")')

      方法5:driver.find_element_by_android_uiautomator('new UiSelector().description("content-des属性值")')

      方法6:driver.find_element_by_android_uiautomator('new UiSelector().starwith("以txt文本开头")')

    7、案例  定位设置里面的蓝牙

    from appium import webdriver
    import time
    desired_caps = {
    "platformName":"Android",
    "platformVersion":'5.1.1',
    "deviceName":"127.0.0.1:21503",
    "appPackage":"com.android.settings",
    "appActivity":".Settings",
    "unicodeKeyboard":True,
    "resetKeyboard":True
    }

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    time.sleep(3)
    #id定位
    #driver.find_elements_by_id('com.android.settings:id/title')[1].click()
    #class定位
    #driver.find_elements_by_class_name('android.widget.TextView')[4].click()
    #xpath定位
    #driver.find_element_by_xpath("//*[@text='蓝牙']").click()
    #android_automator定位
    #driver.find_element_by_android_uiautomator('new UiSelector().text("蓝牙")').click()
    #driver.quit()

      



  • 相关阅读:
    composer 自动加载
    yii linux 上运行脚本 报PDO连接时,提示 Exception 'yiidbException' with message 'SQLSTATE[HY000] [2005] Unknown MySQL server host
    mac上修改php命令行的路径
    git .gitignore 不生效处理办法
    窗口最大化全屏化的方法
    MFC双缓冲解决图象闪烁[转]
    对话框窗口最大化盖住任务栏问题!OnGetMinMaxInfo,WM_GETMINMAXINFO
    关于二维数组传参做形参[转]
    cvLoadImage,cvCloneImage的内存泄露问题
    LPCTSTR和CString的关系
  • 原文地址:https://www.cnblogs.com/xwxxh/p/12660183.html
Copyright © 2011-2022 走看看