元素的常用方法
- 点击方法 element.click()
- 输入操作 element.send_keys(‘appium’)
- 设置元素的值 element.set_value(‘appium’)
- 清除操作 element.clear()
- 是否可见 element.is_displayed() 返回True/False
- 是否可用 element.is_enabled() 返回True/False
- 是否被选中 element.is_selected() 返回True/False
- 获取属性值 get_attribute(name)
元素的常用属性
- 获取元素文本 格式:element.text
- 获取元素坐标 格式:element.location 结果:{‘y’:19,‘x’:498}
- 获取元素尺寸(高和宽) 格式:element.size 结果:{‘width’:500, ‘height’:22}
案例
import time
from appium import webdriver
class TestElementOperator:
def setup(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'true'
desired_caps['appPackage'] = 'com.xueqiu.android'
desired_caps['appActivity'] = '.view.WelcomeActivityAlias'
desired_caps['noReset'] = "true"
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
self.driver.implicitly_wait(10)
def teardown(self):
self.driver.quit()
def test_search(self):
'''
案例:
打开「雪球」应用首页
定位首页的搜索框
判断搜索框是否可用,并查看搜索框name属性值
打印搜索框这个元素的左上角坐标和它的宽高
向搜索框输入 阿里巴巴
判断 阿里巴巴 是否可见
如果可见,打印“搜索成功”,如果不可见,打印“搜索失败”
:return:
'''
self.driver.find_element_by_id('com.xueqiu.android:id/tv_search').click()
search_element = self.driver.find_element_by_id('com.xueqiu.android:id/search_input_text')
print(search_element.is_enabled())
print(search_element.text)
print(search_element.location)
print(search_element.size)
search_element.send_keys('阿里巴巴')
search_result_element = self.driver.find_element_by_xpath(
"//*[@resource-id='com.xueqiu.android:id/name' and @text='阿里巴巴']")
if search_result_element.is_displayed() == True:
print('搜索成功')
else:
print('搜索失败')
time.sleep(10)