zoukankan      html  css  js  c++  java
  • Appium+python (3) 元素定位(1)

    打开问价夹下面的uiautomatorviewer:

        夜神模拟器里的App后,回到uiautomatorviewer:

    点击左上角的Device Screenshot,这时你的夜神模拟器页面就会显示在这里,右侧就是对应的定位信息了,我们主要依靠右下角的Node Detail信息进行定位。

            如果你有selenium的基础,那接下来介绍的基本一致,只是换了个方法而已:

    • text

      find_element_by_name(u"视频")
    • id

      find_element_by_resource-id("")
    • class name

    使用className获得的view一般不止一个,所以需要遍历得到的views,然后缩写搜索条件获取目标控件

    # 获取一个className下的所有控件
    buttons = driver.find_elements_by_class_name("")
    # 点击第一个元素
    buttons.pop(0).click()
    # 点击最后一个元素
    buttons.pop().click() buttons.pop(-1).click()
    • accessibility id

    这个方法属于appium扩展的定位方法

    上图中的content-desc对应的就是accessibility_id

    find_element_by_accessibility_id("")

    - xpath

    find_element_by_xpath("")

    android uiautomator

    # 注意,text里面必须是字符串,也就是说不能加u
    find_element_by_android_uiautomator('new UiSelector().text("娱乐")')

    此外,还有

    find_element_by_link_text()
    find_element_by_partial_link_text()
    find_element_by_tag_name()

    看一段代码:

    # coding: utf-8

    from appium import webdriver
    from time import sleep desired_caps = {'platformName': 'Android',
                   'deviceName': '127.0.0.1:62001',
                   'platformVersion': '23',
                   'appPackage': 'com.tencent.news',
                   'appActivity': 'com.tencent.news.activity.SplashActivity',
                   'unicodeKeyboard': True,
                   'resetKeyboard': True} driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    # 跳过广告
    sleep(5)
    # 用text定位-点击视频
    driver.find_element_by_name(u"视频").click()
    # 点击娱乐
    driver.find_element_by_android_uiautomator('new UiSelector().text("娱乐")').click()

            上面的代码有两种定位方式,其实之前写了好多种,无奈它去乱点,根本不是想要定位的位置,比如我用class定位:

            但是那一排的class是相同的,而且不能用find_elements_by_className()加索引的方式进行定位。大家也看到了,我的这个不知道为什么text就是不显示,似乎是应该可以显示的,不知道问题出在哪里

            定位方式还有一个xpath,我也很关心这个该怎么用,但是我现在也不知道,不过似乎上面这些已经差不多可以进行用例编写了。至于xpath,看到好多网上说有点不好用,管他呢,大家稍安勿躁,下一节我们再来介绍xpath。

    微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  • 相关阅读:
    java并发编程
    Linux C++服务器端进程SDK
    定时器SDK
    Redis3.0集群方案分析
    DES
    生成验证码
    MVC Ajax.BeginForm 提交上传图片
    EF LIKE 查询
    JS 60秒后重发送验证码
    EF 指定字段修改
  • 原文地址:https://www.cnblogs.com/captainmeng/p/8387238.html
Copyright © 2011-2022 走看看