summaryrefslogtreecommitdiff
path: root/cases
diff options
context:
space:
mode:
Diffstat (limited to 'cases')
-rw-r--r--cases/__init__.py0
-rw-r--r--cases/__pycache__/__init__.cpython-38.pycbin0 -> 129 bytes
-rw-r--r--cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pycbin0 -> 2274 bytes
-rw-r--r--cases/__pycache__/conftest.cpython-38.pycbin0 -> 2161 bytes
-rw-r--r--cases/__pycache__/test_1_demo.cpython-38-pytest-7.4.0.pycbin0 -> 1845 bytes
-rw-r--r--cases/conftest.py96
-rw-r--r--cases/ui/__init__.py0
-rw-r--r--cases/ui/__pycache__/__init__.cpython-38.pycbin0 -> 132 bytes
-rw-r--r--cases/ui/fast_test/__init__.py0
-rw-r--r--cases/ui/fast_test/__pycache__/__init__.cpython-38.pycbin0 -> 137 bytes
-rw-r--r--cases/ui/fast_test/__pycache__/test_fast.cpython-38-pytest-7.4.0.pycbin0 -> 5942 bytes
-rw-r--r--cases/ui/fast_test/test_fast.py217
-rw-r--r--cases/ui/profiles/__init__.py0
-rw-r--r--cases/ui/profiles/__pycache__/__init__.cpython-38.pycbin0 -> 141 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_dns_records.cpython-38-pytest-7.4.0.pycbin0 -> 1856 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_hijack_files.cpython-38-pytest-7.4.0.pycbin0 -> 1824 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_response_pages.cpython-38-pytest-7.4.0.pycbin0 -> 1738 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_shaping_profile_records.cpython-38-pytest-7.4.0.pycbin0 -> 2263 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_shaping_profiles.cpython-38-pytest-7.4.0.pycbin0 -> 2263 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_ssl_decryption_keyrings.cpython-38-pytest-7.4.0.pycbin0 -> 2258 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_ssl_decryption_profiles.cpython-38-pytest-7.4.0.pycbin0 -> 2328 bytes
-rw-r--r--cases/ui/profiles/__pycache__/test_traffic_mirroring_profiles.cpython-38-pytest-7.4.0.pycbin0 -> 1932 bytes
-rw-r--r--cases/ui/profiles/test_Dos_detection_profiles.py68
-rw-r--r--cases/ui/profiles/test_dns_records.py60
-rw-r--r--cases/ui/profiles/test_hijack_files.py55
-rw-r--r--cases/ui/profiles/test_response_pages.py53
-rw-r--r--cases/ui/profiles/test_shaping_profiles.py79
-rw-r--r--cases/ui/profiles/test_ssl_decryption_keyrings.py59
-rw-r--r--cases/ui/profiles/test_ssl_decryption_profiles.py67
-rw-r--r--cases/ui/profiles/test_traffic_mirroring_profiles.py60
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
new file mode 100644
index 00000000..0124b67f
--- /dev/null
+++ b/cases/__pycache__/__init__.cpython-38.pyc
Binary files differ
diff --git a/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc b/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc
new file mode 100644
index 00000000..ec51f6f1
--- /dev/null
+++ b/cases/__pycache__/conftest.cpython-38-pytest-7.4.0.pyc
Binary files differ
diff --git a/cases/__pycache__/conftest.cpython-38.pyc b/cases/__pycache__/conftest.cpython-38.pyc
new file mode 100644
index 00000000..60126bc1
--- /dev/null
+++ b/cases/__pycache__/conftest.cpython-38.pyc
Binary files differ
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
new file mode 100644
index 00000000..b0c9ad87
--- /dev/null
+++ b/cases/__pycache__/test_1_demo.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..abb59e52
--- /dev/null
+++ b/cases/ui/__pycache__/__init__.cpython-38.pyc
Binary files differ
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
new file mode 100644
index 00000000..d1ac4718
--- /dev/null
+++ b/cases/ui/fast_test/__pycache__/__init__.cpython-38.pyc
Binary files differ
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
new file mode 100644
index 00000000..b7739ef8
--- /dev/null
+++ b/cases/ui/fast_test/__pycache__/test_fast.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..c950d3a9
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/__init__.cpython-38.pyc
Binary files differ
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
new file mode 100644
index 00000000..dcd7460d
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_dns_records.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..73e33734
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_hijack_files.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..9353cd88
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_response_pages.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..4730eaef
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_shaping_profile_records.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..738b3a89
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_shaping_profiles.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..cd532f89
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_ssl_decryption_keyrings.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..7c8294d5
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_ssl_decryption_profiles.cpython-38-pytest-7.4.0.pyc
Binary files differ
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
new file mode 100644
index 00000000..d1c6904f
--- /dev/null
+++ b/cases/ui/profiles/__pycache__/test_traffic_mirroring_profiles.cpython-38-pytest-7.4.0.pyc
Binary files differ
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