美文网首页
name定位&class_name定位&相对定位

name定位&class_name定位&相对定位

作者: Chaweys | 来源:发表于2022-01-25 13:23 被阅读0次

    1、name定位:
    driver.find_element_by_name("请输入用户名").senk_keys("zxw123")
    注:由于text稳定性不是很好,所以appium 1.5开始废弃了该方法
    
    
    2、class_name定位:
    #用户名输入
    driver.find_element_by_class_name("android.widget.EditText").senk_keys("zxw123")
    #密码输入
    driver.find_element_by_class_name("android.widget.EditText").senk_keys("zxw123")
    注:
    由上述可知,用户名输入框和密码输入框的class_name的值相同,会造成定位不准确,
    如果存在相同的class_name,定位首先选择排名靠前的class_name
    
    
    3、相对定位:
    相对定位是先找到该元素对应的父元素节点,然后基于父元素进行元素定位。
    如果在父元素下,依然存在相同的class_name,则使用相对class_name定位依然不准确。
    
    #定位到父元素
    rootElement=driver.find_element_by_id("com.tal.kaoyan:id/activity_register_parentlayout")
    #在父元素里根据class_name定位子元素
    rootElement.find_element_by_class_name("android.widget.ImageView").click()
    
    class_name&相对定位举例:
    # -*-coding:utf-8 -*-
    # @Author : hudechao
    # @Time : 2022/1/20 2:07
    
    from AppiumTest import findElement
    
    """
    等录kyb:
    1、检测是否第一次登录,
    2、是第一次登录,调直接登录方法,
    3、不是第一次登录,点击"我"-"未登录"-调用直接登录方法
    """
    
    driver = findElement.driver()
    
    def login():
    
        try:
            # 如果是首次安装运行,会有升级提示
            ancelButton = driver.find_element_by_id("android:id/button2")
        except Exception as e:
            print("cancelButton is not exist")
        else:
            ancelButton.click()
            print("点击取消按钮")
    
        try:
            # 升级提示后的跳过按钮
            skipButton = driver.find_element_by_id("com.tal.kaoyan:id/tv_skip")
        except Exception as e:
            print("skipButton is not exist")
        else:
            skipButton.click()
            print("点击跳过按钮")
    
        # 点击注册按钮
        driver.find_element_by_id("com.tal.kaoyan:id/login_register_text").click()
        # 相对定位点击更换头像
        # 定位到父元素
        rootElement = driver.find_element_by_id("com.tal.kaoyan:id/activity_register_parentlayout")
        # 在父元素里根据class_name定位子元素
        rootElement.find_element_by_class_name("android.widget.ImageView").click()
    
    
    try:
        # 检查是否已经登录过,如果登录过,"我"按钮元素存在
        driver.find_element_by_id("com.tal.kaoyan:id/mainactivity_button_mysefl")
    except Exception as e:
        login()
    else:
        # 点击"我"按钮
        driver.find_element_by_id("com.tal.kaoyan:id/mainactivity_button_mysefl").click()
        # 点击"未登录"按钮
        driver.find_element_by_id("com.tal.kaoyan:id/activity_usercenter_username").click()
        login()
    
    

    相关文章

      网友评论

          本文标题:name定位&class_name定位&相对定位

          本文链接:https://www.haomeiwen.com/subject/zudshrtx.html