App控件交互

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('搜索失败')

  

 

猜你喜欢

转载自www.cnblogs.com/zhaikunkun/p/12737128.html