diff options
Diffstat (limited to 'cases')
30 files changed, 814 insertions, 0 deletions
diff --git a/cases/__init__.py b/cases/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cases/__init__.py diff --git a/cases/__pycache__/__init__.cpython-38.pyc b/cases/__pycache__/__init__.cpython-38.pyc Binary files differnew file mode 100644 index 00000000..0124b67f --- /dev/null +++ b/cases/__pycache__/__init__.cpython-38.pyc diff --git a/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc b/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..ec51f6f1 --- /dev/null +++ b/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc diff --git a/cases/__pycache__/conftest.cpython-38.pyc b/cases/__pycache__/conftest.cpython-38.pyc Binary files differnew file mode 100644 index 00000000..60126bc1 --- /dev/null +++ b/cases/__pycache__/conftest.cpython-38.pyc diff --git a/cases/__pycache__/test_1_demo.cpython-38-pytest-7.4.0.pyc b/cases/__pycache__/test_1_demo.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..b0c9ad87 --- /dev/null +++ b/cases/__pycache__/test_1_demo.cpython-38-pytest-7.4.0.pyc diff --git a/cases/conftest.py b/cases/conftest.py new file mode 100644 index 00000000..567aee1d --- /dev/null +++ b/cases/conftest.py @@ -0,0 +1,96 @@ +import time +import pytest +from common.ui_common.login_logout.loginout import LogInOut +import time +import atexit +import sys +import os +import signal +import configparser +from config.workpath import workdir +from selenium import webdriver +from common.driver_common.mywebdriver import MyWebDriver +driver = None #全局变量用户保存webdirver实例 + +def my_driver(): + print("\n用例开始时执行。。。") + global driver + # 初始化,负责远程用户登录 + loginout_parse = configparser.ConfigParser() + loginout_parse_dir = os.path.join(workdir, "config", "ui_conf", "loginout.ini") + loginout_parse.read(loginout_parse_dir, encoding="utf-8") + remote_url = loginout_parse.get("remote_url", "url") + chrome_option = webdriver.ChromeOptions() + driver = MyWebDriver( + command_executor=remote_url, + options=chrome_option + ) + #driver.implicitly_wait(2) + driver.maximize_window() + return driver + +def setup(): + global driver + driver = my_driver() + loginout = LogInOut(driver) + loginout.login() + +def teardown(): + global driver + if driver: + print("\n用例结束时执行。。。") + driver.quit() + time.sleep(1) + +def demo_fixture(): + global driver + setup() + yield driver + teardown() + +def pytest_collection_modifyitems(items): + """ + 测试用例收集完成时,将收集到的name和nodeid的中文显示在控制台上,中文转换 + https://www.cnblogs.com/canglongdao/p/13418305.html + """ + for i in items: + i.name = i.name.encode("utf-8").decode("unicode_escape") + i._nodeid = i.nodeid.encode("utf-8").decode("unicode_escape") + +#处理ctrl+c中断 +def handle_interrupt(sinnum, frame): + global driver + print(driver, "主动中断") + if driver: + driver.close() + exit(1) + +#注册 Ctrl+C中断处理函数 +signal.signal(signal.SIGINT, handle_interrupt) + + +""" +# 自定义插件 +class CtrlCPlugin: + def __init__(self): + self.interrupted = False + + def pytest_runtest_protocol(self, item, nextitem): + if self.interrupted: + pytest.skip("Ctrl+C 中断") + +ctrl_c_plugin = CtrlCPlugin() + +# 注册插件 +def pytest_configure(config): + config.pluginmanager.register(ctrl_c_plugin) + +# 注册 Ctrl+C 中断处理函数 +def handle_interrupt(signum, frame): + ctrl_c_plugin.interrupted = True + signal.signal(signal.SIGINT, signal.SIG_DFL) # 恢复默认 Ctrl+C 处理 + +# 注册 Ctrl+C 中断处理函数 +signal.signal(signal.SIGINT, handle_interrupt) +"""
\ No newline at end of file diff --git a/cases/ui/__init__.py b/cases/ui/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cases/ui/__init__.py diff --git a/cases/ui/__pycache__/__init__.cpython-38.pyc b/cases/ui/__pycache__/__init__.cpython-38.pyc Binary files differnew file mode 100644 index 00000000..abb59e52 --- /dev/null +++ b/cases/ui/__pycache__/__init__.cpython-38.pyc diff --git a/cases/ui/fast_test/__init__.py b/cases/ui/fast_test/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cases/ui/fast_test/__init__.py diff --git a/cases/ui/fast_test/__pycache__/__init__.cpython-38.pyc b/cases/ui/fast_test/__pycache__/__init__.cpython-38.pyc Binary files differnew file mode 100644 index 00000000..d1ac4718 --- /dev/null +++ b/cases/ui/fast_test/__pycache__/__init__.cpython-38.pyc diff --git a/cases/ui/fast_test/__pycache__/test_fast.cpython-38-pytest-7.4.0.pyc b/cases/ui/fast_test/__pycache__/test_fast.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..b7739ef8 --- /dev/null +++ b/cases/ui/fast_test/__pycache__/test_fast.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/fast_test/test_fast.py b/cases/ui/fast_test/test_fast.py new file mode 100644 index 00000000..2522d5b9 --- /dev/null +++ b/cases/ui/fast_test/test_fast.py @@ -0,0 +1,217 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.response_pages import ResponsePages +from common.ui_common.profiles.dns_records import DnsRecords +from common.ui_common.profiles.shaping_profiles import ShapingProfiles +from common.ui_common.profiles.traffic_mirroring_profiles import TrafficMirroringProfiles +from common.ui_common.profiles.ssl_decryption_keyrings import SSLDecryptionKeyrings +from common.ui_common.profiles.ssl_decryption_profiles import SSLDecryptionProfiles +from common.ui_common.profiles.hijack_files import HijackFiles +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + + +#data = ReadData() +""" +1.快速用例已包含: +profiles:dns records、shaping profiles +""" + +class TestFast: + # response pages 快速测试 + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建respose_page文件再修改", + "model": "modify", + "file": "testa.html->testb.html" + } + ], + ids=["创建respose_page文件再修改"] + ) + def test_responsePages_modify(self, demo_fixture, data): + responsePages = ResponsePages(demo_fixture) + responsePage_name = responsePages.create(data) + responsePage_id = responsePages.query(data, require_assertion=1, Name=responsePage_name) + responsePages.modify(data) + responsePages.query(data, require_assertion=2, ID=responsePage_id) + responsePages.delete() + + # dns records 快速测试 + @pytest.mark.parametrize( + "data", [ + { + "ids": "创建多类型A,再修改为CNAME用例", + "model": "modify", + "type": "A->CNAME", + "values": + [ + "112.12.32.12->test.sdgoc.sdwa.caom.com", + "53.23.234.21->", + "12.12.33.45->test.sodmao.asdo.com", + "->test.sddsg.sdsd.fco.cn" + ], + "description": "12.12.33.45->test.sodmao.asdo.com" + } + ], + ids=["创建多类型A,再修改为CNAME用例"] + ) + def test_dnsRecords_modify(self, demo_fixture, data): #外部方法调用测试(增、查、改、删) + dnsRecords = DnsRecords(demo_fixture) + dnsRecord_name = dnsRecords.create(data) + dnsRecord_id = dnsRecords.query(data, require_assertion=1, Name=dnsRecord_name) + dnsRecords.modify(data) + dnsRecords.query(data, require_assertion=2, ID=dnsRecord_id) + dnsRecords.delete() + + # trafficMirroringProfiles 快速测试 + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建vlanid再修改", + "model": "modify", + "vlan_id": + [ + "16->7", + "18->", + "->23", + "25->45", + "55->55" + ] + } + ], + ids=["创建vlanid再修改"] + ) + def test_trafficMirroringProfiles_modify(self, demo_fixture, data): + trafficMirroringProfiles = TrafficMirroringProfiles(demo_fixture) + trafficMirroringProfiles_name = trafficMirroringProfiles.create(data) + trafficMirroringProfiles_id = trafficMirroringProfiles.query(data, require_assertion=1, Name=trafficMirroringProfiles_name) + trafficMirroringProfiles.modify(data) + trafficMirroringProfiles.query(data, require_assertion=2, ID=trafficMirroringProfiles_id) + trafficMirroringProfiles.delete() + + #shaping profiles 快速测试 + @pytest.mark.parametrize( + "data", [ + { + "ids": "创建Fair_Share_bps再修改为Gps带宽", + "model": "modify", + "type": "Fair Share", + "argument": "Max Min Host Fairness", + "unit": "bps->Gbps", + "incoming": "670->856", + "outgoing": "550->543" + } + ], + ids=["创建Fair_Share_bps再修改为Gps带宽"] + ) + def test_shapingProfiles_modify(self, demo_fixture, data): #外部方法调用测试(增、查、改、删) + shapingProfiles = ShapingProfiles(demo_fixture) + shapingProfile_name = shapingProfiles.create(data) + shapingProfile_id = shapingProfiles.query(data, require_assertion=1, Name=shapingProfile_name) + shapingProfiles.modify(data) #修改 + shapingProfiles.query(data, require_assertion=2, ID=shapingProfile_id) + shapingProfiles.delete() + + #sslDecryptionKeyrings快速测试 + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建root_根证书PKA设置为RSA-2048再修改为中间证书PKA设置为RSA-1024", + "model": "modify", + "certificate": "test_root_cert_catest.cer->test_mid_cert_camiddletest.chain.pem", + "private_key": "PKF-test_root_key_catest.key->PKF-test_mid_key_camiddletest.key", + "reissue_expiry_hours": "MSC->C-120", + "type": "Root-Certificate->Intermediate-Certificate", + "public_key_algorithm": "RSA-2048->RSA-1024", + "certificate_revocation_list": "->不修改", + "include_root": "on->off" + } + ], + ids=["创建root_根证书PKA设置为RSA-2048再修改为中间证书PKA设置为RSA-1024"] + ) + def test_sslDecryptionKeyrings_modify(self, demo_fixture, data): + sslDecryptionKeyrings = SSLDecryptionKeyrings(demo_fixture) + sslDecryptionKeyrings_name = sslDecryptionKeyrings.create(data) + sslDecryptionKeyrings_id = sslDecryptionKeyrings.query(data, require_assertion=1, Name=sslDecryptionKeyrings_name) + sslDecryptionKeyrings.modify(data) + sslDecryptionKeyrings.query(data, require_assertion=2, ID=sslDecryptionKeyrings_id) + sslDecryptionKeyrings.delete() + + # sslDecryptionProfiles快速测试 + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建ssl_decryption_profiles_fail_action_on再修改common_name_off22", + "model": "modify", + "common_name": "on->off", + "issuer": "on-off>", + "self_signed": "on->不修改", + "expiry_date": "on->不修改", + "fail_action": "Pass-through->Fail-close", + "ev_certificate": "on->off", + "certificate_transparency": "on->不修改", + "mutual_authentication": "on->不修改", + "protocol_errors": "on->不修改", + "certificate_pinning": "on->off", + "certificate_not_installed": "on->", + "mirror_client_versions": "off->on", + "min_client_version": "TLSv1.2->不修改", + "max_client_version": "TLSv1.3->不修改", + "allow_HTTP2": "off->on" + } + ], + ids=["创建ssl_decryption_profiles_fail_action_on再修改common_name_off22"] + ) + def test_sslDecryptionProfiles_modify(self, demo_fixture, data): + sslDecryptionProfiles = SSLDecryptionProfiles(demo_fixture) + sslDecryptionProfiles_name = sslDecryptionProfiles.create(data) + sslDecryptionProfiles_id = sslDecryptionProfiles.query(data, require_assertion=1, Name=sslDecryptionProfiles_name) + sslDecryptionProfiles.modify(data) + sslDecryptionProfiles.query(data, require_assertion=2, ID=sslDecryptionProfiles_id) + sslDecryptionProfiles.delete() + + # HijackFiles 快速测试 + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建gif类型hijack_files数据再修改数据gif数据", + "model": "modify", + "file": "test_gif_1.gif->test_gif_2.gif", + "download_name": "test_gif_1.gif->Mirror Server Response", + "file_type": "gif->不修改" + } + ], + ids=["创建gif类型hijack_files数据再修改数据gif数据"] + ) + def test_hijackFiles_modify(self, demo_fixture, data): + hijackFiles = HijackFiles(demo_fixture) + hijackFiles_name = hijackFiles.create(data) + hijackFiles_id = hijackFiles.query(data, require_assertion=1, Name=hijackFiles_name) + hijackFiles.modify(data) + hijackFiles.query(data, require_assertion=2, ID=hijackFiles_id) + hijackFiles.delete() + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_fast.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/__init__.py b/cases/ui/profiles/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cases/ui/profiles/__init__.py diff --git a/cases/ui/profiles/__pycache__/__init__.cpython-38.pyc b/cases/ui/profiles/__pycache__/__init__.cpython-38.pyc Binary files differnew file mode 100644 index 00000000..c950d3a9 --- /dev/null +++ b/cases/ui/profiles/__pycache__/__init__.cpython-38.pyc diff --git a/cases/ui/profiles/__pycache__/test_dns_records.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_dns_records.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..dcd7460d --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_dns_records.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_hijack_files.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_hijack_files.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..73e33734 --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_hijack_files.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_response_pages.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_response_pages.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..9353cd88 --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_response_pages.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_shaping_profile_records.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_shaping_profile_records.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..4730eaef --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_shaping_profile_records.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_shaping_profiles.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_shaping_profiles.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..738b3a89 --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_shaping_profiles.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_ssl_decryption_keyrings.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_ssl_decryption_keyrings.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..cd532f89 --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_ssl_decryption_keyrings.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_ssl_decryption_profiles.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_ssl_decryption_profiles.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..7c8294d5 --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_ssl_decryption_profiles.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/__pycache__/test_traffic_mirroring_profiles.cpython-38-pytest-7.4.0.pyc b/cases/ui/profiles/__pycache__/test_traffic_mirroring_profiles.cpython-38-pytest-7.4.0.pyc Binary files differnew file mode 100644 index 00000000..d1c6904f --- /dev/null +++ b/cases/ui/profiles/__pycache__/test_traffic_mirroring_profiles.cpython-38-pytest-7.4.0.pyc diff --git a/cases/ui/profiles/test_Dos_detection_profiles.py b/cases/ui/profiles/test_Dos_detection_profiles.py new file mode 100644 index 00000000..4c84ac62 --- /dev/null +++ b/cases/ui/profiles/test_Dos_detection_profiles.py @@ -0,0 +1,68 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.Dos_detection import Dos_detection +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestSSLDecryptionProfiles: + @pytest.mark.parametrize("data", data.read_data_profiles("ssl_decryption_profiles.json"), ids=data.generate_id) + def test_sslDecryptionProfiles(self, demo_fixture, data): + dos_detection = Dos_detection(demo_fixture) + dos_detection.Dos_detection_case(data) + + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建ssl_decryption_profiles_fail_action_on再修改common_name_off22", + "model": "modify", + "common_name": "on->off", + "issuer": "on-off>", + "self_signed": "on->不修改", + "expiry_date": "on->不修改", + "fail_action": "Pass-through->不修改", + "ev_certificate": "on->off", + "certificate_transparency": "on->不修改", + "mutual_authentication": "on->不修改", + "protocol_errors": "on->不修改", + "certificate_pinning": "on->off", + "certificate_not_installed": "on->", + "mirror_client_versions": "off->off", + "min_client_version": "TLSv1.2->不修改", + "max_client_version": "TLSv1.3->不修改", + "allow_HTTP2": "off->on" + } + ], + ids=["创建ssl_decryption_profiles_fail_action_on再修改common_name_off22"] + ) + def test_sslDecryptionProfiles_modify(self, demo_fixture, data): + sslDecryptionProfiles = SSLDecryptionProfiles(demo_fixture) + sslDecryptionProfiles_name = sslDecryptionProfiles.create(data) + sslDecryptionProfiles_id = sslDecryptionProfiles.query(data, require_assertion=1, Name=sslDecryptionProfiles_name) + sslDecryptionProfiles.modify(data) + sslDecryptionProfiles.query(data, require_assertion=2, ID=sslDecryptionProfiles_id) + sslDecryptionProfiles.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_ssl_decryption_profiles.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_dns_records.py b/cases/ui/profiles/test_dns_records.py new file mode 100644 index 00000000..8cc3040b --- /dev/null +++ b/cases/ui/profiles/test_dns_records.py @@ -0,0 +1,60 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.dns_records import DnsRecords +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestDnsRecords: + @pytest.mark.parametrize("data", data.read_data_profiles("dns_records.json"), ids=data.generate_id) + def test_dnsRecords(self, demo_fixture, data): + dnsRecords = DnsRecords(demo_fixture) + dnsRecords.dns_records_case(data) + + @pytest.mark.parametrize( + "data", [ + { + "ids": "创建多类型A,再修改为CNAME用例", + "model": "modify", + "type": "A->CNAME", + "values": + [ + "112.12.32.12->test.sdgoc.sdwa.caom.com", + "53.23.234.21->", + "12.12.33.45->test.sodmao.asdo.com", + "->test.sddsg.sdsd.fco.cn" + ], + "description": "12.12.33.45->test.sodmao.asdo.com" + } + ] + ) + def test_dnsRecords_modify(self, demo_fixture, data): #外部方法调用测试(增、查、改、删) + dnsRecords = DnsRecords(demo_fixture) + dnsRecord_name = dnsRecords.create(data) + dnsRecord_id = dnsRecords.query(data, require_assertion=1, Name=dnsRecord_name) + dnsRecords.modify(data) + dnsRecords.query(data, require_assertion=2, ID=dnsRecord_id) + print(dnsRecord_name) + print(dnsRecord_id) + dnsRecords.delete() + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_dns_records.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_hijack_files.py b/cases/ui/profiles/test_hijack_files.py new file mode 100644 index 00000000..d92e7146 --- /dev/null +++ b/cases/ui/profiles/test_hijack_files.py @@ -0,0 +1,55 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.hijack_files import HijackFiles +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestHijackFiles: + @pytest.mark.parametrize("data", data.read_data_profiles("hijack_files.json"), ids=data.generate_id) + def test_hijackFiles(self, demo_fixture, data): + hijackFiles = HijackFiles(demo_fixture) + hijackFiles.hijackFiles_case(data) + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建gif类型hijack_files数据再修改数据gif数据", + "model": "modify", + "file": "test_gif_1.gif->test_gif_2.gif", + "download_name": "test_gif_1.gif->Mirror Server Response", + "file_type": "gif->不修改" + } + ], + ids=["创建gif类型hijack_files数据再修改数据gif数据"] + ) + def test_hijackFiles_modify(self, demo_fixture, data): + hijackFiles = HijackFiles(demo_fixture) + hijackFiles_name = hijackFiles.create(data) + hijackFiles_id = hijackFiles.query(data, require_assertion=1, Name=hijackFiles_name) + hijackFiles.modify(data) + hijackFiles.query(data, require_assertion=2, ID=hijackFiles_id) + hijackFiles.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_hijack_files.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_response_pages.py b/cases/ui/profiles/test_response_pages.py new file mode 100644 index 00000000..935f3849 --- /dev/null +++ b/cases/ui/profiles/test_response_pages.py @@ -0,0 +1,53 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.response_pages import ResponsePages +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestResponsePages: + @pytest.mark.parametrize("data", data.read_data_profiles("response_pages.json"), ids=data.generate_id) + def test_resposnePages(self, demo_fixture, data): + responsePages = ResponsePages(demo_fixture) + responsePages.response_page_case(data) + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建respose_page文件再修改", + "model": "modify", + "file": "testa.html->testb.html" + } + ] + ) + def test_responsePages_modify(self, demo_fixture, data): + responsePages = ResponsePages(demo_fixture) + responsePage_name = responsePages.create(data) + responsePage_id = responsePages.query(data, require_assertion=1, Name=responsePage_name) + responsePages.modify(data) + responsePages.query(data, require_assertion=2, ID=responsePage_id) + print(responsePage_id, responsePage_name) + responsePages.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_response_pages.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_shaping_profiles.py b/cases/ui/profiles/test_shaping_profiles.py new file mode 100644 index 00000000..08104d9f --- /dev/null +++ b/cases/ui/profiles/test_shaping_profiles.py @@ -0,0 +1,79 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.shaping_profiles import ShapingProfiles +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestShapingProfiles: + @pytest.mark.parametrize("data", data.read_data_profiles("shaping_profiles.json"), ids=data.generate_id) + def test_shapingProfiles(self, demo_fixture, data): + shapingProfiles = ShapingProfiles(demo_fixture) + shapingProfiles.shaping_profiles_case(data) + + @pytest.mark.parametrize( + "data", [ + { + "ids": "创建Generic_bps用例", + "model": "create", + "type": "Generic", + "argument": "", + "unit": "bps->", + "incoming": "876->", + "outgoing": "543->" + } + ] + ) + def test_shapingProfiles_create(self, demo_fixture, data): #外部方法调用测试(增、查、删) + shapingProfiles = ShapingProfiles(demo_fixture) + shapingProfile_name = shapingProfiles.create(data) + shapingProfile_id = shapingProfiles.query(data, Name=shapingProfile_name) + print(shapingProfile_name) + print(shapingProfile_id) + shapingProfiles.delete() + + @pytest.mark.parametrize( + "data", [ + { + "ids": "创建Fair_Share_bps再修改为Gps带宽", + "model": "modify", + "type": "Fair Share", + "argument": "Max Min Host Fairness", + "unit": "bps->Gbps", + "incoming": "670->856", + "outgoing": "550->543" + } + ] + ) + def test_shapingProfiles_modify(self, demo_fixture, data): #外部方法调用测试(增、查、改、删) + shapingProfiles = ShapingProfiles(demo_fixture) + shapingProfile_name = shapingProfiles.create(data) + shapingProfile_id = shapingProfiles.query(data, require_assertion=1, Name=shapingProfile_name) + shapingProfiles.modify(data) #修改 + shapingProfiles.query(data, require_assertion=2, ID=shapingProfile_id) + print(shapingProfile_name) + print(shapingProfile_id) + shapingProfiles.delete() + + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_shaping_profiles.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_ssl_decryption_keyrings.py b/cases/ui/profiles/test_ssl_decryption_keyrings.py new file mode 100644 index 00000000..f069034d --- /dev/null +++ b/cases/ui/profiles/test_ssl_decryption_keyrings.py @@ -0,0 +1,59 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.ssl_decryption_keyrings import SSLDecryptionKeyrings +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestSSLDecryptionKeyrings: + @pytest.mark.parametrize("data", data.read_data_profiles("ssl_decryption_keyrings.json"), ids=data.generate_id) + def test_sslDecryptionKeyrings(self, demo_fixture, data): + sslDecryptionKeyrings = SSLDecryptionKeyrings(demo_fixture) + sslDecryptionKeyrings.sslDecryptionKeyrings_case(data) + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建root_根证书PKA设置为RSA-2048再修改为中间证书PKA设置为RSA-1024", + "model": "modify", + "certificate": "test_root_cert_catest.cer->test_mid_cert_camiddletest.chain.pem", + "private_key": "PKF-test_root_key_catest.key->PKF-test_mid_key_camiddletest.key", + "reissue_expiry_hours": "MSC->C-120", + "type": "Root-Certificate->Intermediate-Certificate", + "public_key_algorithm": "RSA-2048->RSA-1024", + "certificate_revocation_list": "->不修改", + "include_root": "on->off" + } + ], + ids=["创建root_根证书PKA设置为RSA-2048再修改为中间证书PKA设置为RSA-1024"] + ) + def test_sslDecryptionKeyrings_modify(self, demo_fixture, data): + sslDecryptionKeyrings = SSLDecryptionKeyrings(demo_fixture) + sslDecryptionKeyrings_name = sslDecryptionKeyrings.create(data) + sslDecryptionKeyrings_id = sslDecryptionKeyrings.query(data, require_assertion=1, Name=sslDecryptionKeyrings_name) + sslDecryptionKeyrings.modify(data) + sslDecryptionKeyrings.query(data, require_assertion=2, ID=sslDecryptionKeyrings_id) + sslDecryptionKeyrings.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_ssl_decryption_keyrings.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_ssl_decryption_profiles.py b/cases/ui/profiles/test_ssl_decryption_profiles.py new file mode 100644 index 00000000..0e50b461 --- /dev/null +++ b/cases/ui/profiles/test_ssl_decryption_profiles.py @@ -0,0 +1,67 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.ssl_decryption_profiles import SSLDecryptionProfiles +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestSSLDecryptionProfiles: + @pytest.mark.parametrize("data", data.read_data_profiles("ssl_decryption_profiles.json"), ids=data.generate_id) + def test_sslDecryptionProfiles(self, demo_fixture, data): + sslDecryptionProfiles = SSLDecryptionProfiles(demo_fixture) + sslDecryptionProfiles.sslDecryptionProfiles_case(data) + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建ssl_decryption_profiles_fail_action_on再修改common_name_off22", + "model": "modify", + "common_name": "on->off", + "issuer": "on-off>", + "self_signed": "on->不修改", + "expiry_date": "on->不修改", + "fail_action": "Pass-through->不修改", + "ev_certificate": "on->off", + "certificate_transparency": "on->不修改", + "mutual_authentication": "on->不修改", + "protocol_errors": "on->不修改", + "certificate_pinning": "on->off", + "certificate_not_installed": "on->", + "mirror_client_versions": "off->off", + "min_client_version": "TLSv1.2->不修改", + "max_client_version": "TLSv1.3->不修改", + "allow_HTTP2": "off->on" + } + ], + ids=["创建ssl_decryption_profiles_fail_action_on再修改common_name_off22"] + ) + def test_sslDecryptionProfiles_modify(self, demo_fixture, data): + sslDecryptionProfiles = SSLDecryptionProfiles(demo_fixture) + sslDecryptionProfiles_name = sslDecryptionProfiles.create(data) + sslDecryptionProfiles_id = sslDecryptionProfiles.query(data, require_assertion=1, Name=sslDecryptionProfiles_name) + sslDecryptionProfiles.modify(data) + sslDecryptionProfiles.query(data, require_assertion=2, ID=sslDecryptionProfiles_id) + sslDecryptionProfiles.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_ssl_decryption_profiles.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file diff --git a/cases/ui/profiles/test_traffic_mirroring_profiles.py b/cases/ui/profiles/test_traffic_mirroring_profiles.py new file mode 100644 index 00000000..17076a65 --- /dev/null +++ b/cases/ui/profiles/test_traffic_mirroring_profiles.py @@ -0,0 +1,60 @@ +# -*- coding: UTF-8 -*- +import time +import pytest +from common.ui_common.profiles.traffic_mirroring_profiles import TrafficMirroringProfiles +from common.ui_read_data.read_data import ReadData +from cases.conftest import demo_fixture + +data = ReadData() + + +class TestTrafficMirroringProfiles: + @pytest.mark.parametrize("data", data.read_data_profiles("traffic_mirroring_profiles.json"), ids=data.generate_id) + def test_trafficMirroringProfiles(self, demo_fixture, data): + trafficMirroringProfiles = TrafficMirroringProfiles(demo_fixture) + trafficMirroringProfiles.traffic_morroring_profiles_case(data) + + @pytest.mark.parametrize( + "data", + [ + { + "ids": "创建vlanid再修改", + "model": "modify", + "vlan_id": + [ + "16->7", + "18->", + "->23", + "25->45", + "55->55" + ] + } + ] + ) + def test_trafficMirroringProfiles_modify(self, demo_fixture, data): + trafficMirroringProfiles = TrafficMirroringProfiles(demo_fixture) + trafficMirroringProfiles_name = trafficMirroringProfiles.create(data) + trafficMirroringProfiles_id = trafficMirroringProfiles.query(data, require_assertion=1, Name=trafficMirroringProfiles_name) + trafficMirroringProfiles.modify(data) + trafficMirroringProfiles.query(data, require_assertion=2, ID=trafficMirroringProfiles_id) + print(trafficMirroringProfiles_id, trafficMirroringProfiles_name) + trafficMirroringProfiles.delete() + + +if __name__ == '__main__': + a = time.time() + print(111111111111) + pytest.main(['-sv', 'test_response_pages.py', '--check-max-tb=60000']) + + b = time.time() + c = b - a + print("用时:::", c) + print(3333333333333) + + """ + # 在测试文件的当前路径执行如下命令执行测试用例: + pytest –cache-clear -v pytest_json.py --alluredir ./allure + + # 执行如下命令生成测试报告(自动打开浏览器): + allure serve allure + """
\ No newline at end of file |
