diff options
| author | hebingning <[email protected]> | 2022-09-07 16:32:50 +0800 |
|---|---|---|
| committer | hebingning <[email protected]> | 2022-09-07 16:32:50 +0800 |
| commit | 46bd2e493439528a6a4d03040e07493a9c52c772 (patch) | |
| tree | 4cfd8f4a7e4e161f22a49d8da551d07ca1587616 | |
| parent | 08a7053f487622c9120bec00e5589b207f2ba9db (diff) | |
airtest:wechat,youtube,gmail,telegram脚本提交
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 Binary files differnew file mode 100644 index 0000000..9797648 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/__pycache__/app_control_script.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..c010d4a --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..752a51d --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/__pycache__/control.cpython-36.pyc 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 Binary files differnew file mode 100644 index 0000000..bcf27ed --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/__pycache__/test.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..140cff3 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/gmail/Gmail.apk 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) + text("[email protected]") + 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 Binary files differnew file mode 100644 index 0000000..36178c1 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661406079730.png 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 Binary files differnew file mode 100644 index 0000000..7b964ad --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209985.png 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 Binary files differnew file mode 100644 index 0000000..7b964ad --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/gmail/tpl1661997209986.png 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 Binary files differnew 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 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 Binary files differnew file mode 100644 index 0000000..533dc39 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..fe16cdd --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_test.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..81a17ac --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/__pycache__/telegram_vivo.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..b2bb068 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1655978832280.png 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 Binary files differnew file mode 100644 index 0000000..715f6a7 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656034160440.png 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 Binary files differnew file mode 100644 index 0000000..b302cc4 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656035615977.png 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 Binary files differnew file mode 100644 index 0000000..22c858e --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656396028115.png 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 Binary files differnew file mode 100644 index 0000000..b067153 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656397075952.png 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 Binary files differnew file mode 100644 index 0000000..1f81216 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656466195927.png 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 Binary files differnew file mode 100644 index 0000000..c0fde49 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1656639253183.png 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 Binary files differnew file mode 100644 index 0000000..ecd225b --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1657872244275.png 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 Binary files differnew file mode 100644 index 0000000..c9d0879 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658125559452.png 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 Binary files differnew file mode 100644 index 0000000..52960aa --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658208885274.png 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 Binary files differnew file mode 100644 index 0000000..24298e1 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658477323782.png 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 Binary files differnew file mode 100644 index 0000000..cb705b9 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1658478504139.png 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 Binary files differnew file mode 100644 index 0000000..f8ad477 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/telegram/tpl1661321268810.png 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 Binary files differnew file mode 100644 index 0000000..b60b840 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/__pycache__/wechat.cpython-310.pyc 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 Binary files differnew file mode 100644 index 0000000..5aa30fa --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391523954.png 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 Binary files differnew file mode 100644 index 0000000..5ffd189 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658391556616.png 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 Binary files differnew file mode 100644 index 0000000..4be0298 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658805565554.png 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 Binary files differnew file mode 100644 index 0000000..42d02f7 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658818826830.png 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 Binary files differnew file mode 100644 index 0000000..105b6ac --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658819094765.png 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 Binary files differnew file mode 100644 index 0000000..b35cb70 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658828517970.png 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 Binary files differnew file mode 100644 index 0000000..cc9ac9a --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658829974715.png 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 Binary files differnew file mode 100644 index 0000000..b192272 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658830920220.png 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 Binary files differnew file mode 100644 index 0000000..d88d94a --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1658904365001.png 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 Binary files differnew file mode 100644 index 0000000..ed7d7c1 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/tpl1662435541019.png 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 Binary files differnew file mode 100644 index 0000000..e63d550 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/wechat/weixin8024android2180_arm64.apk 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 Binary files differnew file mode 100644 index 0000000..59dbbf6 --- /dev/null +++ b/airtest_script/App_automation/air_test_auto/app/youtube/YouTube.apk 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 |
