# -*- coding: UTF-8 -*- import configparser import copy import os import time import uuid import pytest from common.read_data.read_data import ReadData from common.ui_common.objects.app_attributes import Attributes from common.ui_common.objects.app_signatures import Signature from cases.conftest import demo_fixture from config.workpath import workdir data = ReadData() class TestSignatures: #1.22pass # 24.1.3 Bug Fail搜索后无法删除 # 根据name查询 # 搜索的name为test!@#$% ,123 # name不能重复 @pytest.mark.parametrize("data",data.read_data_object("signatures.json"), ids=data.generate_id ) def test_signature(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.Signatures_case(data) #24.10暂不确定是否可以在signature页面创建attribute!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #侧滑创建Attribute和Condition pass @pytest.mark.parametrize( "data", [ { "ids": "Signatureg根据Name查询;Name特殊字符", "CreatType": "Signature", "Search_type": "Name", "Name": "", "isNewAttribute": "True", "file": "OPENVPN_application.lua", "attributeName": f"Signature中新建{uuid.uuid4()}" } ] ) def test_signature_new_attribute(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.create_new_attribute(data) #24.1.22 pass #引用是在Appliation中引用 pass #删除被引用数据 #查看引用计数 @pytest.mark.parametrize( "data", [ { "ids": "signature引用计数的相关内容", "Search_type": "Name", "Name": f"signature引用计数测试_{uuid.uuid4()}", "isNewAttribute": "" } ] ) def test_reference_thing(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures._quoted_object_test(data) # 列设置 pass def test_column_settings_case(self, demo_fixture): signatures = Signature(demo_fixture) signatures.app_signature_column_settings_case() # 翻页 pass @pytest.mark.parametrize("data", data.read_data_object(r"URLs\\pages_turning.json"), ids=data.generate_id) def test_page_turning(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures._goto_subObjectPage() signatures.objects_po.pages_turning(data) #1.22没有修改操作时不应该提示是否要保存后离开,fail #24.1.3pass # Audit Logs功能 pass @pytest.mark.parametrize( "data", [ { "ids": "App_Signature的Audit Logs:增加和编辑", "Search_type": "Name", "isNewAttribute":"", "Name":"" } ] ) def test_audit_case(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures._verify_audit_logs(data) #24.1.3pass # 输入框反向情况 Pass def test_item_input_frame_reverse(self, demo_fixture): apns = Signature(demo_fixture) apns.item_input_frame_reverse_test() #24.1.3pass #输入框正向情况 pass @pytest.mark.parametrize( "data", [ { "ids": "App_Signature的Audit Logs:增加和编辑", "Search_type": "Name", "CheckName":"length", "isNewAttribute":"" }, { "ids": "App_Signature的Audit Logs:增加和编辑", "Search_type": "Name", "CheckName": "multi", "isNewAttribute":"" } ] ) def test_item_input_frame(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.input_name_test(data) @pytest.mark.parametrize( "data", [ { "ids": "App_Signature edit page search function", "isCheckTotal":"True" }, { "ids": "App_Signature edit page total function", "isCheckTotal": "False" } ] ) def test_item_search_and_total_verify_in_edit_page(self, demo_fixture,data): signatures = Signature(demo_fixture) signatures.item_search_and_total_verify(data) @pytest.mark.parametrize( "data", [ { "ids": "App_Signature列表页Condition按钮", "Search_type": "Name", "isNewAttribute": "" } ] ) def test_list_page_conditions(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.test_condition(data) @pytest.mark.parametrize( "data", [ { "ids": "add_all_attributes", "AttributeType": "udp", "Search_type": "Name", "isNewAttribute": "False" }, { "ids": "add_all_attributes", "AttributeType": "tcp", "Search_type": "Name", "isNewAttribute":"False" }, { "ids": "add_all_attributes", "AttributeType": "common", "Search_type": "Name", "isNewAttribute":"False" }, # { # ip protocol 、ssl、tcp.payload、udp.payload不支持not condition # "ids": "add_all_attributes", # "AttributeType": "ip", # "Search_type": "Name", # "AddToCondition": "New Condition" # }, { "ids": "add_all_attributes", "AttributeType": "dns", "Search_type": "Name", "isNewAttribute":"False" }, { "ids": "add_all_attributes", "AttributeType": "http", "Search_type": "Name", "isNewAttribute": "False" }, # { # "ids": "add_all_attributes", # "AttributeType": "ssl", # "Search_type": "Name", # "isNewAttribute":"False" # } ] ) def test_traverse_all_signature(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.traverse_all_attributes(data) @pytest.mark.parametrize("data", [ { "ids": "多个条件组合查询", "Search_type": "ID&Name", "isNewAttribute": "" } ]) def test_verify_search(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.verify_search(data) @pytest.mark.parametrize("data", [ { "ids": "列表页item搜索", "Search_type": "Name", "isNewAttribute": "", "Search_value": "tcp" },]) def test_item_search(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.mainPage_item_search(data) @pytest.mark.parametrize("data", [ { "ids": "Audit logs", "CreatType":"Signature", "Search_type":"ID", "Name": "", "isNewAttribute": "" } ]) def test_audit_log_all_operation(self, demo_fixture, data): signatures = Signature(demo_fixture) signatures.audit_log_all_operation(data) @pytest.mark.parametrize("data", [{ "ids": "Name模糊搜索", "CreatType":"Signature", "Search_type":"fuzzy->Name", "Name": "", "isNewAttribute": "" }]) def test_fuzzy_search(self,demo_fixture,data): signatures = Signature(demo_fixture) signatures.fuzzy_search(data)