點選views
滑動選擇並點選textfields
清除文字
#!/usr/bin/python3
#-*-coding:utf-8-*-
import pytest
class testlocator:
def setup(self):
desired_caps = {}
desired_caps['platformname'] = 'android'
desired_caps['platformversion'] = '6.0.1'
desired_caps['devicename'] = '127.0.0.1:7555'
desired_caps['automationname'] = 'uiautomator2'
desired_caps['newcommandtimeout'] = 3000
desired_caps['noreset'] = true
desired_caps['skipdeviceinitialization'] = true
desired_caps['unicodekeyboard'] = true
desired_caps['resetkeybboard'] = true
self.driver = webdriver.remote('', desired_caps)
self.driver.implicitly_wait(5)
def teardown_method(self):
self.driver.quit()
def test_locator(self):
self.driver.find_element_by_xpath('//*[@text="views"]').click()
self.driver.find_element_by_android_uiautomator(
'new uiscrollable(new uiselector().scrollable(true).instance(0)).scrollintoview(new uiselector().text("textfields").instance(0));').click()
elem.clear()
get_attribute()方法能獲取的屬性,元素的屬性幾乎都能獲取到。屬性名稱和uiautomatorviewer裡面的一致。
字串型別:
布林型別:
注意:有些屬性展示在 uiautomatorviewer裡,但是不能通過get_attribute獲取,比如: index。
class testgetattribute:
def setup(self):
desired_caps = {}
desired_caps['platformname'] = 'android'
desired_caps['platformversion'] = '6.0.1'
desired_caps['devicename'] = '127.0.0.1:7555'
desired_caps['automationname'] = 'uiautomator2'
desired_caps['newcommandtimeout'] = 3000
desired_caps['noreset'] = true
desired_caps['skipdeviceinitialization'] = true
desired_caps['unicodekeyboard'] = true
desired_caps['resetkeybboard'] = true
self.driver = webdriver.remote('', desired_caps)
self.driver.implicitly_wait(5)
def teardown_method(self):
self.driver.quit()
def test_get_attribute(self):
print("text:" + elem.get_attribute("text"))
print("resource-id:" + elem.get_attribute("resource-id"))
print("class:" + elem.get_attribute("class"))
print("package:" + elem.get_attribute("package"))
print("content-desc:" + elem.get_attribute("content-desc"))
print("bounds:" + elem.get_attribute("bounds"))
print("checkable:" + elem.get_attribute("checkable"))
print("checked:" + elem.get_attribute("checked"))
print("clickable:" + elem.get_attribute("clickable"))
print("enabled:" + elem.get_attribute("enabled"))
print("password:" + elem.get_attribute("password"))
print("displayed:" + elem.get_attribute("displayed"))
print("######################")
print("text:" + elem.text)
print(elem.location)
print(elem.size)
print(elem.is_displayed)
print(elem.is_enabled)
print(elem.is_selected)
執行結果:
resource-id:android:id/text1
class:android.widget.textview
bounds:[0,342][720,414]
checkable:false
checked:false
clickable:true
enabled:true
password:false
displayed:true
######################
--the end--
appium 定位控制項
id 定位 通過uiautomatorviewer.bat 工具可以檢視物件的id屬性。如果目標裝置的api level低於18則uiautomatorviewer不能獲得對應的resource id,只有等於大於18的時候才能使用。開啟uiautomatorviewer.bat工具 resourc...
Appium入門(8) 控制項定位
如果目標裝置的api level低於18則uiautomatorviewer不能獲得對應的resource id,只有等於大於18的時候才能使用。開啟uiautomatorviewer.bat後同步裝置螢幕 id定位 driver.findelement by.id name定位 driver.fi...
sciter table控制項互動
需要特別注意語法的問題。html原始碼 item name description okc 中原始碼 tableid 表控制項id sciter value cmakepeframe itemtest sjson cjson printunformatted proot stra sjson cst...