列表定位
什么时候使用列表定位:id属性值重复时
列表定位使用:find_elements
# -*- codeing = utf-8 -*-
# @Time : 2022/3/29 20:02
# @Author :su
# @File : ky_register.py
# @Software : PyCharm
from testcase.kyCapability import check_cancelBtn,check_skipBtn,kydriver
check_cancelBtn()
check_skipBtn()
#点击注册按钮 com.tal.kaoyan:id/login_register_text
kydriver.find_element('id','com.tal.kaoyan:id/login_register_text').click()
#点击头像 com.tal.kaoyan:id/activity_register_userheader
kydriver.find_element('id','com.tal.kaoyan:id/activity_register_userheader').click()
#选择图片 图片信息id一样 com.tal.kaoyan:id/item_image
kydriver.find_elements('id','com.tal.kaoyan:id/item_image')[2].click()
#点击保存按钮 com.tal.kaoyan:id/save
kydriver.find_element('id','com.tal.kaoyan:id/save').click()
Xpath定位
Xpath描述页面元素的路径
注意:在appium中,Xpath不支持绝对路径,仅支持相对路径
例子:使用XPATH定位登录功能中的元素
# 执行公共业务
from testcase.kyCapability import check_cancelBtn, check_skipBtn,kydriver
check_cancelBtn()
check_skipBtn()
#登录
# xpath 路径格式 : //标签的名字[@属性名字=“属性的值”],可以唯一描述页面元素
kydriver.find_element('xpath','//android.widget.EditText[@text="请输入用户名"]').send_keys("shudaxia123")
# 使用xpath定位密码输入
kydriver.find_element('xpath','//*[@class="android.widget.EditText" and @index="3"]').send_keys("shudaxia123")
#登录按钮
kydriver.find_element('xpath','//android.widget.Button').click()