## 导入包

from uiautomator importDevicefrom PIL importImageimportmathimportoperatorfrom functools importreduce

## 比较图片

defimage_compare(img1,img2):

image1=Image.open(img1)

image2=Image.open(img2)

his1=image1.histogram()

his2=image2.histogram()

result= math.sqrt(reduce(operator.add,list(map(lambda a,b: (a-b)**2,his1,his2)))/len(his1))#值越大,差异越大(不太准,图片稍有改动,值就上好几百了)

print(result)

image_compare(r'C:\Users\zhongtao.wang\Desktop\a.jpg',r'C:\Users\zhongtao.wang\Desktop\c.jpg')

## 手机信息d= Device('39504f3231593398')print(d.info)# 结果:# {'currentPackageName': 'com.android.systemui', 'displayHeight': 2900, 'displayRotation': 0, 'displaySizeDpX': 360, 'displaySizeDpY': 740, 'displayWidth': 1440, 'productName': 'starqltezc', 'screenOn': True, 'sdkInt': 29, 'naturalOrientation': True}

## 手机亮屏/灭屏d= Device('39504f3231593398')

d.screen.on()

d.screen.off()

## 按键d.press("back")#可选项#home, back, left, right, up, down, center, menu, search, enter,delete(or del), recent(recent apps), volume_up, volume_down,volume_mute, camera, power.

## 点击坐标d.click(200,500)

d.long_click(x, y)

## 点击文本d(textContains='Bluetooth').click()

d(text="Settings").click()

d(text="Settings").long_click()

## 滑屏#(x1,y1,x2,y2)d.swipe(100, 10, 100, 1400)

## 两指手势# 两指缩放类似的功能。 ((sx1, sy1), (sx2, sy2)).to((ex1, ey1), (ex2, ey2))d().gesture((200, 300), (300, 300)).to((100, 300), (900, 300))

## 拖拽# d.drag(sx, sy, ex, ey)d(text="Settings").drag.to(x, y, steps=100)## drag the ui object to another ui object(center)

d(text="Settings").drag.to(text="Clock", steps=50)

## 截图d.screenshot("home.png")

## 列表元素# 点击子元素d(className="android.widget.LinearLayout",resourceId="com.android.settings:id/switch_bar").child(className="android.widget.Switch").click()# 列表滚动查找d(className="android.widget.ListView", resourceId="android:id/list").child_by_text("WiFi001",

allow_scroll_search=True,

className="android.widget.TextView").click()

## 元素是否存在d(text="Settings").exists #True if exists, else False

d.exists(text="Settings") #alias of above property.

## 输入、清除文本d(text="fg").clear_text()

d(text="To").set_text("My text...")

## 水平、竖直滚动# scroll forward(default) vertically(default)

d(scrollable=True).scroll(steps=2)#scroll forward horizentally

d(scrollable=True).scroll.horiz.forward(steps=100)#scroll backward vertically

d(scrollable=True).scroll.vert.backward()#scroll to beginning horizentally

d(scrollable=True).scroll.horiz.toBeginning(steps=100, max_swipes=1000)#scroll to end vertically

d(scrollable=True).scroll.toEnd()#scroll forward vertically until specific ui object appears

d(scrollable=True).scroll.to(text="Security")

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐