使用 UIAutomator 和 Python 的页面对象模型
Page Object Model with UIAutomator and Python
Python 和 UIAutomator
我有以下功能:
class BasePage:
def __init__(self, device):
self.device = device
def click(self, resourceId=None, text=None, className = None, descriptionContains= None, index=None, description=None):
self.device(
resourceId=resourceId,
text=text,
className=className,
descriptionContains= descriptionContains,
index=index,
description=description
).click()
if __name__ == "__main__":
start = time.time()
from uiautomator import Device
d =Device('520a7f14b9')
basepage = BasePage(d)
basepage.click(text="Phone")
basepage.device.press.home()
print time.time() - start
现在,点击函数并不总是带有所有参数。有时我可以只使用文本点击元素,有时我可以结合使用文本 + 类名。
以上,
basepage.click(文本="Phone")
呼叫将失败,
uiautomator.JsonRPCError: JsonRPC Error code: 0, Message: java.lang.IllegalArgumentException: className cannot be null
在这种情况下,如何仅使用文本调用 basepage.click() 函数。
您必须为 (className = " ")
更改代码 (className = None)
,因为您传递的是字符串值而不是整数值!
Python 和 UIAutomator
我有以下功能:
class BasePage:
def __init__(self, device):
self.device = device
def click(self, resourceId=None, text=None, className = None, descriptionContains= None, index=None, description=None):
self.device(
resourceId=resourceId,
text=text,
className=className,
descriptionContains= descriptionContains,
index=index,
description=description
).click()
if __name__ == "__main__":
start = time.time()
from uiautomator import Device
d =Device('520a7f14b9')
basepage = BasePage(d)
basepage.click(text="Phone")
basepage.device.press.home()
print time.time() - start
现在,点击函数并不总是带有所有参数。有时我可以只使用文本点击元素,有时我可以结合使用文本 + 类名。
以上, basepage.click(文本="Phone") 呼叫将失败,
uiautomator.JsonRPCError: JsonRPC Error code: 0, Message: java.lang.IllegalArgumentException: className cannot be null
在这种情况下,如何仅使用文本调用 basepage.click() 函数。
您必须为 (className = " ")
更改代码 (className = None)
,因为您传递的是字符串值而不是整数值!