Android自动化脚本

  • 实现”保密观” app自动播放
  • 工具:AirtestIDE.exe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

# -*- encoding=utf8 -*-
__author__ = "hehj"

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

auto_setup(__file__)



from poco.drivers.std import StdPoco
poco = StdPoco()

def login(poco,account,password):
start_app("com.founder.jincheng")
poco(text="我的")
poco(text="请输入手机号码/账号").set_text(account)
poco(text="请输入密码").set_text(password)
poco("android:id/content").child("android.widget.FrameLayout").child("android.widget.FrameLayout").child("android.view.View").child("android.view.View").child("android.view.View").child("android.view.View").child("android.view.View").child("android.view.View").child("android.view.View").child("android.view.View")[0].click()
poco("登录").click()
poco("密观第 1 个标签,共 4 个").click()

def return_main(poco):
while(True):
touch(Template(r"tpl1652771310480.png", record_pos=(-0.436, -0.975), resolution=(1080, 2340)))
if(poco(nameMatches="知识常识[\s\S]*").exists()==True):
break

def swipe_down(poco):
x,y=0.5, 0.6
end=[x,y-0.3]
poco.swipe([x,y],end)

def view(poco,titles,time):
for title in titles:
res=f".*{title}[\s\S]*"
print(res)
if poco("展开全部").exists():
poco("展开全部").click()
while poco(nameMatches=res).exists()==False:
swipe_down(poco)
sleep(2)
if poco("展开全部").exists():
poco("展开全部").click()
if "已完成" in poco(nameMatches=res).attr("name"):
continue
else:
poco(nameMatches=res).click()
# sleep(5)
sleep(time)
return_main(poco)



def view_video(poco):
poco(nameMatches="学堂[\s\S]*").click()
poco("培训").click()
poco(nameMatches="[\s\S]*2022年度保密教育线上培训[\s\S]*").click()

#优良传统
poco(nameMatches="优良传统[\s\S]*").click()
titles1=["党的保密工作优良传统","坚定的理想信念","强烈的忧患意识","严格的纪律约束","紧紧地依靠人民","持续的技术对抗","领导的率先垂范"]
if "已完成" in poco(nameMatches="红色保密 百年征程[\s\S]*").attr("name"):
pass
else:
poco(nameMatches="红色保密 百年征程[\s\S]*").click()
view(poco,titles1,420)
# view(poco,titles1,5)


#法律法规
poco(nameMatches=".*法律法规[\s\S]*").click()
titles2=["利欲熏心窃秘密 锒铛入狱悔莫及","出售废品莫大意 认真清点防泄密","密件岂能随便邮 快递传密栽跟头","擅携密件出国境 麻痹侥幸毁前程","私自留存隐患多 贪图方便酿恶果","私人交往有禁忌 泄露秘密违法纪","公共网络很便利 严禁使用传秘密","违规联网为红颜 依法判刑悔已晚","涉密非密有界限 交叉互联埋隐患","非密电脑存秘密 拱手相送犯大忌","安全程序防攻击 擅自卸载违法纪","涉密设备要淘汰 擅自处理不应该"]
view(poco,titles2,480)
# view(poco,titles2,5)

#知识常识
poco(nameMatches=".*知识常识[\s\S]*").click()
titles3=["涉密人员与涉密岗位","涉密人员保密审查","涉密人员上岗前保密管理","涉密人员在岗培训、复审与重大事项报告","涉密人员出国(境)管理","涉密人员离岗离职保密管理","涉密人员脱密期管理","涉密人员义务与权益保障","涉密会议、活动保密方案的制定"]
view(poco,titles3,240)
# view(poco,titles3,5)

#技术防范
poco(nameMatches=".*技术防范[\s\S]*").click()
titles4=["风险四伏的办公自动化设备","计算机网络背后的谍影"]
view(poco,titles4,1920)
# view(poco,titles4,5)

#警示案例
poco(nameMatches=".*警示案例[\s\S]*").click()
titles5=["保密警示案例专题片"]
view(poco,titles5,1680)
# view(poco,titles5,5)



poco = AndroidUiautomationPoco()
view_video(poco)

# if __name__=="__main__":
# dev = connect_device(f'Android://127.0.0.1:5037///')
# poco = AndroidUiautomationPoco(dev,screenshot_each_action=True)
# # swipe_down(poco)
# view_video(poco)