# -*- coding: UTF-8 -*- import configparser import copy import os import time import uuid import pytest from selenium import webdriver from common.driver_common.mywebdriver import MyWebDriver from common.read_data.read_data import ReadData from cases.conftest import demo_fixture from common.ui_common.objects.objects_public_operations import download_files from common.ui_common.objects.subscriber_ids import Subscriber_IDs from config.workpath import workdir data = ReadData() class Test_Subscriber_IDs: ''' { 'ids': 'subscriber_ids的增删改查', 'Name':'test-1' 'Create' { "model": "0", "type":"new_object","item":["123123","232323"],"item_modify":{"type":"add","item":["^test2$"]} "type":"import_files",file_type:"true_file/error_format/error_type/error_item","files_name":"files_name", "type":"export_files","item":["^test1$"] } 'Create' { "model": "1", "type":"new_object","item":["123123","232323"],"item_modify":{"type":"add","item":["^test2$"]} "type":"quote","sub_name":"", "type":"import_files",file_type:"true_file/error_format/error_type/error_item","files_name":"files_name", } 'Create' { "model": "2", "type":"new_object","item":"null", } 'Createtype': '', 'Subtype': '', 'item':[] 'Search_type': 'ID' } ''' @pytest.mark.parametrize("data", data.read_data_object("subscriber_ids.json"), ids=data.generate_id) #subscriber_ids 增删改查 def test_subscriber_ids_case(self, demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.subscriber_ids_case(data) @pytest.mark.parametrize("data",[ { "ids": "用例6:五层嵌套对象", "Name": "test--1", "Create": { "model": "0", "type": "new_object", "item": ["^username$"] }, "Createtype": "Subscriber_IDs", "Subtype": "not_delete", "Search_type": "Name" },{ "ids": "用例6:五层嵌套对象", "Name": "test--2", "Create": { "model": "1", "type": "quote", "sub_name": "test--1" }, "Createtype": "Subscriber_IDs", "Subtype": "not_delete", "Search_type": "Name" },{ "ids": "用例6:五层嵌套对象", "Name": "test--3", "Create": { "model": "1", "type": "quote", "sub_name": "test--2" }, "Createtype": "Subscriber_IDs", "Subtype": "not_delete", "Search_type": "Name" },{ "ids": "用例6:五层嵌套对象", "Name": "test--", "Create": { "model": "1", "type": "quote", "sub_name": "test--3" }, "Createtype": "Subscriber_IDs", "Subtype": "Five_layer", "Search_type": "Name" } ]) # 用例6、五层嵌套、# 用例7、删除被引用的数据 # def test_subscriber_ids_Five_layer_case(self,demo_fixture,data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.subscriber_ids_case(data) # @pytest.mark.parametrize("data", [ # { # "ids": "Subscriber_IDs的统计页面查看", # "Name": "test-1", # "Create":{ # "model": "0", # "type": "new_object", # "item": ["^username$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype":"", # "Search_type": "Name" # },{ # "ids": "Subscriber_IDs_Group的统计页面查看", # "Name":"test-subscriberid group", # "Create":{ # "model": "1", # "type": "new_object", # "item": ["^test1$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype":"", # "Search_type": "Name" # } # ]) # def test_View_statistics_case(self,demo_fixture,data): # subscriber_ids = Subscriber_IDs(demo_fixture) # subscriber_ids._View_statistics_case(data) @pytest.mark.parametrize("data", [ { "ids": "Subscriber_IDs的统计页面查看", "Name": "duplicate--test", "Create":{ "model": "0", "type": "new_object", "item": ["^duplicateobject$"] }, "Createtype": "Subscriber_IDs", "repetition_type": "0", "Subtype":"", "Search_type": "Name" },{ "ids": "Subscriber_IDs的统计页面查看", "Name": "duplicate--test", "Create": { "model": "0", "type": "new_object", "item": ["^duplicateobject$"] }, "Createtype": "Subscriber_IDs", "repetition_type": "1", "Subtype": "", "Search_type": "Name" } ]) def test_Duplicate_check(self,demo_fixture,data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids._repetition_item_case(data) # 用例13、翻页 @pytest.mark.parametrize("data", [ { "turn_mode": 1, "destination_page": "0" }, { "turn_mode": 2, "destination_page": "0" }, { "turn_mode": 3, "destination_page": "0" }, { "turn_mode": 4, "destination_page": "0" } ]) def test_subscriber_ids_page_turn_case(self,demo_fixture,data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids._page_turn_case(data) # 用例10、列设置 def test_Column_settings_case(self,demo_fixture): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids._Column_settings_case() # 用例14,Watch按钮 # def test_watch_button_case(self,demo_fixture): # subscriber_ids = Subscriber_IDs(demo_fixture) # subscriber_ids.watch_button_case() # 用例17、审计日志 # @pytest.mark.parametrize("data", [ # { # "ids": "用例16:Subscriber_IDs的审计日志", # "Name": "test-1", # "Create": { # "model": "0", # "type": "new_object", # "item": ["^username$"], # "item_modify": {"type": "modify", "modify_data": ["^test2$"]}, # }, # "Createtype": "Subscriber_IDs", # "Subtype": "", # "Search_type": "Name" # }]) # def test_audit_log_case(self,demo_fixture,data): # subscriber_ids = Subscriber_IDs(demo_fixture) # subscriber_ids.audit_log_case(data) # 用例32、导出文件测试 @pytest.mark.parametrize("data", [ { "ids": "用例11:导出文件测试", "Name": "test-1", "Create": { "model": "0", "type": "export_files", "item": ["^test1$"] }, "Createtype": "Subscriber_IDs", "Subtype": "", "Search_type": "Name" } ]) def test_subscriber_export_case(self,data): driver = download_files() subscriber_ids = Subscriber_IDs(driver) subscriber_ids.subscriber_ids_case(data) @pytest.mark.parametrize("data", [ { "ids": "用例1:Subscriber_IDs的增删改查", "Name": "test-1", "Create":{ "model": "0", "type": "new_object", "item": ["^username$"] }, "Createtype": "Subscriber_IDs", "Subtype":"", "Search_type": "Name&Description" },{ "ids": "用例13-2:Descripition的部分值查询", "Name": "random", "Create": { "model": "0", "type": "new_object", "item": ["^fuzzysearch$"] }, "Createtype": "Subscriber_IDs", "Subtype": "", "Search_type": "fuzzy->Description&Name" }, # { # "ids": "用例13-2:Description的部分值查询", # "Name": "random", # "Create": { # "model": "0", # "type": "new_object", # "item": ["^fuzzysearch$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype": "", # "Search_type": "fuzzy->Description&Details" # } ]) def test_verify_search(self, demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.verify_search(data) @pytest.mark.parametrize("data", [ { "ids": "用例33、exclude打开未添加校验", "Name": "test-1", "Create": { "model": "1", "type": "new_object", "item": ["^test1$"] }, "Subtype": "0", "Search_type": "Name" }, { "ids": "用例33、exclude添加,include未添加校验", "Name": "test-1", "Create": { "model": "1", "type": "new_object", "item": ["^test1$"] }, "Subtype": "1", "Search_type": "Name" }, { "ids": "用例33、exclude,include均未添加校验", "Name": "test-1", "Subtype": "2", },{ "ids": "用例33、exclude,include均添加校验", "Create": { "model": "1", "type": "new_object", "item": ["^test1$"] }, "Name": "test-1", "Subtype": "3", "Search_type": "Name" } ]) def test_group_include(self, demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.group_object_include(data) # @pytest.mark.parametrize("data", [ # { # "ids": "用例1:Subscriber_IDs的增删改查", # "Name": "test-1", # "Create": { # "model": "0", # "type": "new_object", # "item": ["^username$","^test$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype": "", # "Search_type": "Name" # },{ # "ids": "用例2:Subscriber_IDs_Group的增删改查", # "Name": "test-subscriberid group", # "Create": { # "model": "1", # "type": "new_object", # "item": ["^test1$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype": "", # "Search_type": "Name" # } # ]) # def test_item_search(self, demo_fixture, data): # subscriber_ids = Subscriber_IDs(demo_fixture) # subscriber_ids.mainPage_item_search(data) @pytest.mark.parametrize("data", data.read_data_object(r"Accounts\\clear_counter.json"), ids=data.generate_id) def test_clear_counter(self, demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids._clear_counter(data) @pytest.mark.parametrize("data", [{ "ids": "用例1:Subscriber_IDs的增删改查", "Name": "vsys_different-test", "Create": { "model": "0", "type": "new_object", "item": ["^username$"] }, "Createtype": "Subscriber_IDs", "Subtype": "", "Search_type": "Name" }]) def test_different_vsys_check(self, demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.different_vsys_check(data) # @pytest.mark.parametrize("data", [ # { # "ids": "用例2:Subscriber_IDs_Group的增删改查", # "Name": "test-subscriberid group", # "Create": { # "model": "1", # "type": "new_object", # "item": ["^test1$"] # }, # "Createtype": "Subscriber_IDs", # "Subtype": "", # "Search_type": "Name" # } # ]) # def test_sub_objects_drawer_search(self, demo_fixture, data): # subscriber_ids = Subscriber_IDs(demo_fixture) # subscriber_ids._sub_objects_drawer_search(data) @pytest.mark.parametrize("data", [ { "ids": "用例3-2:Subscriber_IDs的item中修改^test2$", "Name":"test-1", "Create":{ "model": "0", "type": "new_object", "item": ["^test1$"], "item_modify": {"type": "modify","modify_data": ["^test2$"]}, "files_type": "true_file", "files_name": "Subscriber_IDs_true_file.txt" }, "Createtype": "Subscriber_IDs", "Subtype":"", "Search_type": "Name" } ]) def test_audit_log_all_operation(self,data): driver = download_files() subscriber_ids = Subscriber_IDs(driver) subscriber_ids.audit_log_all_operation(data) @pytest.mark.parametrize("data", [ { "ids": "用例1:Subscriber_IDs的增删改查", "Name": "test_policy_quote", "Create": { "model": "0", "type": "new_object", "item": ["^username$"] }, "Createtype": "Subscriber_IDs", "Subtype": "", "Search_type": "Name" } ]) def test_policy_quote_role(self,demo_fixture, data): subscriber_ids = Subscriber_IDs(demo_fixture) subscriber_ids.policy_reference_count_check(data)