1.元素的常用方法
1)点击:element.click()
2)输入操作:element.send_keys("appium")
3)设置元素的值:element.set_value("appium")
4)清除操作:element.clear()
5)是否可见:element.is_displayed()返回true/false
6)是否可用:element.is_enabled()返回true/false
7)是否被选中:element.is_selected()返回true/false
8)获取属性值:get_attribute(name)
在dom里面一个节点就是一个node
有些属性不能通过get_attribute获取,比如:index
2.元素的常用属性
获取元素坐标获取到的是左上角的坐标
以雪球app为例,设计用例
class Test_xueqiu:
def setup(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'emulator-5554'
desired_caps['appPackage'] = 'com.xueqiu.android'
desired_caps['appActivity'] = 'com.xueqiu.android.common.MainActivity'
desired_caps['noReset'] = 'true'
desired_caps['dontStopAppOnReset'] = 'true'
desired_caps['skipDeviceInitialization'] = 'true'
# 默认为英文输入法,将输入法改为中文
desired_caps['unicodeKeyboard'] = 'true'
desired_caps['resetKeyboard'] = 'true'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
self.driver.implicitly_wait(10)
def teardown(self):
self.driver.back()
self.driver.back()
self.driver.quit()
def test_attr(self): """ 1.打开雪球应用首页 2.定位首页的搜索框 3.判断搜索框是否可用,并查看搜索框name属性值 4.打印搜索框这个元素的左上角坐标和它的宽高 5.想搜索框输入:京东 6.判断【京东】是否可见 7.如果可见,打印"搜索成功"点击,如果不可见,打印搜素失败 :return: """ elem = self.driver.find_element_by_id('com.xueqiu.android:id/tv_search') search_enabled = elem.is_enabled() print(elem.text) print(elem.location) print(elem.size) if search_enabled == True: elem.click() self.driver.find_element_by_id('com.xueqiu.android:id/search_input_text').send_keys('京东') jd_elem = self.driver.find_element_by_xpath("//*[@resource-id='com.xueqiu.android:id/name' and @text='京东']") #注意⚠️ 打印的是一个字符串的True,不是bool值,get_attibute的所有属性都可以获取到 print(jd_elem.get_attribute('displayed')) elem_display = jd_elem.get_attribute('displayed') if elem_display == 'true': print('搜索成功') else: print('搜索失败')