summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhebingning <[email protected]>2022-09-07 16:32:50 +0800
committerhebingning <[email protected]>2022-09-07 16:32:50 +0800
commit46bd2e493439528a6a4d03040e07493a9c52c772 (patch)
tree4cfd8f4a7e4e161f22a49d8da551d07ca1587616
parent08a7053f487622c9120bec00e5589b207f2ba9db (diff)
airtest:wechat,youtube,gmail,telegram脚本提交
-rw-r--r--airtest_script/App_automation/air_test_auto/.idea/.gitignore8
-rw-r--r--airtest_script/App_automation/air_test_auto/.idea/air_test_auto.iml10
-rw-r--r--airtest_script/App_automation/air_test_auto/.idea/inspectionProfiles/profiles_settings.xml6
-rw-r--r--airtest_script/App_automation/air_test_auto/.idea/misc.xml7
-rw-r--r--airtest_script/App_automation/air_test_auto/.idea/modules.xml8
-rw-r--r--airtest_script/App_automation/air_test_auto/__pycache__/app_control_script.cpython-310.pycbin0 -> 6479 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-310.pycbin0 -> 1520 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-36.pycbin0 -> 1500 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/__pycache__/test.cpython-310.pycbin0 -> 352 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/Gmail.apkbin0 -> 111743298 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/gmail.py281
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/gmail_deny.py33
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/tpl1661406079730.pngbin0 -> 31575 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209985.pngbin0 -> 31866 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209986.pngbin0 -> 31866 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/Telegram_v8.8.3_apkpure.com.apkbin0 -> 129727458 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram.cpython-310.pycbin0 -> 26098 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_test.cpython-310.pycbin0 -> 22073 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_vivo.cpython-310.pycbin0 -> 23055 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/telegram.py1276
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/telegram_Allow.py36
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/telegram_Monitor.py37
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/telegram_deny.py36
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/telegram_test.py1152
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1655978832280.pngbin0 -> 5352 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656034160440.pngbin0 -> 11459 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656035615977.pngbin0 -> 1911 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656396028115.pngbin0 -> 15668 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656397075952.pngbin0 -> 7035 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656466195927.pngbin0 -> 8334 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1656639253183.pngbin0 -> 4818 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1657872244275.pngbin0 -> 3953 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1658125559452.pngbin0 -> 5463 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1658208885274.pngbin0 -> 5380 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1658477323782.pngbin0 -> 13653 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1658478504139.pngbin0 -> 8600 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/telegram/tpl1661321268810.pngbin0 -> 11601 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/__pycache__/wechat.cpython-310.pycbin0 -> 17927 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391523954.pngbin0 -> 11997 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391556616.pngbin0 -> 4799 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658805565554.pngbin0 -> 14954 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658818826830.pngbin0 -> 12873 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658819094765.pngbin0 -> 8403 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658828517970.pngbin0 -> 5819 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658829974715.pngbin0 -> 5458 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658830920220.pngbin0 -> 5742 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1658904365001.pngbin0 -> 15336 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/tpl1662435541019.pngbin0 -> 29015 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/wechat.py1122
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/wechat_allow.py42
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/wechat_deny.py41
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/wechat_monitor.py42
-rw-r--r--airtest_script/App_automation/air_test_auto/app/wechat/weixin8024android2180_arm64.apkbin0 -> 269923680 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/youtube/YouTube.apkbin0 -> 19664969 bytes
-rw-r--r--airtest_script/App_automation/air_test_auto/app/youtube/youtube.py275
-rw-r--r--airtest_script/App_automation/air_test_auto/app/youtube/youtube_deny.py35
-rw-r--r--airtest_script/App_automation/air_test_auto/control.py49
-rw-r--r--airtest_script/App_automation/air_test_auto/control2.py49
58 files changed, 4545 insertions, 0 deletions
diff --git a/airtest_script/App_automation/air_test_auto/.idea/.gitignore b/airtest_script/App_automation/air_test_auto/.idea/.gitignore
new file mode 100644
index 0000000..73f69e0
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/airtest_script/App_automation/air_test_auto/.idea/air_test_auto.iml b/airtest_script/App_automation/air_test_auto/.idea/air_test_auto.iml
new file mode 100644
index 0000000..74d515a
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/.idea/air_test_auto.iml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+ <component name="NewModuleRootManager">
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/venv" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module> \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/.idea/inspectionProfiles/profiles_settings.xml b/airtest_script/App_automation/air_test_auto/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+ <settings>
+ <option name="USE_PROJECT_PROFILE" value="false" />
+ <version value="1.0" />
+ </settings>
+</component> \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/.idea/misc.xml b/airtest_script/App_automation/air_test_auto/.idea/misc.xml
new file mode 100644
index 0000000..6a81379
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/.idea/misc.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="JavaScriptSettings">
+ <option name="languageLevel" value="ES6" />
+ </component>
+ <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
+</project> \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/.idea/modules.xml b/airtest_script/App_automation/air_test_auto/.idea/modules.xml
new file mode 100644
index 0000000..c1c1ab1
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/.idea/air_test_auto.iml" filepath="$PROJECT_DIR$/.idea/air_test_auto.iml" />
+ </modules>
+ </component>
+</project> \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/__pycache__/app_control_script.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/__pycache__/app_control_script.cpython-310.pyc
new file mode 100644
index 0000000..9797648
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/__pycache__/app_control_script.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-310.pyc
new file mode 100644
index 0000000..c010d4a
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-36.pyc b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-36.pyc
new file mode 100644
index 0000000..752a51d
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-36.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/__pycache__/test.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/__pycache__/test.cpython-310.pyc
new file mode 100644
index 0000000..bcf27ed
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/__pycache__/test.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/Gmail.apk b/airtest_script/App_automation/air_test_auto/app/gmail/Gmail.apk
new file mode 100644
index 0000000..140cff3
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/Gmail.apk
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/gmail.py b/airtest_script/App_automation/air_test_auto/app/gmail/gmail.py
new file mode 100644
index 0000000..2a56cfe
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/gmail.py
@@ -0,0 +1,281 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+import sys
+sys.path.append(r"d:\App_automation")
+from air_test_auto.app.packetCapture.IPV6tools import *
+from air_test_auto.control import *
+from airtest.core.api import *
+import logging
+logger = logging.getLogger("airtest")
+logger.setLevel(logging.ERROR)
+auto_setup(__file__, logdir=True)
+from poco.drivers.android.uiautomation import AndroidUiautomationPoco
+poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/"+deviceid1], logdir=True)
+from airtest.report.report import *
+import sys
+
+
+def open():
+ try:
+ gmail = 'com.google.android.gm'
+ d = device()
+ all_dev = d.list_app()
+ if gmail not in all_dev:
+ print("测试机未安装gmail,执行安装操作")
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\Gmail.apk")
+ install(a1)
+ sleep(120)
+ start_app("com.google.android.gm") # 打开app
+ sleep(20)
+ try:
+ snapshot(msg="gmail_open_no policy success")
+ assert_equal(poco(text="知道了").exists(), True, "gmail_open_no policy success")
+ print('gmail_open_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("gmail_open_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ else:
+ stop_app("com.google.android.gm") # 关闭app
+ start_app("com.google.android.gm") # 打开app
+ sleep(20)
+ try:
+ snapshot(msg="gmail_open_no policy success")
+ assert_equal(poco(text="写邮件").exists(), True, "gmail_open_no policy success")
+ print('gmail_open_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("gmail_open_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def login():
+ try:
+ clear_app("com.google.android.gm")
+ start_app("com.google.android.gm")
+ sleep(20)
+ if poco(text="知道了").exists():
+ poco(text="知道了").click()
+ sleep(10)
+ if poco(text="[email protected]").exists():
+ poco(text="[email protected]").click()
+ poco(text="转至 GMAIL").click()
+ sleep(30)
+ if poco(text="添加其他电子邮件地址").exists():
+ poco(text="添加其他电子邮件地址").click()
+ poco(text="Google").click()
+ sleep(20)
+ touch(Template(r"tpl1661406079730.png", record_pos=(-0.126, -0.215), resolution=(1080, 1920)))
+ poco(name="identifierId").set_text(gmail_account)
+ sleep(5)
+ poco(text="下一步").click()
+ if exists(Template(r"tpl1661997209985.png", record_pos=(-0.191, -0.091), resolution=(1080, 1920))):
+ stop_app("com.google.android.gm")
+ start_app("com.google.android.gm")
+ sleep(20)
+ poco(text=gmail_account).click()
+ poco(text="转至 GMAIL").click()
+ if poco(text="显示密码").exists():
+ sleep(5)
+ text(gmail_password)
+ sleep(5)
+ poco(name="signinconsentNext").click()
+ sleep(10)
+ if poco(text="知道了").exists():
+ poco(text="知道了").click()
+ if poco(text="[email protected]").exists():
+ poco(text="[email protected]").click()
+ poco(text="转至 GMAIL").click()
+ sleep(30)
+ if poco(text="[email protected]").exists():
+ poco(text="[email protected]").click()
+ poco(text="转至 GMAIL").click()
+ sleep(30)
+ if poco(text="知道了").exists():
+ poco(text="知道了").click()
+ try:
+ snapshot(msg="gmail_login_no policy success")
+ assert_equal(poco(desc="会议").exists(), True, "gmail_login_no policy success")
+ print('gmail_logim_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("gmail_login_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def sendEmail():
+ try:
+ stop_app("com.google.android.gm") # 关闭app
+ start_app("com.google.android.gm") # 打开app
+ sleep(10)
+ if poco(text="知道了").exists():
+ poco(text="知道了").click()
+ poco(text="写邮件").click()
+ sleep(5)
+ sleep(5)
+ poco(text="主题").click()
+ text("sendEmail")
+ sleep(2)
+ poco(desc="发送").click()
+ sleep(5)
+ poco(desc="打开抽屉式导航栏").click()
+ poco(text="发件箱").click()
+ try:
+ snapshot(msg="gmail_sendEmail_no policy success")
+ assert_equal(poco(text="收件人:   正在发送…").exists(), True, "gmail_sendEmail_no policy failed")
+ print('gmail_sendEmail_no policy failed')
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("gmail_sendEmail_no policy succeeded")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def Meeting():
+ try:
+ stop_app("com.google.android.gm") # 关闭app
+ start_app("com.google.android.gm") # 打开app
+ sleep(10)
+ if poco(text="知道了").exists():
+ poco(text="知道了").click()
+ poco(desc="会议").click()
+ sleep(5)
+ if poco(text="发起新会议").exists():
+ poco(text="发起新会议").click()
+ sleep(2)
+ poco(text="发起即时会议").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ sleep(60)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ try:
+ snapshot(msg="gmail_Meeting_no policy")
+ assert_equal(poco(text="你无法连接到视频通话").exists(), True, "gmail_Meeting_no policy failed")
+ stop_app("com.google.android.gm") # 关闭app
+ print('gmail_Meeting_no policy failed')
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("gmail_Meeting_no policy succeeded")
+ stop_app("com.google.android.gm") # 关闭app
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def report_deny():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_deny")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"gmail_deny.html")
+
+if __name__ == '__main__':
+ gmail = sys.argv
+ for i in gmail:
+ if deviceid1 == leidian2 or deviceid1 == xiaoyao or deviceid1 == MUMU or deviceid1 == leidian1:
+ if i == 'open':
+ open()
+ elif i == 'login':
+ login()
+ elif i == 'sendEmail':
+ sendEmail()
+ elif i == 'Meeting':
+ Meeting()
+ elif i == 'all':
+ open()
+ login()
+ sendEmail()
+ Meeting()
+ report_deny()
+ else:
+ if i == 'open':
+ if packet_name == '':
+ open()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ open()
+ stop()
+ extract()
+ elif i == 'login':
+ if packet_name == '':
+ login()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ login()
+ stop()
+ extract()
+ elif i == 'sendEmail':
+ if packet_name == '':
+ sendEmail()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ sendEmail()
+ stop()
+ extract()
+ elif i == 'Meeting':
+ if packet_name == '':
+ Meeting()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ Meeting()
+ stop()
+ extract()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/gmail_deny.py b/airtest_script/App_automation/air_test_auto/app/gmail/gmail_deny.py
new file mode 100644
index 0000000..7a03324
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/gmail_deny.py
@@ -0,0 +1,33 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+from air_test_auto.app.gmail.gmail import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+open()
+login()
+sendEmail()
+Meeting()
+
+
+# 下发Deny策略执行telegram各操作
+app_security_attribute = [["192.168.56.23"], ["gmail","gtalk"], "drop"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+open()
+login()
+sendEmail()
+Meeting()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.23'
+app = ["skype", "gmail"]
+log_count(start_time, end_time, policy_id, clint_ip, app)
+
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661406079730.png b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661406079730.png
new file mode 100644
index 0000000..36178c1
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661406079730.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209985.png b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209985.png
new file mode 100644
index 0000000..7b964ad
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209985.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209986.png b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209986.png
new file mode 100644
index 0000000..7b964ad
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209986.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/Telegram_v8.8.3_apkpure.com.apk b/airtest_script/App_automation/air_test_auto/app/telegram/Telegram_v8.8.3_apkpure.com.apk
new file mode 100644
index 0000000..d12c9aa
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/Telegram_v8.8.3_apkpure.com.apk
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram.cpython-310.pyc
new file mode 100644
index 0000000..533dc39
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_test.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_test.cpython-310.pyc
new file mode 100644
index 0000000..fe16cdd
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_test.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_vivo.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_vivo.cpython-310.pyc
new file mode 100644
index 0000000..81a17ac
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_vivo.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/telegram.py b/airtest_script/App_automation/air_test_auto/app/telegram/telegram.py
new file mode 100644
index 0000000..7e15fcd
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/telegram.py
@@ -0,0 +1,1276 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+import sys
+sys.path.append(r"d:\App_automation")
+from air_test_auto.app.packetCapture.IPV6tools import *
+from air_test_auto.control import *
+from airtest.core.api import *
+import logging
+logger = logging.getLogger("airtest")
+logger.setLevel(logging.ERROR)
+auto_setup(__file__, logdir=True)
+from poco.drivers.android.uiautomation import AndroidUiautomationPoco
+poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/"+deviceid1],logdir=True)
+#auto_setup(__file__, devices=["android://127.0.0.1:5037/"+deviceid2],logdir=True)
+from airtest.report.report import *
+import sys
+
+
+def open():
+ try:
+ telegram = 'org.telegram.messenger'
+ d = device()
+ all_dev = d.list_app()
+ if telegram not in all_dev:
+ print("测试机未安装telegram,执行安装操作")
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\Telegram_v8.8.3_apkpure.com.apk")
+ install(a1)
+ sleep(120)
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ else:
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ try:
+ snapshot(msg="telegram_open_no policy success")
+ assert_equal(poco(text="Telegram").exists(), True, "telegram_open_no policy success")
+ print('telegram_open_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_open_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def telegram_app():
+ telegram = 'org.telegram.messenger'
+ d = device()
+ all_dev = d.list_app()
+ print(all_dev)
+ if telegram in all_dev:
+ print("测试机已安装telegram")
+ start_app(telegram)
+ else:
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\Telegram_v8.8.3_apkpure.com.apk")
+ print(a1)
+ install(a1)
+
+def send_message():
+ try:
+ #close_proxy()
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(10)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(5)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send message_no policy success")
+ print("telegram_send message_no policy success")
+ except AssertionError:
+ print('telegram_send message_no policy fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ sleep(5)
+ if poco(desc="Animals and nature").exists():
+ poco(desc="Animals and nature").click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send emoji_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send emoji_no policy success")
+ print("telegram_send emoji_no policy success")
+ except AssertionError:
+ print('telegram_send emoji_no policy fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send pictures_no policy success")
+ print('telegram_send pictures_no policy success')
+ except AssertionError:
+ print("telegram_send pictures_no policy fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send voice_no policy success")
+ print('telegram_send voice_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def receive_message_deny():
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(10)
+ set_current("127.0.0.1:21503") # 切换手机1进行验证,接收消息是否阻断
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(10)
+ try:
+ snapshot(msg="telegram_receive_message_deng success")
+ assert_equal(poco(text="online").exists(), True, "telegram_receive_message_deng success")
+ print('telegram_receive_message_deng success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_receive_message_deng fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send message_allow/monitor success")
+ print("telegram_send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send emoji_allow/monitor success")
+ print("telegram_send emoji_allow/monitor success")
+ except AssertionError:
+ print('telegram_send emoji_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send pictures_allow/monitor success")
+ print('telegram_send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_Send File_allow/monitor success")
+ print('telegram_Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send voice_allow/monitor success")
+ print('telegram_send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls():
+ try:
+ close_proxy()
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(20)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Call").click()
+ sleep(10)
+ set_current(deviceid2)
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ if exists(Template(r"tpl1661321268810.png", record_pos=(0.306, 0.776), resolution=(1080, 2400))):
+ touch(Template(r"tpl1661321268810.png", record_pos=(0.306, 0.776), resolution=(1080, 2400)))
+ sleep(30)
+ if exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440))):
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ try:
+ set_current(deviceid1) # 切换手机1
+ sleep(2)
+ snapshot(msg="telegram_Voice calls")
+ assert_equal(poco(text="Offline").exists(), True, "telegram_Voice calls_no policy fail")
+ print("telegram_Voice calls_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("telegram_Voice calls_no policy succeeded")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def voice_calls_allow_monitor():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_Voice calls_allow/monitor success")
+ set_current(deviceid2)
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_allow_monitor_socks5():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_socks5 Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_socks5 Voice calls_allow/monitor success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_socks5 Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_allow_monitor_MTProto():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_MTProto Voice calls_allow/monitor success")
+ set_current(deviceid2)
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_MTProto Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_deny():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(10)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_Voice calls_allow/monitor success")
+ assert_equal(poco(text="Offline").exists(), True, "telegram_Voice calls_deny success")
+ set_current(deviceid2)
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ if exists(Template(r"tpl1661321268810.png", record_pos=(0.306, 0.776), resolution=(1080, 2400))):
+ touch(Template(r"tpl1661321268810.png", record_pos=(0.306, 0.776), resolution=(1080, 2400)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_Voice calls_deny success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_Voice calls_deny fail")
+ return print('The test case failed')
+
+def socks5():
+ try:
+ close_proxy()
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5_no policy success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_socks5_no policy fail")
+ print("telegram_socks5_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("telegram_socks5_no policy success")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def socks5_allow_monitor():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(2)
+ try:
+ snapshot(msg="telegram_socks5_allow/monitor success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_socks5_allow/monitor success")
+ print("telegram_socks5_allow/monitor success")
+ send_message_allow_monitor_sock5()
+ voice_calls_allow_monitor_socks5()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5_allow/monitor fail")
+ return print('The test case failed')
+
+def socks5_deny():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(2)
+ try:
+ snapshot(msg="telegram_socks5_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_socks5_deny success")
+ print("telegram_socks5_deny success")
+ send_message_deny_sock5()
+ voice_calls_deny()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5_deny fail")
+ return print('The test case failed')
+
+def MTPROTO():
+ try:
+ close_proxy()
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ sleep(2)
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_no policy success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_MTProto_no policy failed")
+ print("telegram_MTProto_no policy failed")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("telegram_MTProto_no policy succeeded")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def MTPROTO_allow_monitor():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_allow/monitor success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_MTProto_allow/monitor success")
+ print("telegram_MTProto_allow/monitor success")
+ send_message_allow_monitor_mtproto()
+ voice_calls_allow_monitor_MTProto()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto_allow/monitor fail")
+ return print('The test case failed')
+
+def MTPROTO_deny():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_MTProto_deny success")
+ print("telegram_MTProto_deny success")
+ send_message_deny_MTProto()
+ voice_calls_deny()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto_deny success")
+ return print('The test case failed')
+
+def close_proxy():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(5)
+ if exists(Template(r"tpl1657872244275.png", record_pos=(0.414, -0.676), resolution=(720, 1280))):
+ poco(name="android.widget.Switch").click()
+ else:
+ print("telegram未连接代理")
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+
+def send_message_deny():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send message_deny success")
+ print("telegram_send message_deny success")
+ except AssertionError:
+ print('telegram_send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ if poco(desc="Animals and nature").wait(timeout=10).exists():
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ sleep(2)
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send emoji_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send emoji_deny success")
+ print("telegram_send emoji_deny success")
+ except AssertionError:
+ print('telegram_send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send pictures_deny success")
+ print('telegram_send pictures_deny success')
+ except AssertionError:
+ print("telegram_send pictures_fail success")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_Send File_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_Send File_deny success")
+ print('telegram_Send File_deny success')
+ except AssertionError:
+ print("telegram_Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send voice_deny success")
+ print('telegram_send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_deny_sock5():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_socks 5send message_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send message_deny success")
+ print("telegram_socks5 send message_deny success")
+ except AssertionError:
+ print('telegram_socks5send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ if poco(desc="Animals and nature").wait(timeout=10).exists():
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send emoji_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send emoji_deny success")
+ print("telegram_socks5 send emoji_deny success")
+ except AssertionError:
+ print('telegram_socks5 send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send pictures_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send pictures_deny success")
+ print('telegram_socks5 send pictures_deny success')
+ except AssertionError:
+ print("telegram_socks5 send pictures_deny fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 Send File_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 Send File_deny success")
+ print('telegram_socks5 Send File_deny success')
+ except AssertionError:
+ print("telegram_socks5 Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send voice_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send voice_deny success")
+ print('telegram_socks5 send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_deny_MTProto():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_MTProto 5send message_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto 5send message_deny success")
+ print("telegram_MTProto 5send message_deny success")
+ except AssertionError:
+ print('telegram_MTProto 5send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ if poco(desc="Animals and nature").wait(timeout=10).exists():
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send emoji_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send emoji_deny success")
+ print("telegram_MTProto send emoji_deny success")
+ except AssertionError:
+ print('telegram_MTProto send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send pictures_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send pictures_deny success")
+ print('telegram_MTProto send pictures_deny success')
+ except AssertionError:
+ print("telegram_MTProto send pictures_deny fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto Send File_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto Send File_deny success")
+ print('telegram_MTProto Send File_deny success')
+ except AssertionError:
+ print("telegram_MTProto Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send voice_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send voice_deny success")
+ print('telegram_MTProto send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor_sock5():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_socks5 send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send message_allow/monitor success")
+ print("telegram_socks5 send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_socks5 send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send message_allow/monitor success")
+ print("telegram_socks5 send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_socks5 send message_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send pictures_allow/monitor success")
+ print('telegram_socks5 send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_socks5 send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 Send File_allow/monitor success")
+ print('telegram_socks5 Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_socks5 Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send voice_allow/monitor success")
+ print('telegram_socks5 send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor_mtproto():
+ set_current(deviceid1)#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_MTProto send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send message_allow/monitor success")
+ print("telegram_MTProto send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_MTProto send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send message_allow/monitor success")
+ print("telegram_MTProto send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_MTProto send message_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send pictures_allow/monitor success")
+ print('telegram_MTProto send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_MTProto send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto Send File_allow/monitor success")
+ print('telegram_MTProto Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_MTProto Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send voice_allow/monitor success")
+ print('telegram_MTProto send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def report_deny():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_deny")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_deny.html")
+
+def report_allow():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_allow")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_allow.html")
+
+def report_monitor():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_monitor")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_monitor.html")
+
+if __name__ == '__main__':
+ telegram = sys.argv
+ for i in telegram:
+ if deviceid1 == leidian2 or deviceid1 == xiaoyao or deviceid1 == MUMU or deviceid1 == leidian1:
+ if i == 'open':
+ open()
+ elif i == 'closeProxy':
+ close_proxy()
+ elif i == 'sendMessage':
+ send_message()
+ elif i == 'voiceCalls':
+ voice_calls()
+ elif i == 'socks5':
+ socks5()
+ elif i == 'MTPROTO':
+ MTPROTO()
+ elif i == 'all':
+ open()
+ close_proxy()
+ send_message()
+ voice_calls()
+ socks5()
+ MTPROTO()
+ report_deny()
+ else:
+ if i == 'closeProxy':
+ if packet_name == '':
+ close_proxy()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ close_proxy()
+ stop()
+ extract()
+ elif i == 'sendMessage':
+ if packet_name == '':
+ send_message()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ send_message()
+ stop()
+ extract()
+ elif i == 'open':
+ if packet_name == '':
+ open()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ open()
+ stop()
+ extract()
+ elif i == 'voiceCalls':
+ if packet_name == '':
+ voice_calls()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ voice_calls()
+ stop()
+ extract()
+ elif i == 'socks5':
+ if packet_name == '':
+ socks5()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ socks5()
+ stop()
+ extract()
+ elif i == 'MTPROTO':
+ if packet_name == '':
+ MTPROTO()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ MTPROTO()
+ stop()
+ extract()
+ elif i == 'all':
+ if packet_name == '':
+ close_proxy()
+ send_message()
+ voice_calls()
+ close_proxy()
+ socks5()
+ MTPROTO()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ close_proxy()
+ send_message()
+ voice_calls()
+ close_proxy()
+ socks5()
+ MTPROTO()
+ stop()
+ extract()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Allow.py b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Allow.py
new file mode 100644
index 0000000..f4e17c7
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Allow.py
@@ -0,0 +1,36 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+from air_test_auto.app.telegram.telegram import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+telegram_app()
+close_proxy()
+send_message()
+voice_calls()
+socks5()
+MTPROTO()
+
+# 下发Allow策略执行telegram各操作
+app_security_attribute = [["192.168.56.21"], ["telegram"], "allow"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+close_proxy()
+send_message_allow_monitor()
+voice_calls_allow_monitor()
+socks5_allow_monitor()
+MTPROTO_allow_monitor()
+
+# 生成测试报告
+report_allow()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.21'
+app = ["telegram"]
+log_count(start_time, end_time, policy_id, clint_ip, app) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Monitor.py b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Monitor.py
new file mode 100644
index 0000000..f33f760
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_Monitor.py
@@ -0,0 +1,37 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+from air_test_auto.app.telegram.telegram import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+telegram_app()
+close_proxy()
+send_message()
+voice_calls()
+socks5()
+MTPROTO()
+
+# 下发Monitor策略执行telegram各操作
+app_security_attribute = [["192.168.64.22"], ["telegram"], "monitor"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+telegram_app()
+close_proxy()
+send_message_allow_monitor()
+voice_calls_allow_monitor()
+socks5_allow_monitor()
+MTPROTO_allow_monitor()
+
+# 生成测试报告
+report_monitor()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.64.22'
+app = ["telegram"]
+log_count(start_time, end_time, policy_id, clint_ip, app) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/telegram_deny.py b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_deny.py
new file mode 100644
index 0000000..361a9b2
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_deny.py
@@ -0,0 +1,36 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+from air_test_auto.app.telegram.telegram import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+telegram_app()
+close_proxy()
+send_message()
+voice_calls()
+socks5()
+MTPROTO()
+
+# 下发Deny策略执行telegram各操作
+app_security_attribute = [["192.168.56.23"], ["telegram"], "drop"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+close_proxy()
+send_message_deny()
+voice_calls_deny()
+socks5_deny()
+MTPROTO_deny()
+report_deny()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.23'
+app = ["skype", "instagram"]
+log_count(start_time, end_time, policy_id, clint_ip, app)
+
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/telegram_test.py b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_test.py
new file mode 100644
index 0000000..9139b2f
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/telegram_test.py
@@ -0,0 +1,1152 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+from airtest.core.api import *
+import logging
+logger = logging.getLogger("airtest")
+logger.setLevel(logging.ERROR)
+auto_setup(__file__, logdir=True)
+from poco.drivers.android.uiautomation import AndroidUiautomationPoco
+poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/127.0.0.1:21503"],logdir=True)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/127.0.0.1:7555"],logdir=True)
+from airtest.report.report import *
+import sys
+
+
+def telegram_app():
+ connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ telegram = 'org.telegram.messenger'
+ d = device()
+ all_dev = d.list_app()
+ print(all_dev)
+ if telegram in all_dev:
+ print("测试机已安装telegram")
+ start_app(telegram)
+ else:
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\Telegram_v8.8.3_apkpure.com.apk")
+ print(a1)
+ install(a1)
+
+def send_message():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(10)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send message_no policy success")
+ print("telegram_send message_no policy success")
+ except AssertionError:
+ print('telegram_send message_no policy fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send emoji_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send emoji_no policy success")
+ print("telegram_send emoji_no policy success")
+ except AssertionError:
+ print('telegram_send emoji_no policy fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send pictures_no policy success")
+ print('telegram_send pictures_no policy success')
+ except AssertionError:
+ print("telegram_send pictures_no policy fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_Send File_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_Send File_no policy success")
+ print('telegram_Send File_no policy success')
+ except AssertionError:
+ print("telegram_Send File_no policy fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_no policy success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send voice_no policy success")
+ print('telegram_send voice_no policy success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_no policy fail")
+ return print('The test case failed')
+
+def receive_message_deny():
+ set_current("127.0.0.1:7555")#切换手机2进行发送消息
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(10)
+ set_current("127.0.0.1:21503") # 切换手机1进行验证,接收消息是否阻断
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(10)
+ try:
+ snapshot(msg="telegram_receive_message_deng success")
+ assert_equal(poco(text="online").exists(), True, "telegram_receive_message_deng success")
+ print('telegram_receive_message_deng success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_receive_message_deng fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send message_allow/monitor success")
+ print("telegram_send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send emoji_allow/monitor success")
+ print("telegram_send emoji_allow/monitor success")
+ except AssertionError:
+ print('telegram_send emoji_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send pictures_allow/monitor success")
+ print('telegram_send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_Send File_allow/monitor success")
+ print('telegram_Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_send voice_allow/monitor success")
+ print('telegram_send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls():
+ #切换手机1进行测试
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503")
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_Voice calls_no policy success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_Voice calls_no policy success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_Voice calls_no policy success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_Voice calls_no policy fail")
+ return print('The test case failed')
+
+def voice_calls_allow_monitor():
+ #切换手机1进行测试
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503")
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_Voice calls_allow/monitor success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_allow_monitor_socks5():
+ #切换手机1进行测试
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503")
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_socks5 Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_socks5 Voice calls_allow/monitor success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_socks5 Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_allow_monitor_MTProto():
+ #切换手机1进行测试
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503")
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto Voice calls_allow/monitor success")
+ assert_equal(poco(text="Ringing...").exists(), True, "telegram_MTProto Voice calls_allow/monitor success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_MTProto Voice calls_allow/monitor success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto Voice calls_allow/monitor fail")
+ return print('The test case failed')
+
+def voice_calls_deny():
+ #切换手机1进行测试
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503")
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ poco(desc="Call").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_Voice calls_allow/monitor success")
+ assert_equal(poco(text="Offline").exists(), True, "telegram_Voice calls_deny success")
+ connect_device("android://127.0.0.1:5037/127.0.0.1:7555")
+ set_current("127.0.0.1:7555")
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ if exists(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280))):
+ touch(Template(r"tpl1656466195927.png", record_pos=(0.247, -0.662), resolution=(720, 1280)))
+ sleep(30)
+ assert_exists(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ touch(Template(r"tpl1656396028115.png", record_pos=(0.378, 0.786), resolution=(810, 1440)))
+ print("telegram_Voice calls_deny success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_Voice calls_deny fail")
+ return print('The test case failed')
+
+def socks5():
+ connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503") # 切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(2)
+ try:
+ snapshot(msg="telegram_socks5_no policy success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_socks5_no policy success")
+ print("telegram_socks5_no policy success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5_no policy fail")
+ return print('The test case failed')
+
+def socks5_allow_monitor():
+ connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503") # 切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(2)
+ try:
+ snapshot(msg="telegram_socks5_allow/monitor success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_socks5_allow/monitor success")
+ print("telegram_socks5_allow/monitor success")
+ send_message_allow_monitor_sock5()
+ voice_calls_allow_monitor_socks5()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5_allow/monitor fail")
+ return print('The test case failed')
+
+def socks5_deny():
+ dev1 = connect_device("android://127.0.0.1:5037/127.0.0.1:21503")
+ set_current("127.0.0.1:21503") # 切换手机1
+ stop_app("org.telegram.messenger") # 关闭app
+ start_app("org.telegram.messenger") # 打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(2)
+ poco(text="Add Proxy").click()
+ poco(text="Server").set_text("192.168.40.206")
+ poco(text="1080").set_text("10080")
+ poco(text="Username").set_text("test1")
+ poco(text="Password").set_text("test1")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(60)
+ poco(text="192.168.40.206:10080").click()
+ sleep(2)
+ try:
+ snapshot(msg="telegram_socks5_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_socks5_deny success")
+ print("telegram_socks5_deny success")
+ send_message_deny_sock5()
+ voice_calls_deny()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5_deny fail")
+ return print('The test case failed')
+
+def MTPROTO():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_no policy success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_MTProto_no policy success")
+ print("telegram_MTProto_no policy success")
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto_no policy fail")
+ return print('The test case failed')
+
+def MTPROTO_allow_monitor():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_allow/monitor success")
+ assert_exists(Template(r"tpl1658125559452.png", record_pos=(-0.375, -0.415), resolution=(720, 1280)), "telegram_MTProto_allow/monitor success")
+ print("telegram_MTProto_allow/monitor success")
+ send_message_allow_monitor_mtproto()
+ voice_calls_allow_monitor_MTProto()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto_allow/monitor fail")
+ return print('The test case failed')
+
+def MTPROTO_deny():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+ poco(text="Add Proxy").click()
+ poco(text="MTProto Proxy").click()
+ poco(text="Server").set_text("8.219.124.218")
+ poco(text="1080").set_text("443")
+ poco(text="Secret").set_text("eedc71dc954b1bc6a006f1d82e107433f774657374312E73672E6765656467652E6E6574")
+ sleep(2)
+ poco(desc="Done").click()
+ sleep(30)
+ poco(text="8.219.124.218:443").click()
+ sleep(10)
+ try:
+ snapshot(msg="telegram_MTProto_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_MTProto_deny success")
+ print("telegram_MTProto_deny success")
+ send_message_deny_MTProto()
+ voice_calls_deny()
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto_deny success")
+ return print('The test case failed')
+
+def close_proxy():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Open navigation menu").click()
+ poco(text="Settings").click()
+ poco(text="Data and Storage").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ dev.swipe_along([(578, 2315), (536, 1533), (498, 848)])
+ sleep(2)
+ poco(text="Proxy Settings").click()
+ sleep(5)
+ if exists(Template(r"tpl1657872244275.png", record_pos=(0.414, -0.676), resolution=(720, 1280))):
+ poco(name="android.widget.Switch").click()
+ else:
+ print("telegram未连接代理")
+ if poco(text="192.168.40.206:10080").exists():
+ poco(text="192.168.40.206:10080").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("socks5代理已删除")
+ if poco(text="8.219.124.218:443").exists():
+ poco(text="8.219.124.218:443").long_click()
+ sleep(2)
+ poco(text="OK").click()
+ print("MTProto代理已删除")
+
+def send_message_deny():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_send message_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send message_deny success")
+ print("telegram_send message_deny success")
+ except AssertionError:
+ print('telegram_send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send emoji_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send emoji_deny success")
+ print("telegram_send emoji_deny success")
+ except AssertionError:
+ print('telegram_send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send pictures_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send pictures_deny success")
+ print('telegram_send pictures_deny success')
+ except AssertionError:
+ print("telegram_send pictures_fail success")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_Send File_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_Send File_deny success")
+ print('telegram_Send File_deny success')
+ except AssertionError:
+ print("telegram_Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_send voice_deny success")
+ assert_equal(poco(text="Connecting...").exists(), True, "telegram_send voice_deny success")
+ print('telegram_send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_deny_sock5():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_socks 5send message_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send message_deny success")
+ print("telegram_socks5 send message_deny success")
+ except AssertionError:
+ print('telegram_socks5send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send emoji_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send emoji_deny success")
+ print("telegram_socks5 send emoji_deny success")
+ except AssertionError:
+ print('telegram_socks5 send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send pictures_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send pictures_deny success")
+ print('telegram_socks5 send pictures_deny success')
+ except AssertionError:
+ print("telegram_socks5 send pictures_deny fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 Send File_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 Send File_deny success")
+ print('telegram_socks5 Send File_deny success')
+ except AssertionError:
+ print("telegram_socks5 Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send voice_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_socks5 send voice_deny success")
+ print('telegram_socks5 send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_deny_MTProto():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_MTProto 5send message_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto 5send message_deny success")
+ print("telegram_MTProto 5send message_deny success")
+ except AssertionError:
+ print('telegram_MTProto 5send message_deny fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send emoji_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send emoji_deny success")
+ print("telegram_MTProto send emoji_deny success")
+ except AssertionError:
+ print('telegram_MTProto send emoji_deny fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send pictures_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send pictures_deny success")
+ print('telegram_MTProto send pictures_deny success')
+ except AssertionError:
+ print("telegram_MTProto send pictures_deny fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto Send File_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto Send File_deny success")
+ print('telegram_MTProto Send File_deny success')
+ except AssertionError:
+ print("telegram_MTProto Send File_deny fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send voice_deny success")
+ assert_equal(poco(text="Connecting to proxy").exists(), True, "telegram_MTProto send voice_deny success")
+ print('telegram_MTProto send voice_deny success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto send voice_deny fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor_sock5():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_socks5 send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send message_allow/monitor success")
+ print("telegram_socks5 send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_socks5 send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send message_allow/monitor success")
+ print("telegram_socks5 send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_socks5 send message_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send pictures_allow/monitor success")
+ print('telegram_socks5 send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_socks5 send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 Send File_allow/monitor success")
+ print('telegram_socks5 Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_socks5 Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_socks5 send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_socks5 send voice_allow/monitor success")
+ print('telegram_socks5 send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_socks5 send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def send_message_allow_monitor_mtproto():
+ set_current("127.0.0.1:21503")#切换手机1
+ stop_app("org.telegram.messenger")#关闭app
+ start_app("org.telegram.messenger")#打开app
+ sleep(5)
+ poco(desc="Search").click()
+ poco(text="Search").wait(timeout=20).set_text("12iphone")
+ sleep(2)
+ touch(Template(r"tpl1658208885274.png", record_pos=(-0.428, -0.599), resolution=(720, 1280)))
+ sleep(2)
+ message = 'test' + str(time.strftime("%Y%m%d%H%M",time.localtime()))
+ poco(text="Message").wait(timeout=20).set_text(message)
+ poco(desc="Send").click()
+ try:
+ snapshot(msg="telegram_MTProto send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send message_allow/monitor success")
+ print("telegram_MTProto send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_MTProto send message_allow/monitor fail')
+
+ #发送表情
+ sleep(5)
+ print("执行发送表情操作")
+ poco(desc="Emoji, stickers, and GIFs").click()
+ poco(desc="Animals and nature").wait(timeout=10).click()
+ touch(Template(r"tpl1655978832280.png", record_pos=(-0.45, 0.656), resolution=(720, 1280)))
+ sleep(5)
+ poco(desc="Send").click()
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send message_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send message_allow/monitor success")
+ print("telegram_MTProto send message_allow/monitor success")
+ except AssertionError:
+ print('telegram_MTProto send message_allow/monitor fail')
+
+ #发送图片
+ sleep(2)
+ print("执行发送图片操作")
+ poco(desc="Attach media").click()
+ poco(name="android.widget.CheckBox").wait(timeout=2).click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send pictures_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send pictures_allow/monitor success")
+ print('telegram_MTProto send pictures_allow/monitor success')
+ except AssertionError:
+ print("telegram_MTProto send pictures_allow/monitor fail")
+
+ #发送文件
+ sleep(5)
+ print("执行发送文件操作")
+ poco(desc="Attach media").click()
+ sleep(5)
+ poco(text="File").click()
+ sleep(2)
+ poco(text="flagCache").click()
+ poco(text="org.telegram.messenger.png").click()
+ touch(Template(r"tpl1656034160440.png", record_pos=(0.417, 0.793), resolution=(720, 1280)))
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto Send File_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto Send File_allow/monitor success")
+ print('telegram_MTProto Send File_allow/monitor success')
+ except AssertionError:
+ print("telegram_MTProto Send File_allow/monitor fail")
+
+ #发送语音
+ print("执行发送语音操作")
+ sleep(2)
+ touch(Template(r"tpl1656035615977.png", record_pos=(0.447, 0.839), resolution=(720, 1280)),duration=10)
+ sleep(5)
+ try:
+ snapshot(msg="telegram_MTProto send voice_allow/monitor success")
+ assert_equal(poco(text="online").exists(), True, "telegram_MTProto send voice_allow/monitor success")
+ print('telegram_MTProto send voice_allow/monitor success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("telegram_MTProto send voice_allow/monitor fail")
+ return print('The test case failed')
+
+def report_deny():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_deny")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_deny.html")
+
+def report_allow():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_allow")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_allow.html")
+
+def report_monitor():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_monitor")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"telegram_monitor.html")
+
+if __name__ == '__main__':
+ # close_proxy()
+ # send_message()
+ # voice_calls()
+ # close_proxy()
+ # socks5()
+ # MTPROTO()
+ telegram = sys.argv
+ for i in telegram:
+ if i == 'closeProxy':
+ close_proxy()
+ elif i == 'sendMessage':
+ send_message()
+ elif i == 'voiceCalls':
+ voice_calls()
+ elif i == 'socks5':
+ socks5()
+ elif i == 'MTPROTO':
+ MTPROTO()
+ elif i == 'all':
+ close_proxy()
+ send_message()
+ voice_calls()
+ close_proxy()
+ socks5()
+ MTPROTO()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1655978832280.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1655978832280.png
new file mode 100644
index 0000000..b2bb068
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1655978832280.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656034160440.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656034160440.png
new file mode 100644
index 0000000..715f6a7
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656034160440.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656035615977.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656035615977.png
new file mode 100644
index 0000000..b302cc4
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656035615977.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656396028115.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656396028115.png
new file mode 100644
index 0000000..22c858e
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656396028115.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656397075952.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656397075952.png
new file mode 100644
index 0000000..b067153
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656397075952.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656466195927.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656466195927.png
new file mode 100644
index 0000000..1f81216
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656466195927.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656639253183.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656639253183.png
new file mode 100644
index 0000000..c0fde49
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656639253183.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1657872244275.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1657872244275.png
new file mode 100644
index 0000000..ecd225b
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1657872244275.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658125559452.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658125559452.png
new file mode 100644
index 0000000..c9d0879
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658125559452.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658208885274.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658208885274.png
new file mode 100644
index 0000000..52960aa
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658208885274.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658477323782.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658477323782.png
new file mode 100644
index 0000000..24298e1
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658477323782.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658478504139.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658478504139.png
new file mode 100644
index 0000000..cb705b9
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658478504139.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/telegram/tpl1661321268810.png b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1661321268810.png
new file mode 100644
index 0000000..f8ad477
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1661321268810.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/__pycache__/wechat.cpython-310.pyc b/airtest_script/App_automation/air_test_auto/app/wechat/__pycache__/wechat.cpython-310.pyc
new file mode 100644
index 0000000..b60b840
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/__pycache__/wechat.cpython-310.pyc
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391523954.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391523954.png
new file mode 100644
index 0000000..5aa30fa
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391523954.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391556616.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391556616.png
new file mode 100644
index 0000000..5ffd189
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391556616.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658805565554.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658805565554.png
new file mode 100644
index 0000000..4be0298
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658805565554.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658818826830.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658818826830.png
new file mode 100644
index 0000000..42d02f7
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658818826830.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658819094765.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658819094765.png
new file mode 100644
index 0000000..105b6ac
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658819094765.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658828517970.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658828517970.png
new file mode 100644
index 0000000..b35cb70
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658828517970.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658829974715.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658829974715.png
new file mode 100644
index 0000000..cc9ac9a
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658829974715.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658830920220.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658830920220.png
new file mode 100644
index 0000000..b192272
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658830920220.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658904365001.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658904365001.png
new file mode 100644
index 0000000..d88d94a
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658904365001.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/tpl1662435541019.png b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1662435541019.png
new file mode 100644
index 0000000..ed7d7c1
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1662435541019.png
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/wechat.py b/airtest_script/App_automation/air_test_auto/app/wechat/wechat.py
new file mode 100644
index 0000000..298cfca
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/wechat.py
@@ -0,0 +1,1122 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+import sys
+
+sys.path.append(r"d:\App_automation")
+from air_test_auto.app.packetCapture.IPV6tools import *
+from air_test_auto.control import *
+from airtest.core.api import *
+import logging
+
+logger = logging.getLogger("airtest")
+logger.setLevel(logging.ERROR)
+auto_setup(__file__, logdir=True)
+from poco.drivers.android.uiautomation import AndroidUiautomationPoco
+
+poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/" + deviceid1], logdir=True)
+# auto_setup(__file__, devices=["android://127.0.0.1:5037/"+deviceid2],logdir=True)
+from airtest.report.report import *
+
+
+def open():
+ try:
+ set_current(deviceid1)
+ wechat = 'com.tencent.mm'
+ d = device()
+ all_dev = d.list_app()
+ if wechat not in all_dev:
+ print("测试机未安装wechat,执行安装操作")
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\weixin8024android2180_arm64.apk")
+ install(a1)
+ sleep(120)
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ else:
+ stop_app("com.tencent.mm") # 关闭app
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ try:
+ snapshot(msg="wechat_open_no policy success")
+ assert_equal(poco(text="微信").exists(), True, "wechat_open_no policy success")
+ print('wechat_open_no policy success')
+ return print('The test case succeeded')
+ except AssertionError:
+ print("wechat_open_no policy fail")
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def quit():
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ if poco(text="我").exists():
+ poco(text="我").click()
+ poco(text="设置").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(600, 1797), (748, 1536), (701, 1399)])
+ sleep(5)
+ poco(text="退出").click()
+ poco(text="退出登录").click()
+ if poco(text="退出后不会删除任何历史数据,下次登录依然可以使用本帐号。").exists():
+ poco(text="退出").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_quit success")
+ assert_equal(poco(text="密码").exists(), True, "wechat_quit success")
+ print('wechat_wechat_quit success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_wechat_quit fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+
+
+def wechat_app():
+ wechat = 'com.tencent.mm'
+ d = device()
+ all_dev = d.list_app()
+ print(all_dev)
+ if wechat in all_dev:
+ print("测试机已安装wechat")
+ start_app(wechat)
+ else:
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\weixin8024android2180_arm64.apk")
+ print(a1)
+ install(a1)
+
+
+def wechat_login_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm")
+ sleep(20)
+ if poco(text="更多").exists():
+ poco(text="更多").click()
+ poco(text="登录其他帐号").click()
+ poco(text="用微信号/QQ号/邮箱登录").wait(timeout=5).click()
+ poco(text="请填写微信号/QQ号/邮箱").wait(timeout=10).set_text("15001171662")
+ poco(text="请填写密码").wait(timeout=10).set_text("chongming123456")
+ poco(text="登录").click()
+ sleep(60)
+ try:
+ snapshot(msg="wechat_login_deny success")
+ assert_equal(poco(text="登录").exists(), True, "wechat_login_deny success")
+ print('wechat_login_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_login_deny fail")
+ return 'The test case failed'
+
+
+def wechat_login_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm")
+ sleep(20)
+ if poco(text="更多").exists():
+ print("执行登录操作")
+ poco(text="更多").click()
+ poco(text="登录其他帐号").click()
+ poco(text="用微信号/QQ号/邮箱登录").wait(timeout=5).click()
+ poco(text="请填写微信号/QQ号/邮箱").wait(timeout=10).set_text("15001171662")
+ poco(text="请填写密码").wait(timeout=10).set_text("chongming123456")
+ poco(text="登录").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_login_allow/monitor success")
+ assert_equal(poco(text="通讯录").exists(), True, "wechat_login_allow/monitor success")
+ print('wechat_login_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_login_allow/monitor fail")
+ return 'The test case failed'
+
+
+def login():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm")
+ sleep(20)
+ if poco(text="更多").exists():
+ print("执行登录操作")
+ poco(text="更多").click()
+ poco(text="登录其他帐号").click()
+ poco(text="用微信号/QQ号/邮箱登录").wait(timeout=5).click()
+ poco(text="请填写微信号/QQ号/邮箱").wait(timeout=10).set_text(wechat_account)
+ poco(text="请填写微信密码").wait(timeout=10).set_text(wechat_password)
+ poco(text="登录").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_login_no_policy success")
+ assert_equal(poco(text="通讯录").exists(), True, "wechat_login_no_policy success")
+ print('wechat_login_no_policy success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_login_no_policy fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def send_message_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="通讯录").click()
+ sleep(5)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(5)
+ text("test")
+ sleep(5)
+ poco(name="com.tencent.mm:id/x1").click()
+ sleep(5)
+ poco(name="com.tencent.mm:id/iki").click()
+ message = 'test' + str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ text(message)
+ poco(text="发送").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send message_deny success")
+ assert_equal(poco(name="com.tencent.mm:id/j0y").exists(), True, "wechat_send message_deny success")
+ print('wechat_send message_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send message_deny fail")
+ return 'The test case failed'
+
+
+def send_message_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ text("test")
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ message = 'test' + str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ text(message)
+ poco(text="发送").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send message_allow/monitor success")
+ assert_equal(poco(text="test").exists(), True, "wechat_send message_allow/monitor success")
+ print('wechat_send message_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send message_allow/monitor fail")
+ return 'The test case failed'
+
+
+def send_message():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ text("test")
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ message = 'test' + str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ text(message)
+ poco(text="发送").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send message_no_policy")
+ assert_equal(poco(name="com.tencent.mm:id/j0y").exists(), True, "wechat_send message_no_policy failed")
+ print('wechat_send message_no_policy failed')
+ except AssertionError:
+ print("wechat_send message_no_policy successed")
+ # 执行发图片操作
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(5)
+ text("test")
+ sleep(2)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="拍摄").click()
+ sleep(2)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ poco(name="com.tencent.mm:id/dyg").click()
+ poco(text="完成").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_send pictures_no_policy")
+ assert_equal(poco(text="0%").exists(), True, "wechat_send pictures_no_policy failed")
+ print('wechat_send pictures_no_policy failed')
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ except AssertionError:
+ print("wechat_send pictures_no_policy succeeded")
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def send_pictures_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(5)
+ text("test")
+ sleep(5)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="拍摄").click()
+ sleep(2)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ poco(name="com.tencent.mm:id/dyg").click()
+ poco(text="完成").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send pictures_deny success")
+ assert_equal(poco(text="0%").exists(), True, "wechat_send pictures_deny success")
+ print('wechat_send pictures_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send pictures_deny fail")
+ return 'The test case failed'
+
+
+def send_pictures_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(2)
+ text("test")
+ sleep(2)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="拍摄").click()
+ sleep(2)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ poco(name="com.tencent.mm:id/dyg").click()
+ poco(text="完成").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send pictures_allow/monitor success")
+ assert_equal(poco(desc="图片").exists(), True, "wechat_send pictures_allow/monitor success")
+ print('wechat_send pictures_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send pictures_allow/monitor fail")
+ return 'The test case failed'
+
+
+def send_pictures():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(5)
+ text("test")
+ sleep(2)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(name="com.tencent.mm:id/iki").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="拍摄").click()
+ sleep(2)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ poco(name="com.tencent.mm:id/dyg").click()
+ poco(text="完成").click()
+ sleep(10)
+ try:
+ snapshot(msg="wechat_send pictures_no_policy success")
+ assert_equal(poco(desc="图片").exists(), True, "wechat_send pictures_no_policy success")
+ print('wechat_send pictures_no_policy success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send pictures_no_policy fail")
+ return 'The test case failed'
+
+
+def send_dynamic_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="发现").click()
+ sleep(2)
+ poco(text="朋友圈").click()
+ sleep(2)
+ poco(desc="拍照分享").long_click()
+ sleep(10)
+ if poco(text="我知道了").exists():
+ poco(text="我知道了").click()
+ poco(text="这一刻的想法...").wait(timeout=10).set_text("hello")
+ poco(text="发表").click()
+ sleep(10)
+ poco(desc="评论").click()
+ poco(name="com.tencent.mm:id/k_").click()
+ sleep(2)
+ try:
+ snapshot(msg="wechat_send dynamic_deny success")
+ assert_equal(poco(text="赞").exists(), True, "wechat_send dynamic_deny success")
+ print('wechat_send dynamic_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send dynamic_deny fail")
+ return 'The test case failed'
+
+
+def send_dynamic_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ sleep(2)
+ poco(text="朋友圈").click()
+ poco(desc="拍照分享").long_click()
+ sleep(10)
+ if poco(text="我知道了").exists():
+ poco(text="我知道了").click()
+ poco(text="这一刻的想法...").wait(timeout=10).set_text("hello")
+ poco(text="发表").click()
+ sleep(10)
+ poco(desc="评论").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/jf").click()
+ text("allow/monitor")
+ poco(text="发送").click()
+ sleep(2)
+ try:
+ snapshot(msg="wechat_send dynamic_allow/monitor success")
+ assert_exists(Template(r"tpl1658818826830.png", record_pos=(-0.113, 0.032), resolution=(1080, 1920)),
+ "wechat_send dynamic_allow/monitor success")
+ print('wechat_send dynamic_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send dynamic_allow/monitor fail")
+ return 'The test case failed'
+
+
+def send_dynamic():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="发现").click()
+ poco(text="朋友圈").click()
+ poco(desc="拍照分享").long_click()
+ sleep(10)
+ if poco(text="我知道了").exists():
+ poco(text="我知道了").click()
+ poco(text="这一刻的想法...").wait(timeout=10).set_text("hello")
+ poco(text="发表").click()
+ sleep(10)
+ poco(desc="评论").click()
+ sleep(2)
+ if poco(name="com.tencent.mm:id/jf").exists():
+ poco(name="com.tencent.mm:id/jf").click()
+ try:
+ snapshot(msg="wechat_send dynamic_no_policy success")
+ assert_equal(poco(text="发送").exists(), True, "wechat_send dynamic_no_policy success")
+ print('wechat_send dynamic_no_policy success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_send dynamic_no_policy fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def video_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="视频号").click()
+ sleep(10)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ elif poco(text="取消").exists():
+ poco(text="取消").click()
+ elif poco(text="知道了").exists():
+ poco(text="知道了").click()
+ poco(text="推荐").click()
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ dev.swipe_along([(658, 1398), (750, 1076), (736, 639)])
+ sleep(10)
+ try:
+ snapshot(msg="wechat_video_deny success")
+ assert_equal(poco(name="com.tencent.mm:id/h7v").exists(), True, "wechat_video_deny success")
+ print('wechat_video_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_deny fail")
+ return 'The test case failed'
+
+
+def video_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="发现").click()
+ poco(text="视频号").click()
+ sleep(10)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ elif poco(text="取消").exists():
+ poco(text="取消").click()
+ elif poco(text="知道了").exists():
+ poco(text="知道了").click()
+ poco(text="推荐").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_video_allow/monitor success")
+ assert_equal(poco(name="com.tencent.mm:id/dts").exists(), True, "wechat_video_allow/monitor success")
+ print('wechat_video_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_allow/monitor fail")
+ return 'The test case failed'
+
+
+def video():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="视频号").click()
+ sleep(10)
+ if poco(text="允许").exists():
+ poco(text="允许").click()
+ sleep(5)
+ elif poco(text="取消").exists():
+ poco(text="取消").click()
+ sleep(5)
+ elif poco(text="知道了").exists():
+ poco(text="知道了").click()
+ sleep(5)
+ poco(text="推荐").click()
+ sleep(20)
+ dev = device() # 获取当前手机设备
+ dev.swipe_along([(638, 238), (648, 380), (686, 683)])
+ dev.swipe_along([(638, 238), (648, 380), (686, 683)])
+ sleep(5)
+ try:
+ snapshot(msg="wechat_video_no_policy failed")
+ assert_equal(poco(name="com.tencent.mm:id/dc6").exists(), True, "wechat_video_no_policy failed")
+ print('wechat_video_no_policy failed')
+ print("The test case failed", flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_no_policy succeeded")
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def search_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="搜一搜").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_search_deny success")
+ assert_not_exists(Template(r"tpl1658904365001.png", record_pos=(0.281, -0.249), resolution=(1080, 1920)),
+ "wechat_search_deny success")
+ print('wechat_search_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_search_deny fail")
+ return 'The test case failed'
+
+
+def search_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="搜一搜").click()
+ sleep(15)
+ touch(Template(r"tpl1658829974715.png", record_pos=(-0.36, -0.438), resolution=(1080, 1920)))
+ sleep(5)
+ text("hello", search=True)
+ sleep(20)
+ try:
+ snapshot(msg="wechat_search_allow/monitor success")
+ # assert_equal(poco(text="更多").exists(),True,"wechat_search_no_policy success")
+ assert_exists(Template(r"tpl1658830920220.png", record_pos=(0.361, -0.465), resolution=(1080, 1920)),
+ "wechat_search_allow/monitor success")
+ print('wechat_search_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_search_allow/monitor fail")
+ return 'The test case failed'
+
+
+def search():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="发现").click()
+ poco(text="搜一搜").click()
+ sleep(15)
+ touch(Template(r"tpl1658829974715.png", record_pos=(-0.36, -0.438), resolution=(1080, 1920)))
+ sleep(5)
+ text("hello", search=True)
+ sleep(20)
+ try:
+ snapshot(msg="wechat_search_no_policy success")
+ assert_exists(Template(r"tpl1658830920220.png", record_pos=(0.361, -0.465), resolution=(1080, 1920)),"wechat_search_no_policy success")
+ print('wechat_search_no_policy success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_search_no_policy fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def talk_look_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="看一看").click()
+ sleep(100)
+ try:
+ snapshot(msg="wechat_talk_look_deny success")
+ assert_equal(poco(text="加载失败,请检查网络后重试").exists(), True, "wechat_talk_look_deny success")
+ print('wechat_talk_look_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_talk_look_deny fail")
+ return 'The test case failed'
+
+
+def talk_look_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="看一看").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_talk_look_allow/monitor success")
+ assert_equal(poco(name="android.view.View").exists(), True, "wechat_talk_look_allow/monitor success")
+ print('wechat_talk_look_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_talk_look_allow/monitor fail")
+ return 'The test case failed'
+
+
+def talk_look():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="发现").click()
+ poco(text="看一看").click()
+ sleep(10)
+ poco(text="朋友在看").click()
+ sleep(120)
+ if poco(text="网络异常,稍后再试").exists():
+ try:
+ snapshot(msg="wechat_talk_look")
+ assert_equal(poco(text="网络异常,稍后再试").exists(), True, "wechat_talk_look failed")
+ print('wechat_talk_look failed')
+ print("The test case failed1111", flush=True)
+ return 'The test case failed'
+ except AssertionError:
+ print("wechat_talk_look succeeded")
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ else:
+ try:
+ poco(text="置顶话题").click()
+ sleep(20)
+ snapshot(msg="wechat_talk_look")
+ assert_exists(Template(r"tpl1662435541019.png", record_pos=(0.025, -0.256), resolution=(1080, 1920)), "wechat_talk_look failed")
+ #assert_equal(poco(name="com.tencent.mm:id/jl0").exists(), True, "wechat_talk_look failed")
+ print('wechat_talk_look failed')
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ except AssertionError:
+ print("wechat_talk_look succeeded")
+ print('The test case succeeded2222', flush=True)
+ return 'The test case succeeded'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def Voice_calls_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(240)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ text("test")
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="语音通话").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_Voice_calls_deny success")
+ assert_equal(poco(text="当前网络不可用,请检查你的网络设置").exists(), True, "wechat_Voice_calls_deny success")
+ print('wechat_Voice_calls_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_Voice_calls_deny fail")
+ return 'The test case failed'
+
+
+def Voice_calls_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(20)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(2)
+ text("test")
+ sleep(2)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="语音通话").click()
+ sleep(15)
+ try:
+ snapshot(msg="wechat_Voice_calls_allow/monitor success")
+ assert_equal(poco(text="正在等待对方接受邀请").exists(), True, "wechat_Voice_calls_allow/monitor success")
+ print('wechat_Voice_calls_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_Voice_calls_allow/monitor fail")
+ return 'The test case failed'
+
+
+def Voice_calls():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(30)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(2)
+ text("test")
+ sleep(2)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="语音通话").click()
+ sleep(15)
+ try:
+ snapshot(msg="wechat_Voice_calls_no_policy")
+ assert_equal(poco(text="正在等待对方接受邀请").exists(), True, "wechat_Voice_calls_no_policy success")
+ print('wechat_Voice_calls_no_policy success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_Voice_calls_no_policy fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def video_call_deny():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(120)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(5)
+ text("test")
+ sleep(5)
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="视频通话").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_video_call_deny success")
+ assert_equal(poco(text="当前网络不可用,请检查你的网络设置").exists(), True, "wechat_video_call_deny success")
+ print('wechat_video_call_deny success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_call_deny fail")
+ return 'The test case failed'
+
+
+def video_call_allow_monitor():
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(120)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(2)
+ text("test")
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="视频通话").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_video_call_allow/monitor success")
+ assert_equal(poco(text="正在等待对方接受邀请").exists(), True, "wechat_video_call_allow/monitor success")
+ print('wechat_video_call_allow/monitor success')
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_call_allow/monitor fail")
+ return 'The test case failed'
+
+
+def video_call():
+ try:
+ set_current(deviceid1)
+ stop_app("com.tencent.mm")
+ start_app("com.tencent.mm") # 打开app
+ sleep(120)
+ poco(text="通讯录").click()
+ sleep(2)
+ poco(name="com.tencent.mm:id/dt5").click()
+ sleep(2)
+ text("test")
+ poco(name="com.tencent.mm:id/x1").click()
+ poco(desc="更多功能按钮,已折叠").click()
+ poco(text="视频通话").click()
+ poco(text="视频通话").click()
+ sleep(20)
+ try:
+ snapshot(msg="wechat_video_call_no_policy success")
+ assert_equal(poco(text="正在等待对方接受邀请").exists(), True, "wechat_video_call_no_policy success")
+ print('wechat_video_call_no_policy success')
+ print('The test case succeeded', flush=True)
+ return 'The test case succeeded'
+ except AssertionError:
+ print("wechat_video_call_no_policy fail")
+ print("The test case failed", flush=True)
+ return 'The test case failed'
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+
+def report_deny():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_deny")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"wechat_deny.html")
+
+
+def report_allow():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_allow")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"wechat_allow.html")
+
+
+def report_monitor():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_monitor")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"wechat_monitor.html")
+
+
+if __name__ == '__main__':
+ wechat = sys.argv
+ for i in wechat:
+ if deviceid1 == leidian2 or deviceid1 == xiaoyao or deviceid1 == MUMU or deviceid1 == leidian1:
+ if i == 'open':
+ open()
+ elif i == 'login':
+ login()
+ elif i == 'sendMessage':
+ send_message()
+ elif i == 'sendDynamic':
+ send_dynamic()
+ elif i == 'video':
+ video()
+ elif i == 'search':
+ search()
+ elif i == 'talkLook':
+ talk_look()
+ elif i == 'voiceCalls':
+ Voice_calls()
+ elif i == 'videoCall':
+ video_call()
+ elif i == 'quit':
+ quit()
+ elif i == 'all':
+ open()
+ login()
+ send_message()
+ send_dynamic()
+ video()
+ search()
+ talk_look()
+ Voice_calls()
+ video_call()
+ report_deny()
+ else:
+ if i == 'quit':
+ if packet_name == '':
+ quit()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ quit()
+ stop()
+ extract()
+ elif i == 'open':
+ if packet_name == '':
+ open()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ open()
+ stop()
+ extract()
+ elif i == 'login':
+ if packet_name == '':
+ login()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ login()
+ stop()
+ extract()
+ elif i == 'sendMessage':
+ if packet_name == '':
+ send_message()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ send_message()
+ stop()
+ extract()
+ elif i == 'sendDynamic':
+ if packet_name == '':
+ send_dynamic()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ send_dynamic()
+ stop()
+ extract()
+ elif i == 'video':
+ if packet_name == '':
+ video()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ video()
+ stop()
+ extract()
+ elif i == 'search':
+ if packet_name == '':
+ search()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ search()
+ stop()
+ extract()
+ elif i == 'talkLook':
+ if packet_name == '':
+ talk_look()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ talk_look()
+ stop()
+ extract()
+ elif i == 'voiceCalls':
+ if packet_name == '':
+ Voice_calls()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ Voice_calls()
+ stop()
+ extract()
+ elif i == 'videoCall':
+ if packet_name == '':
+ video_call()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ video_call()
+ stop()
+ extract()
+ elif i == 'all':
+ if packet_name == '':
+ login()
+ send_message()
+ send_dynamic()
+ video()
+ search()
+ talk_look()
+ Voice_calls()
+ video_call()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ login()
+ send_message()
+ send_dynamic()
+ video()
+ search()
+ talk_look()
+ Voice_calls()
+ video_call()
+ stop()
+ extract()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/wechat_allow.py b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_allow.py
new file mode 100644
index 0000000..d127dcb
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_allow.py
@@ -0,0 +1,42 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+from air_test_auto.app.wechat.wechat import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+login()
+send_message()
+send_pictures()
+send_dynamic()
+video()
+search()
+talk_look()
+Voice_calls()
+video_call()
+
+# 下发Allow策略执行telegram各操作
+app_security_attribute = [["192.168.56.21"], ["wechat"], "allow"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+wechat_login_allow_monitor()
+send_message_allow_monitor()
+send_pictures_allow_monitor()
+send_dynamic_allow_monitor()
+video_allow_monitor()
+search_allow_monitor()
+talk_look_allow_monitor()
+Voice_calls_allow_monitor()
+video_call_allow_monitor()
+# 生成测试报告
+report_allow()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.21'
+app = ["wechat"]
+log_count(start_time, end_time, policy_id, clint_ip, app) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/wechat_deny.py b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_deny.py
new file mode 100644
index 0000000..c5be563
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_deny.py
@@ -0,0 +1,41 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+from air_test_auto.app.wechat.wechat import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行wechat各操作流程
+quit()
+login()
+send_message()
+send_dynamic()
+video()
+search()
+talk_look()
+Voice_calls()
+video_call()
+# 下发Deny策略执行telegram各操作
+app_security_attribute = [["192.168.64.20"], ["wechat"], "drop"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+send_message_deny()
+send_dynamic_deny()
+video_deny()
+search_deny()
+talk_look_deny()
+Voice_calls_deny()
+video_call_deny()
+quit()
+wechat_login_deny()
+# 生成测试报告
+report_deny()
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.21'
+app = ["skype", "wechat"]
+log_count(start_time, end_time, policy_id, clint_ip, app) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/wechat_monitor.py b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_monitor.py
new file mode 100644
index 0000000..56c3900
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/wechat_monitor.py
@@ -0,0 +1,42 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+from air_test_auto.app.wechat.wechat import *
+from air_test_auto.test.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+login()
+send_message()
+send_pictures()
+send_dynamic()
+video()
+search()
+talk_look()
+Voice_calls()
+video_call()
+
+# 下发Monitor策略执行telegram各操作
+app_security_attribute = [["192.168.64.22"], ["wechat"], "monitor"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+wechat_login_allow_monitor()
+send_message_allow_monitor()
+send_pictures_allow_monitor()
+send_dynamic_allow_monitor()
+video_allow_monitor()
+search_allow_monitor()
+talk_look_allow_monitor()
+Voice_calls_allow_monitor()
+video_call_allow_monitor()
+# 生成测试报告
+report_monitor()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.64.22'
+app = ["wechat"]
+log_count(start_time, end_time, policy_id, clint_ip, app) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/app/wechat/weixin8024android2180_arm64.apk b/airtest_script/App_automation/air_test_auto/app/wechat/weixin8024android2180_arm64.apk
new file mode 100644
index 0000000..e63d550
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/wechat/weixin8024android2180_arm64.apk
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/youtube/YouTube.apk b/airtest_script/App_automation/air_test_auto/app/youtube/YouTube.apk
new file mode 100644
index 0000000..59dbbf6
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/youtube/YouTube.apk
Binary files differ
diff --git a/airtest_script/App_automation/air_test_auto/app/youtube/youtube.py b/airtest_script/App_automation/air_test_auto/app/youtube/youtube.py
new file mode 100644
index 0000000..22148fc
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/youtube/youtube.py
@@ -0,0 +1,275 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+import sys
+sys.path.append(r"d:\App_automation")
+from air_test_auto.app.packetCapture.IPV6tools import *
+from air_test_auto.control import *
+from airtest.core.api import *
+import logging
+logger = logging.getLogger("airtest")
+logger.setLevel(logging.ERROR)
+auto_setup(__file__, logdir=True)
+from poco.drivers.android.uiautomation import AndroidUiautomationPoco
+poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
+auto_setup(__file__, devices=["android://127.0.0.1:5037/"+deviceid1], logdir=True)
+from airtest.report.report import *
+import sys
+
+def open():
+ try:
+ youtube = 'com.google.android.youtube'
+ d = device()
+ all_dev = d.list_app()
+ if youtube not in all_dev:
+ print("测试机未安装youtube,执行安装操作")
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\YouTube.apk")
+ install(a1)
+ sleep(60)
+ start_app("com.google.android.youtube") # 打开app
+ else:
+ stop_app("com.google.android.youtube") # 关闭app
+ start_app("com.google.android.youtube") # 打开app
+ sleep(10)
+ try:
+ snapshot(msg="youtube_open_no policy success")
+ assert_equal(poco(desc="YouTube").exists(), True, "youtube_open_no policy success")
+ print('youtube_open_no policy success')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("youtube_open_no policy fail")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def search():
+ try:
+ stop_app("com.google.android.youtube") # 关闭app
+ start_app("com.google.android.youtube") # 打开app
+ sleep(5)
+ if poco(text="不用了,谢谢").exists():
+ poco(text="不用了,谢谢").click()
+ poco(text="首页").click()
+ poco(desc="搜索").click()
+ poco(text="搜索 YouTube").click()
+ text("hello")
+ sleep(20)
+ try:
+ snapshot(msg="youtube_sendMessage_no policy")
+ assert_equal(poco(name="com.google.android.youtube:id/load_progress").exists(), True, "youtube_search_no policy failed")
+ print('youtube_sendMessage_no policy failed')
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("youtube_sendMessage_no policy succeeded")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def shorts():
+ try:
+ stop_app("com.google.android.youtube") # 关闭app
+ start_app("com.google.android.youtube") # 打开app
+ sleep(5)
+ poco(text="Shorts").click()
+ dev = device()
+ dev.swipe_along([(589, 1563), (567, 1208), (583, 680)])
+ dev.swipe_along([(589, 1563), (567, 1208), (583, 680)])
+ dev.swipe_along([(589, 1563), (567, 1208), (583, 680)])
+ dev.swipe_along([(589, 1563), (567, 1208), (583, 680)])
+ dev.swipe_along([(589, 1563), (567, 1208), (583, 680)])
+ sleep(20)
+ try:
+ snapshot(msg="youtube_shorts_no policy")
+ assert_equal(poco(text="订阅").exists(), True, "youtube_shorts_no policy succeeded")
+ print('youtube_shorts_no policy succeeded')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("youtube_shorts_no policy failed")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def frontPage():
+ try:
+ stop_app("com.google.android.youtube") # 关闭app
+ start_app("com.google.android.youtube") # 打开app
+ sleep(5)
+ poco(desc="首页").click()
+ if poco(text="音乐").exists():
+ poco(text="音乐").click()
+ sleep(5)
+ dev = device()
+ dev.swipe_along([(479, 257), (505, 473), (515, 704)])
+ dev.swipe_along([(479, 257), (505, 473), (515, 704)])
+ sleep(20)
+ try:
+ snapshot(msg="youtube_frontPage_no policy")
+ assert_equal(poco(desc="操作菜单").exists(), True, "youtube_frontPage_no policy succeeded")
+ print('youtube_frontPage_no policy succeeded')
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ except AssertionError:
+ print("youtube_frontPage_no policy failed")
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def SubscriptionContent():
+ try:
+ stop_app("com.google.android.youtube") # 关闭app
+ start_app("com.google.android.youtube") # 打开app
+ sleep(5)
+ poco(text="订阅内容").click()
+ sleep(2)
+ dev = device()
+ dev.swipe_along([(428, 738), (531, 967), (541, 1257)])
+ dev.swipe_along([(428, 738), (531, 967), (541, 1257)])
+ dev.swipe_along([(428, 738), (531, 967), (541, 1257)])
+ sleep(20)
+ try:
+ snapshot(msg="youtube_SubscriptionContent_no succeeded")
+ assert_equal(poco(name="com.google.android.youtube:id/load_progress").exists(), True, "youtube_SubscriptionContent_no policy failed")
+ print('youtube_sendDynamic_no policy failed')
+ print("The test case failed", flush=True)
+ return print('The test case failed')
+ except AssertionError:
+ print("youtube_sendDynamic_no policy succeeded")
+ print('The test case succeeded', flush=True)
+ return print('The test case succeeded')
+ finally:
+ dataDir = "D:/App_automation/air_test_auto/app_logs"
+ a1 = r'{}{}'.format(dataDir, "/" + app_name + "_" + app_operation + "_")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=app_name + "_" + app_operation + "_" + r"_test.html")
+
+def report_deny():
+ dataDir = os.path.dirname(os.path.abspath(__file__))
+ a1 = r'{}{}'.format(dataDir, "\log_deny")
+ name = str(time.strftime("%Y%m%d%H%M", time.localtime()))
+ rp = LogToHtml(__file__, export_dir=a1 + name, lang='zh', plugins=["poco.utils.airtest.report"])
+ rp.report(output_file=name + r"youtube_deny.html")
+
+if __name__ == '__main__':
+ youtube = sys.argv
+ for i in youtube:
+ if deviceid1 == leidian2 or deviceid1 == xiaoyao or deviceid1 == MUMU or deviceid1 == leidian1:
+ if i == 'open':
+ open()
+ elif i == 'search':
+ search()
+ elif i == 'shorts':
+ shorts()
+ elif i == 'frontPage':
+ frontPage()
+ elif i == 'SubscriptionContent':
+ SubscriptionContent()
+ elif i == 'all':
+ open()
+ search()
+ shorts()
+ frontPage()
+ SubscriptionContent()
+ report_deny()
+ else:
+ if i == 'open':
+ if packet_name == '':
+ open()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ open()
+ stop()
+ extract()
+ elif i == 'search':
+ if packet_name == '':
+ search()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ search()
+ stop()
+ extract()
+ elif i == 'shorts':
+ if packet_name == '':
+ shorts()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ shorts()
+ stop()
+ extract()
+ elif i == 'frontPage':
+ if packet_name == '':
+ frontPage()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ frontPage()
+ stop()
+ extract()
+ elif i == 'sendDynamic':
+ if packet_name == '':
+ sendDynamic()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ sendDynamic()
+ stop()
+ extract()
+ elif i == 'SubscriptionContent':
+ if packet_name == '':
+ SubscriptionContent()
+ print("App操作执行成功,不需要捕包")
+ elif packet_name != '':
+ start()
+ SubscriptionContent()
+ stop()
+ extract()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/airtest_script/App_automation/air_test_auto/app/youtube/youtube_deny.py b/airtest_script/App_automation/air_test_auto/app/youtube/youtube_deny.py
new file mode 100644
index 0000000..dd16dc4
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/app/youtube/youtube_deny.py
@@ -0,0 +1,35 @@
+# -*- encoding=utf8 -*-
+__author__ = "app"
+
+from air_test_auto.app.youtube.youtube import *
+from air_test_auto.app_control_script import *
+
+# 无策略情况下执行telegram各操作流程
+open()
+search()
+shorts()
+frontPage()
+SubscriptionContent()
+
+# 下发Deny策略执行telegram各操作
+app_security_attribute = [["192.168.56.23"], ["youtube"], "drop"]
+req_dict = create_policie(app_security_attribute)
+print(req_dict)
+id1 = req_dict["policy_id"]
+print(id1)
+sleep(120)
+open()
+search()
+shorts()
+frontPage()
+SubscriptionContent()
+report_deny()
+
+# 查询日志
+start_time = "2022-06-23 00:00:00"
+end_time = "2023-06-23 23:59:59"
+policy_id = id1
+clint_ip = '192.168.56.23'
+app = ["skype", "youtube"]
+log_count(start_time, end_time, policy_id, clint_ip, app)
+
diff --git a/airtest_script/App_automation/air_test_auto/control.py b/airtest_script/App_automation/air_test_auto/control.py
new file mode 100644
index 0000000..7fe7b4d
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/control.py
@@ -0,0 +1,49 @@
+import os
+import argparse
+
+# 接口传参
+# test_device_id = 'emulator-5554'
+# app_name = 'facebook'
+# app_operation = 'open'
+# packet_name = '2323'
+
+def control():
+ # 执行App脚本命令
+ #print(command + "/" + app_name + "/" + app_name + ".py" + " " + app_operation)
+ parser = argparse.ArgumentParser(description="airtest script args")
+ parser.add_argument("--test_device_id", "-d", help="真机或模拟器连接id", required=True)
+ parser.add_argument("--app_name", "-n", help="执行测试app的名称", required=True)
+ parser.add_argument("--app_operation", "-o", help="执行测试app的动作名称", required=True)
+ parser.add_argument("--packet_name", "-p", help="捕包数据文件的名称,如果位空,则不捕包", nargs="?", const="")
+ args = parser.parse_args()
+ test_device_id = args.test_device_id
+ app_name = args.app_name
+ app_operation = args.app_operation
+ packet_name = args.packet_name
+ print(test_device_id, app_name, app_operation, packet_name)
+ return [test_device_id, app_name, app_operation, packet_name]
+
+args_list = control()
+test_device_id = args_list[0]
+app_name = args_list[1]
+app_operation = args_list[2]
+packet_name = args_list[3]
+
+# 固定参数
+command = "python D:/App_automation/air_test_auto/app"
+deviceid1 = test_device_id
+deviceid2 = '39174eb7'
+# 判断真机和模拟器
+vivo = "USPRMFCM5X65ORQW"
+yijia = "eecfd4b2"
+leidian1 = "emulator-5554"
+leidian2 = "emulator-5556"
+MUMU = "127.0.0.1:7555"
+xiaoyao = "127.0.0.1:21503"
+huawei = 'AWMCUT1325002090'
+xiaomi = "39174eb7"
+
+
+if __name__ == '__main__':
+ print(command + "/" + app_name + "/" + app_name + ".py" + " " + "-d " + test_device_id + " -n " + app_name + " -o " + app_operation + " -p " + packet_name)
+ os.system(command + "/" + app_name + "/" + app_name + ".py" + " " + "-d " + test_device_id + " -n " + app_name + " -o " + app_operation + " -p " + packet_name) \ No newline at end of file
diff --git a/airtest_script/App_automation/air_test_auto/control2.py b/airtest_script/App_automation/air_test_auto/control2.py
new file mode 100644
index 0000000..7fe7b4d
--- /dev/null
+++ b/airtest_script/App_automation/air_test_auto/control2.py
@@ -0,0 +1,49 @@
+import os
+import argparse
+
+# 接口传参
+# test_device_id = 'emulator-5554'
+# app_name = 'facebook'
+# app_operation = 'open'
+# packet_name = '2323'
+
+def control():
+ # 执行App脚本命令
+ #print(command + "/" + app_name + "/" + app_name + ".py" + " " + app_operation)
+ parser = argparse.ArgumentParser(description="airtest script args")
+ parser.add_argument("--test_device_id", "-d", help="真机或模拟器连接id", required=True)
+ parser.add_argument("--app_name", "-n", help="执行测试app的名称", required=True)
+ parser.add_argument("--app_operation", "-o", help="执行测试app的动作名称", required=True)
+ parser.add_argument("--packet_name", "-p", help="捕包数据文件的名称,如果位空,则不捕包", nargs="?", const="")
+ args = parser.parse_args()
+ test_device_id = args.test_device_id
+ app_name = args.app_name
+ app_operation = args.app_operation
+ packet_name = args.packet_name
+ print(test_device_id, app_name, app_operation, packet_name)
+ return [test_device_id, app_name, app_operation, packet_name]
+
+args_list = control()
+test_device_id = args_list[0]
+app_name = args_list[1]
+app_operation = args_list[2]
+packet_name = args_list[3]
+
+# 固定参数
+command = "python D:/App_automation/air_test_auto/app"
+deviceid1 = test_device_id
+deviceid2 = '39174eb7'
+# 判断真机和模拟器
+vivo = "USPRMFCM5X65ORQW"
+yijia = "eecfd4b2"
+leidian1 = "emulator-5554"
+leidian2 = "emulator-5556"
+MUMU = "127.0.0.1:7555"
+xiaoyao = "127.0.0.1:21503"
+huawei = 'AWMCUT1325002090'
+xiaomi = "39174eb7"
+
+
+if __name__ == '__main__':
+ print(command + "/" + app_name + "/" + app_name + ".py" + " " + "-d " + test_device_id + " -n " + app_name + " -o " + app_operation + " -p " + packet_name)
+ os.system(command + "/" + app_name + "/" + app_name + ".py" + " " + "-d " + test_device_id + " -n " + app_name + " -o " + app_operation + " -p " + packet_name) \ No newline at end of file