# -*- encoding=utf8 -*-
__author__ = "yangqianghong"
from airtest.core.api import *
import logging
logger = logging.getLogger("airtest")
logger.setLevel(logging.ERROR)
from airtest.cli.parser import cli_setup
from airtest.core.android import android
from airtest.report.report import simple_report
from airtest.report.report import LogToHtml
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
from airtest.core.helper import G
from airtest.core.android.adb import ADB
from airtest.core.settings import Settings as ST #匹配算法
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
if not cli_setup():
auto_setup(__file__,devices=["Android://127.0.0.1:5037/5PNZHYW8AUVGGMCU?ori_method=ADBORI"]) #必须使用备选参数
ST.THRESHOLD = 0.70 #图像识别精确度阈值
ST.FIND_TIMEOUT = 10 #图像查找超时时间,默认120s assert_exists()、touch()、wait()、swipe()
ST.FIND_TIMEOUT_TMP=3 #assert_not_exists()、exists()
#ST.SAVE_IMAGE = False #关闭截图
ST.THRESHOLD_STRICT = 0.7 # assert_exists语句的默认阈值,一般比THRESHOLD更高一些
ST.CVSTRATEGY = ["tpl", "sift", "brisk"] #修改图像识别算法顺序
ST.OPDELAY=0.1
#ST.SNAPSHOT_QUALITY = 90 #自定义截图精度() 默认为10
# for i in range(1,10):
# #start=time.time()
# start_app("com.android.dialer")
# start = time.time()
# if poco(text="快速拨号",name="com.android.dialer:id/bottom_nav_item_text").wait(300).exists():
# end = time.time()
# print("启动时间为",end-start)
# stop_app("com.android.dialer")
# sleep(2)
class Test_pa(object):
"""拨号盘"""
@classmethod
def dialer(self):
"""测试机"""
# for i in range(1,10):
# #start=time.time()
# start = time.time()
# start_app("com.android.dialer")
# #start = time.time()
# assert_exists(Template(r"tpl1613981389569.png", record_pos=(-0.325, 0.758), resolution=(480, 960)),"存在快速拨号")
# end = time.time()
# print("启动时间为", end - start)
# stop_app("com.android.dialer")
# sleep(2)
"""对比机"""
for i in range(1,10):
#start=time.time()
start_app("com.android.dialer")
start = time.time()
assert_exists(Template(r"tpl1613982758758.png", threshold=0.7000000000000002, record_pos=(-0.003, 0.743), resolution=(720, 1440)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.android.dialer")
sleep(2)
@classmethod
def contacts(self):
# """对比机"""
# for i in range(1,10):
# #start=time.time()
# start_app("com.android.contacts")
# start = time.time()
# assert_exists(Template(r"tpl1613982012843.png", threshold=0.7000000000000002, record_pos=(0.365, 0.742), resolution=(720, 1440)),"新建联系人")
# end = time.time()
# print("启动时间为", end - start)
# stop_app("com.android.contacts")
# sleep(2)
"""测试机"""
for i in range(50):
start = time.time()
start_app("com.android.contacts")
assert_exists(Template(r"tpl1616591244479.png", record_pos=(-0.006, 0.729), resolution=(480, 960)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.android.contacts")
sleep(2)
@classmethod
def camera(self):
"""对比机"""
for i in range(1, 10):
# start=time.time()
start_app("com.mediatek.hz.camera")
start = time.time()
assert_exists(Template(r"辅助机拍照.png", record_pos=(0.05, 0.721), resolution=(720, 1440)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.mediatek.hz.camera")
sleep(2)
"""测试机"""
#
# for i in range(1, 10):
# # start=time.time()
# start_app("com.android.camera")
# start = time.time()
# assert_exists(Template(r"tpl1616590198605.png", record_pos=(-0.006, 0.729), resolution=(480, 960)))
#
# end = time.time()
# print("启动时间为", end - start)
# stop_app("com.android.camera")
# sleep(2)
def photos(cls):
"""对比机"""
# for i in range(1, 50):
# # start=time.time()
# start_app("com.google.android.apps.photos")
# start = time.time()
# assert_exists(Template(r"辅助机图库.png", record_pos=(-0.006, -0.861)),resolution=(720, 1440))
#
# end = time.time()
# print("启动时间为", end - start)
# stop_app("com.google.android.apps.photos")
# sleep(2)
"""测试机"""
for i in range(1, 50):
# start=time.time()
start_app("com.google.android.apps.photos")
start = time.time()
assert_exists(Template(r"图库.png", record_pos=(0.05, 0.721), resolution=(480, 960)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.google.android.apps.photos")
#sleep(2)
@classmethod
def wetchat(cls):
"""对比机"""
for i in range(1,50):
start_app("com.tencent.mm")
start = time.time()
assert_exists(Template(r"登陆.png", record_pos=(-0.292, 0.756), resolution=(720, 1440)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.tencent.mm")
#clear_app("com.tencent.mm")
sleep(2)
@classmethod
def sets(cls):
for i in range(1, 50):
# start=time.time()
start_app("com.android.settings")
start = time.time()
assert_exists(Template(r"设置.png", record_pos=(0.398, -0.819), resolution=(720, 1440)))
end = time.time()
print("启动时间为", end - start)
stop_app("com.android.settings")
sleep(2)
@classmethod
def Screen_Resolution(self):
size = poco.get_screen_size() # (720,1560)
self.width = size[0] # 屏宽
self.height = size[1] # 屏高
print(self.width,self.height)
@classmethod
def check_app_exist(self):
print("所有第三方包名:",G.DEVICE.list_app(third_only=True)) #third_only=False 所有包名
package="com.tencent.mm"
try:
start=time.time()
print("开始计时...")
G.DEVICE.install_app(filepath=r"D:\qq\weixin801android1840.apk", replace=True)
vaule = G.DEVICE.check_app(package)
print(vaule)
assert_equal(vaule,True,"%s包名存在"%package)
end=time.time()
print("结束时间为:",end-start)
except:
print("%s 包名不存在"%package)
Test_pa.check_app_exist()
应用启动速度
最新推荐文章于 2023-06-13 17:41:26 发布