class testComRuleSuite(unittest.TestCase):

	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.comm = testCommand(self.browser)

		#命令规则前置条件
		self.comsuit.commandrule_module_prefix_condition()

	def test_command_rule(self):
		#添加命令规则
		self.comm.add_command_rule_001()
		#编辑命令规则
		self.comm.mod_command_rule_002()
		#操作命令规则
		self.comm.option_command_rule_003()
		#校验命令规则
		self.comm.check_command_rule_004()
		#命令审批
		# self.comm.command_approval_005()
		#删除命令规则
		self.comm.del_command_rule_006()

	def tearDown(self):
		#命令规则后置条件
		self.comsuit.commandrule_module_post_condition()
		initDriver().close_driver(self.browser)
class testRetimeRuleSuite(unittest.TestCase):

	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.retime = testRetime(self.browser)

		#资源时间规则前置条件
		self.comsuit.retimerule_module_prefix_condition()

	def test_retime_rule(self):
		#添加资源时间规则
		self.retime.add_retime_rule_001()
		#编辑资源时间规则
		self.retime.mod_retime_rule_002()
		#资源时间规则结果验证
		self.retime.add_retime_rule_result_003()
		#操作资源时间规则
		self.retime.option_retime_rule_004()
		#校验资源时间规则
		self.retime.check_retime_rule_005()
		#删除资源时间规则
		self.retime.del_retime_rule_006()

	def tearDown(self):
		#资源时间规则后置条件
		self.comsuit.retimerule_module_post_condition()
		initDriver().close_driver(self.browser)
예제 #3
0
class testAdSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)        
        self.adMethod = testAdEx(self.browser)
        #AD域前置条件
        self.commonSuite.ad_module_prefix_condition()
    
    def test_client_method(self):
        #发现AD域账号
        self.adMethod.ad_extract_001()
        #移动AD域账号
        self.adMethod.ad_discover_002()
        #移动AD域账号校验
        self.adMethod.move_user_check_003()
        #移动AD域账号密码校验
        self.adMethod.ad_pwd_checkout_004()
        #设置定时
        self.adMethod.cycle_005()
        #清空历史记录
        self.adMethod.clear_history_006()

    def tearDown(self):
        #AD域后置条件
        self.commonSuite.ad_module_post_condition()
        initDriver().close_driver(self.browser)
class testSessionConfigSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        
        self.commonSuite = CommonSuiteData(self.browser)
        self.sessionCase = conversationStrategy(self.browser)
        self.initDriver = initDriver()
        #前置条件
        self.commonSuite.session_module_prefix_condition()
    
    def test_session(self):
        #添加访问失败次数和失败锁定时间
        self.sessionCase.add_session_config_001()
        #校验访问失败次数和失败锁定时间
        self.sessionCase.check_session_config_002()
        #单用户登录方式和web超时时间添加
        self.sessionCase.sing_user_login_and_session_003()
        #单用户登录方式校验
        self.sessionCase.check_sing_user_login_004()
        
    def tearDown(self):
        #后置条件
        self.commonSuite.session_module_post_condition()
        #关闭浏览器
        self.initDriver.close_driver(self.browser)
예제 #5
0
class testAppSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)   
        self.appMethod = testApp(self.browser)
        #应用发布前置条件
        self.commonSuite.application_module_prefix_condition()
    
    def test_app_method(self):
        #添加应用发布
        self.appMethod.add_app_001()
        #编辑应用发布
        self.appMethod.edit_app_002()
        #校验应用发布
        self.appMethod.check_app_003()
        #检索应用发布
        self.appMethod.query_app_004()
        #添加账号
        self.appMethod.add_account_006()
        #修改账号
        self.appMethod.edit_account_007()
        #删除账号
        self.appMethod.del_account_008()
        #删除应用发布
        self.appMethod.del_app_005()

    def tearDown(self):
        #应用发布后置条件
        self.commonSuite.application_module_post_condition()
        initDriver().close_driver(self.browser)
class testDepartSuite(unittest.TestCase):

	def setUp(self):

		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.testdptment = testDepartment(self.browser)

		#部门前置条件
		self.comsuit.depart_module_prefix_condition()

	def test_department(self):

		u'''添加和编辑部门'''
		self.testdptment.add_edit_department_001()
		u'''上移和下移部门'''
		self.testdptment.up_down_department_002()
		u'''上移和下移部门校验'''
		self.testdptment.up_down_department_check_003()
		u'''检验添加和编辑部门'''
		self.testdptment.check_add_edit_department_004()
		u'''删除部门'''
		self.testdptment.del_department_005()

	def tearDown(self):
		self.comsuit.user_quit()
		initDriver().close_driver(self.browser)
class TestAlarmSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)
        self.alarmCase = AlarmConfig(self.browser)
        self.initDriver = initDriver()
        #前置条件
        self.commonSuite.alarm_strategy_module_prefix_condition()
        
    def test_alarm(self):
        #为用户添加邮箱
        self.alarmCase.mod_user_mail_008()
        #配置高危运维
        self.alarmCase.command_alarm_level_config_001()
        #运行状态告警校验
        self.alarmCase.default_alarm_level_checkout_003()
        #配置运行状态告警
        self.alarmCase.default_alarm_level_config_002()
        #配置认证失败告警
        self.alarmCase.auth_alarm_level_config_004()
        #告警归纳类型检索
        self.alarmCase.search_by_type_005()
        #告警归纳级别检索
        self.alarmCase.search_by_level_006()
        
    def tearDown(self):
        #后置条件
        self.commonSuite.alarm_strategy_module_post_condition()
        #关闭浏览器
        self.initDriver.close_driver(self.browser)
class testAdreRuleSuite(unittest.TestCase):

	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.adrerule = testAddress(self.browser)

		#地址规则前置条件
		self.comsuit.addressrule_module_prefix_condition()

	def test_address_rule(self):
		#添加地址规则
		self.adrerule.add_address_rule_001()
		#添加地址规则结果
		self.adrerule.add_address_rule_result_002()
		#编辑地址规则
		self.adrerule.mod_address_rule_003()
		#校验地址规则
		self.adrerule.check_address_rule_004()
		#检索地址规则
		self.adrerule.query_address_rule_005()
		#删除地址规则
		self.adrerule.del_address_rule_006()

	def tearDown(self):
		#时间规则后置条件
		self.comsuit.addressrule_module_post_condition()
		initDriver().close_driver(self.browser)
예제 #9
0
class UseAuthSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)
        self.useAuthCase = UseAuthorization(self.browser)
        self.initDriver = initDriver()
        
        #前置条件
        self.commonSuite.use_auth_module_prefix_condition()
        
    def test_use_auth(self):
        #填写产品信息
        self.useAuthCase.add_product_information_001()
        #上传logo
        self.useAuthCase.upload_logo_upgrade_002()
        #产品信息校验
        self.useAuthCase.check_product_information_003()
        #logo包校验
        self.useAuthCase.check_logo_upgrade_004()
        #上传授权码
        self.useAuthCase.add_product_information_005()
        #上传授权码校验
        self.useAuthCase.check_updata_auth_006()
        
    def tearDown(self):
        self.commonSuite.use_auth_module_post_condition()
        self.initDriver.close_driver(self.browser)
예제 #10
0
class testTimeRuleSuite(unittest.TestCase):

	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.timerule = testTime(self.browser)

		#时间规则前置条件
		self.comsuit.timerule_module_prefix_condition()

	def test_time_rule(self):
		#添加时间规则
		self.timerule.add_time_rule_001()
		#添加时间规则结果
		self.timerule.add_time_rule_result_002()
		#编辑时间规则
		self.timerule.mod_time_rule_003()
		#校验时间规则
		self.timerule.check_time_rule_004()
		#检索时间规则
		self.timerule.query_time_rule_005()
		#删除时间规则
		self.timerule.del_time_rule_006()

	def tearDown(self):
		#时间规则后置条件
		self.comsuit.timerule_module_post_condition()
		initDriver().close_driver(self.browser)
class testAuthMethodSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)        
        self.authMethod = testAuthMethod(self.browser)
        #认证方式前置条件
        self.commonSuite.auth_method_prefix_condition()
    
    def test_auth_method(self):
        #添加AD域认证方式
        self.authMethod.add_ad_method_001()
        #添加radius认证方式
        self.authMethod.add_radius_method_002()
        #添加AD域+口令认证方式
        self.authMethod.add_ad_and_pwd_method_003()
        #添加RADIUS+口令认证方式
        self.authMethod.add_radius_and_pwd_method_004()
        #添加数字证书认证方式
        self.authMethod.add_cert_method_005()
        #校验认证方式是否添加成功
        self.authMethod.auth_method_add_is_success_006()
        #修改AD域认证方式
        self.authMethod.mod_ad_method_007()
        #AD域认证方式校验
        self.authMethod.ad_method_checkout_008()
        #radius认证方式校验
        self.authMethod.radius_checkout_009()
        #删除多种认证方式
        self.authMethod.del_auth_method_010()

    def tearDown(self):
        #认证方式后置条件
        self.commonSuite.auth_method_post_condition()
        initDriver().close_driver(self.browser)
class testPasswdEnvelopeSuit(unittest.TestCase):
    def setUp(self):
        self.browser = setDriver().set_driver()
        self.comsuit = CommonSuiteData(self.browser)
        self.testenvelope = testEnvelope(self.browser)

        #前置条件
        self.comsuit.passwd_envelope_module_prefix_condition()

    def test_passwd_envelope(self):
        #配置密码信封
        self.testenvelope.add_passwd_envelope_001()
        #浏览、上传图片
        self.testenvelope.upload_passwd_envelope_002()
        #同步图片
        self.testenvelope.passwd_envelope_image_sync_003()
        #编辑密码信封
        self.testenvelope.mode_passwd_envelope_004()
        #检验密码信封
        self.testenvelope.check_passwd_envelope_005()


    #后置条件
    def tearDown(self):
        self.comsuit.passwd_envelope_module_post_condition()
        initDriver().close_driver(self.browser)
class testDatabaseResourceSuite(unittest.TestCase):

	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.linuxresource = testLinuxResource(self.browser)
		self.database = testDatabaseResource(self.browser)
		self.account = testResourceAccount(self.browser)
		#添加数据库前置条件
		self.comsuit.database_resource_prefix_condition()

#		self.comsuit.login_and_switch_to_dep()
#		self.comsuit.switch_to_moudle(u"运维管理", u"资源")

	def test_database_resource(self):
		#------------------------------windows资源-----------------------------------
		# 添加database资源
		self.database.add_database_resource_001()
		# 编辑database资源
		self.database.edit_database_resource_002()
		# 校验database资源
		self.database.check_database_resource_003()	
		# 添加和编辑mysql资源账号
		self.account.add_edit_resource_account_001(_testDataPath.DATABASE_TEST_DATA_URL, "add_mysql_account")
		# 添加和编辑oracle资源账号
		self.account.add_edit_resource_account_001(_testDataPath.DATABASE_TEST_DATA_URL, "add_oracle_account")
		# 添加和编辑bs资源账号
		self.account.add_edit_resource_account_001(_testDataPath.DATABASE_TEST_DATA_URL, "add_bs_account")
		# 添加和编辑sql资源账号
		self.account.add_edit_resource_account_001(_testDataPath.DATABASE_TEST_DATA_URL, "add_sql_account")		
		#删除mysql资源账号
		self.account.del_resource_account_004(_testDataPath.DATABASE_TEST_DATA_URL, "del_mysql_account")
		#查询database资源
		self.linuxresource.query_resource_004(_testDataPath.DATABASE_TEST_DATA_URL, "query_database_resource")
		#删除mysql资源
		self.linuxresource.del_resource_005(_testDataPath.DATABASE_TEST_DATA_URL, "del_mysql_resource")
#		#删除db2资源
#		self.linuxresource.del_resource_005(_testDataPath.DATABASE_TEST_DATA_URL, "del_db2_resorce")
		#全选删除资源
		#self.linuxresource.bulkdel_resource_006()
		

	def tearDown(self):
		#数据库后置条件
		self.comsuit.database_resource_post_condition()
		initDriver().close_driver(self.browser)
    def setUp(self):
        self.browser = setDriver().set_driver()
        self.comsuit = CommonSuiteData(self.browser)
        self.testenvelope = testEnvelope(self.browser)

        #前置条件
        self.comsuit.passwd_envelope_module_prefix_condition()
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)        
     self.authMethod = testAuthMethod(self.browser)
     #认证方式前置条件
     self.commonSuite.auth_method_prefix_condition()
예제 #16
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)        
     self.systemLog = testSystemLog(self.browser)
     #配置审计前置条件
     self.commonSuite.system_log_prefix_condition()
예제 #17
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)        
     self.reportMethod = testConfReport(self.browser)
     #配置报表前置条件
     self.commonSuite.conf_report_module_prefix_condition()
예제 #18
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)        
     self.adMethod = testAdEx(self.browser)
     #AD域前置条件
     self.commonSuite.ad_module_prefix_condition()
예제 #19
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)   
     self.appMethod = testApp(self.browser)
     #应用发布前置条件
     self.commonSuite.application_module_prefix_condition()
예제 #20
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)        
     self.auditLog = testAuditLog(self.browser)
     #运维审计检索前置条件
     self.commonSuite.audit_log_prefix_condition()
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)
     self.pwdstr = PasswordStr(self.browser)
     self.initDriver = initDriver()
     #前置条件
     self.commonSuite.pwdstr_module_prefix_condition()
예제 #22
0
class testAuditLogSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)        
        self.auditLog = testAuditLog(self.browser)
        #运维审计检索前置条件
        self.commonSuite.audit_log_prefix_condition()
    
    def test_audit_log_query(self):
        #运维审计检索
        self.auditLog.Audit_log_query_001()

    def tearDown(self):
        #运维审计后置条件
        self.commonSuite.audit_log_post_condition()
        initDriver().close_driver(self.browser)
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)
     self.alarmCase = AlarmConfig(self.browser)
     self.initDriver = initDriver()
     #前置条件
     self.commonSuite.alarm_strategy_module_prefix_condition()
예제 #24
0
class testSystemLogSuite(unittest.TestCase):
    def setUp(self):
        #定义驱动
        self.browser = setDriver().set_driver()
        self.commonSuite = CommonSuiteData(self.browser)        
        self.systemLog = testSystemLog(self.browser)
        #配置审计前置条件
        self.commonSuite.system_log_prefix_condition()
    
    def test_system_log_query(self):
        #配置审计检索
        self.systemLog.system_log_query_001()

    def tearDown(self):
        #配置审计后置条件
        self.commonSuite.system_log_post_condition()
        initDriver().close_driver(self.browser)
예제 #25
0
 def setUp(self):
     
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)
     self.userElem = UserPage(self.browser)
     
     self.commonSuite.login_module_prefix_condition()
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)     
     self.ssoMethod = testSso(self.browser)
     #self.commonSuite.login_and_switch_to_common()
     #单点登录前置条件
     self.commonSuite.windows_sso_prefix_condition()
예제 #27
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)
     self.rout = RoutingConfiguration(self.browser)
     self.initDriver = initDriver()
     
     #前置条件
     self.commonSuite.routing_module_prefix_condition()
예제 #28
0
 def setUp(self):
     #定义驱动
     self.browser = setDriver().set_driver()
     self.commonSuite = CommonSuiteData(self.browser)
     self.sys = SyslogService(self.browser)
     self.initDriver = initDriver()
     
     #前置条件
     self.commonSuite.syslog_module_prefix_condition()
	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.comm = testCommand(self.browser)

		#命令规则前置条件
		self.comsuit.commandrule_module_prefix_condition()
예제 #30
0
	def setUp(self):
		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.timerule = testTime(self.browser)

		#时间规则前置条件
		self.comsuit.timerule_module_prefix_condition()
예제 #31
0
class testAccapproval(object):
    def __init__(self, driver):
        self.driver = driver
        self.log = log()
        self.data = dataFileName()
        self.cmf = commonFun(driver)
        self.acproval = Accapproval(driver)
        self.comsuit = CommonSuiteData(self.driver)
        self.loginElem = loginPage(self.driver)
        self.authElem = AuthorizationPage(self.driver)
        self.flow = Flowcontrol(self.driver)

    u'''获取测试数据
	   Parameters:
	      - sheetname:sheet名称
	   return:表格数据
	'''

    def get_accapproval_data(self, sheetname):
        dataFile = dataFileName()
        acpPath = dataFile.get_accapproval_test_data_url()
        acpData = dataFile.get_data(acpPath, sheetname)
        return acpData

    u'''添加访问审批'''

    def add_access_approvel_001(self):
        #日志开始记录
        self.log.log_start("add_access_approvel")
        #获取访问审批的数据
        acpData = self.get_accapproval_data("add_access_approvel")
        for dataRow in range(len(acpData)):
            data = acpData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    if dataRow == 1:
                        self.acproval.click_access_approval_button(data[2])
                        #设置开关状态
                        self.authElem.set_switch_on()
                    self.authElem.click_add_approval_level()
                    self.authElem.click_add_approval(data[3])
                    #添加审批人
                    self.authElem.set_select_user_search_button()
                    self.acproval.check_user(data[4])
                    self.authElem.set_ok_button()
                    #设置审批级别中的通过审批人个数
                    self.acproval.select_approval_num(data[3], data[5])
            except Exception as e:
                print("add_access_approvell fail: ") + str(e)

        self.log.log_detail(u"添加访问审批成功", True)
        #点击保存
        self.authElem.approval_save_button()
        self.cmf.click_login_msg_button()
        #点击返回
        self.authElem.approval_back_button()
        self.log.log_end("add_access_approvel")

    u'''访问审批通过流程控制拒绝审批'''

    def access_deny_approvel_002(self):

        self.cmf.select_role_by_text(u"运维操作员")
        #日志开始记录
        self.log.log_start("access_deny_approvel")
        #获取访问审批申请的数据
        appData = self.get_accapproval_data("access_approvel_sso")
        #获取访问审批审批的数据
        acpData = self.get_accapproval_data("deny_approvel")

        for dataRow in range(len(appData)):
            data = appData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.acproval.send_access_approval_applicant(data)
                    number = self.acproval.get_new_process_number()
                    self.loginElem.quit()
                    self.acproval.approval_by_approver(acpData, number)
            except Exception as e:
                print("access_deny_approvel fail: ") + str(e)
        self.log.log_end("access_deny_approvel")

    u'''访问审批通过流程控制同意审批'''

    def access_agree_approvel_003(self):

        self.comsuit.use_new_user_login()
        #日志开始记录
        self.log.log_start("access_agree_approvel")
        #获取访问审批申请的数据
        appData = self.get_accapproval_data("access_approvel_sso")
        #获取访问审批审批的数据
        acpData = self.get_accapproval_data("agree_approvel")

        for dataRow in range(len(appData)):
            data = appData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.acproval.send_access_approval_applicant(data)
                    number = self.acproval.get_new_process_number()
                    self.loginElem.quit()
                    self.acproval.approval_by_approver(acpData, number)
            except Exception as e:
                print("access_agree_approvel fail: ") + str(e)
        self.log.log_end("access_agree_approvel")

    u'''紧急运维通过流程控制拒绝审批'''

    def urgent_deny_approvel_004(self):

        self.comsuit.use_new_user_login()
        #日志开始记录
        self.log.log_start("urgent_deny_approvel")
        #获取访问审批申请的数据
        appData = self.get_accapproval_data("urgent_approvel")
        #获取访问审批审批的数据
        acpData = self.get_accapproval_data("deny_approvel")

        for dataRow in range(len(appData)):
            data = appData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.acproval.send_urgent_operation_applicant(data)
                    number = self.acproval.get_new_process_number()
                    self.loginElem.quit()
                    self.acproval.approval_by_approver(acpData, number)
            except Exception as e:
                print("urgent_deny_approvel fail: ") + str(e)
        self.log.log_end("urgent_deny_approvel")

    u'''紧急运维通过流程控制同意审批'''

    def urgent_agree_approvel_005(self):

        self.comsuit.use_new_user_login()
        #日志开始记录
        self.log.log_start("urgent_agree_approvel")
        #获取访问审批申请的数据
        appData = self.get_accapproval_data("urgent_approvel")
        #获取访问审批审批的数据
        acpData = self.get_accapproval_data("agree_urgent")

        for dataRow in range(len(appData)):
            data = appData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.acproval.send_urgent_operation_applicant(data)
                    number = self.acproval.get_new_process_number()
                    self.loginElem.quit()
                    self.acproval.approval_by_approver(acpData, number)
            except Exception as e:
                print("urgent_agree_approvel fail: ") + str(e)
        self.log.log_end("urgent_agree_approvel")

    u'''访问审批流程任务查询'''

    def access_query_process_task_006(self):
        #日志开始记录
        self.log.log_start("access_query_process_task")
        #获取流程任务查询的数据
        taskData = self.get_accapproval_data("process_task")

        for dataRow in range(len(taskData)):
            data = taskData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    if dataRow == 1:
                        self.acproval.user_login(data[1])
                    self.flow.query_process_task(data)
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("access_query_process_task fail: ") + str(e)
        self.log.log_end("access_query_process_task")

    u'''访问审批个人历史查询'''

    def access_query_personal_history_007(self):
        #日志开始记录
        self.log.log_start("access_query_personal_history")
        #获取个人历史查询的数据
        perData = self.get_accapproval_data("personal_history")

        for dataRow in range(len(perData)):
            data = perData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.flow.query_personal_history(data)
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("access_query_personal_history fail: ") + str(e)
        self.loginElem.quit()
        self.log.log_end("access_query_personal_history")

    u'''访问审批申请历史查询'''

    def access_query_apply_history_008(self):
        self.comsuit.use_new_user_login()
        #日志开始记录
        self.log.log_start("access_query_apply_history")
        #获取申请历史查询的数据
        applyData = self.get_accapproval_data("apply_history")

        for dataRow in range(len(applyData)):
            data = applyData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.flow.query_apply_history(data)
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("access_query_apply_history fail: ") + str(e)
        self.log.log_end("access_query_apply_history")

    u'''访问审批全部历史查询'''

    def access_query_all_history_009(self):
        self.comsuit.dep_switch_to_sys()
        #日志开始记录
        self.log.log_start("access_query_all_history")
        #获取全部历史查询的数据
        allData = self.get_accapproval_data("all_history")

        for dataRow in range(len(allData)):
            data = allData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.flow.query_all_history(data)
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("access_query_all_history fail: ") + str(e)
        self.log.log_end("access_query_all_history")

    u'''访问审批部门历史查询'''

    def access_query_department_history_010(self):
        self.comsuit.sys_switch_to_dep()
        #日志开始记录
        self.log.log_start("access_query_department_history")
        #获取流程任务查询的数据
        deprtData = self.get_accapproval_data("department_history")

        for dataRow in range(len(deprtData)):
            data = deprtData[dataRow]
            try:
                #如果不是第1行,读取数据
                if dataRow != 0:
                    self.flow.query_department_history(data)
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("access_query_department_history fail: ") + str(e)
        self.log.log_end("access_query_department_history")
예제 #32
0
class testRetime(object):
    def __init__(self, driver):
        self.driver = driver
        self.log = log()
        self.cmf = commonFun(driver)
        self.frameElem = frameElement(driver)
        self.testrole = testRole(driver)
        self.command = CommandRule(driver)
        self.comsuit = CommonSuiteData(driver)
        self.timerule = TimeRule(driver)
        self.retime = RetimeRule(driver)

    u'''获取测试数据
		Parameters:
			- sheetname:sheet名称
		return:表格数据
	'''

    def get_table_data(self, sheetname):
        dataFile = dataFileName()
        retrulePath = dataFile.get_retime_test_data_url()
        retruleData = dataFile.get_data(retrulePath, sheetname)
        return retruleData

    u'''添加资源时间规则'''

    def add_retime_rule_001(self):

        #日志开始记录
        self.log.log_start("add_retime_rule")
        #获取添加资源时间规则测试数据
        retruleData = self.get_table_data("add_retime_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.command.click_add_button()
                    if dataRow == 3:
                        self.retime.click_running_state()
                    self.timerule.start_date(data[2])
                    self.timerule.date_of_termination(data[4], data[5])
                    self.retime.set_month_start_time(data[6])
                    self.retime.set_month_end_time(data[7])
                    self.retime.set_week_start_time(data[8])
                    self.retime.set_week_end_time(data[9])
                    self.retime.set_day_start_time(data[10])
                    self.retime.set_day_end_time(data[11])
                    self.retime.select_action(data[12])
                    self.command.click_add_users_button()
                    self.command.check_all_user()
                    self.command.click_add_resource_button()
                    self.retime.check_resource(data[13])
                    self.retime.click_save_retime()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
                    self.command.click_back_command()
            except Exception as e:
                print("add_retime_rule fail:" + str(e))
        self.log.log_end("add_retime_rule")

    u'''编辑资源时间规则'''

    def mod_retime_rule_002(self):

        #日志开始记录
        self.log.log_start("mod_retime_rule")
        #获取编辑资源时间规则测试数据
        retruleData = self.get_table_data("mod_retime_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.retime.click_option_method(data[2], data[3])
                    self.retime.select_action(data[4])
                    self.retime.click_save_retime()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
                    self.command.click_back_command()
            except Exception as e:
                print("mod_retime_rule fail:" + str(e))

        self.log.log_end("mod_retime_rule")

    u'''资源时间规则结果'''

    def add_retime_rule_result_003(self):
        self.frameElem.from_frame_to_otherFrame("topFrame")
        self.cmf.select_role_by_text(u"运维操作员")
        #日志开始记录
        self.log.log_start("add_retime_rule_result")
        #获取资源时间审批测试数据
        retruleData = self.get_table_data("add_retime_rule_result")
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.retime.check_resource_time_rule(data)
            except Exception as e:
                print("add_retime_rule_result fail:" + str(e))
        self.log.log_end("add_retime_rule_result")

    u'''操作资源时间规则'''

    def option_retime_rule_004(self):
        self.comsuit.sys_switch_to_dep()
        self.comsuit.switch_to_moudle(u"运维管理", u"规则定义")
        self.command.click_left_rule(3)

        #日志开始记录
        self.log.log_start("option_retime_rule")
        #获取操作资源时间规则测试数据
        retruleData = self.get_table_data("option_retime_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    if dataRow == 1:
                        self.retime.click_bulkdel_retime()
                    elif dataRow == 2 or dataRow == 3:
                        self.retime.click_option_method(data[2], data[3])
                    elif dataRow == 4 or dataRow == 5:
                        time.sleep(5)
                        self.retime.click_option_method(data[2], data[3])
                        self.command.set_row_command(data[4])
                        self.command.check_sure_button()
                        self.frameElem.switch_to_content()
                        self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                      flag)
                        time.sleep(3)
                        self.command.click_cancel_button()
                        continue
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
            except Exception as e:
                print("option_retime_rule fail:" + str(e))

        self.log.log_end("option_retime_rule")

    u'''校验资源时间规则'''

    def check_retime_rule_005(self):

        #日志开始记录
        self.log.log_start("check_retime_rule")
        #获取校验资源时间规则测试数据
        retruleData = self.get_table_data("check_retime_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()
        self.command.click_add_button()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    if 2 <= dataRow <= 4:
                        if dataRow != 4:
                            self.timerule.start_date(data[2], data[3])
                        else:
                            self.timerule.start_date(data[2])
                        if dataRow != 2:
                            self.timerule.date_of_termination(data[4], data[5])
                    elif 5 <= dataRow <= 11:
                        if dataRow == 5:
                            self.timerule.date_of_termination(data[4], data[5])
                        self.retime.set_month_start_time(data[6])
                        self.retime.set_month_end_time(data[7])
                        if dataRow == 11:
                            self.retime.set_day_start_time(data[8])
                    elif 12 <= dataRow <= 17:
                        self.retime.set_day_start_time(data[8])
                        self.retime.set_day_end_time(data[9])
                    elif dataRow == 18:
                        self.command.click_add_users_button()
                        self.command.check_all_user()
                    self.retime.click_save_retime()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
            except Exception as e:
                print("check_retime_rule fail:" + str(e))

        self.command.click_back_command()
        self.log.log_end("check_retime_rule")

    u'''删除资源时间规则'''

    def del_retime_rule_006(self):
        #日志开始记录
        self.log.log_start("del_retime_rule")
        #获取删除资源时间规则测试数据
        retruleData = self.get_table_data("del_retime_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(retruleData)):
            data = retruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.retime.click_option_method(data[2], data[3])
                    self.retime.click_bulkdel_retime()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
                    self.cmf.click_login_msg_button()
            except Exception as e:
                print("del_retime_rule fail:" + str(e))
        self.log.log_end("del_retime_rule")
예제 #33
0
class testLogin(object):
    
    def __init__(self,driver):
        self.driver = driver
        self.log = log()
        self.loginFun = loginPage(self.driver)
        self.cmf = commonFun(self.driver)
        self.dataFile = dataFileName()
        self.userElem = UserPage(self.driver)
        self.commonSuite = CommonSuiteData(self.driver)

    u'''获取测试数据
    	Parameters:
    		- sheetname:sheet名称
    		return:表格数据
    '''
    def get_table_data(self,sheetname):
    	filePath = self.dataFile.get_login_test_data_url()
    	loginData = self.dataFile.get_data(filePath,sheetname)
    	return loginData
    	
    u'''登陆的div弹窗的xpath'''
    def login_msg(self):
    	login_msg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div"
    	return login_msg
    
    u'''根据访问方式类型登录测试
            parameters:
                sheetname : 表单名称
    '''
    def login_type(self,sheetname):
        loginMes = self.login_msg()
        loginData = self.get_table_data(sheetname)
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(loginData)):
            #把单行的数据赋值给列表data
            data = loginData[dataRow]
            
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(3)
                    if sheetname == 'default':
                        if dataRow == 4:
                            time.sleep(2)
                            self.commonSuite.login_and_switch_to_sys()
                            self.commonSuite.switch_to_moudle(u"运维管理",u"用户")
                            time.sleep(2)
                            self.userElem.change_user_status_on("gyrlogin2")
                            self.commonSuite.user_quit()
                        self.loginFun.login(data)
#                           if dataRow == 1:
#                               loginFun.set_max_login_count()
                    elif sheetname == 'ad':
                        self.loginFun.ad_login(data)
                    elif sheetname == 'pwd_ad':
                        self.loginFun.ad_pwd_login(data)
                    elif sheetname == 'radius':
                        self.loginFun.radius_pwd_login(data)
                        
                        #如果登陆成功,点击退出
                    if self.loginFun.is_login_success():
                        self.loginFun.quit()
                        #设定没有检查点的测试项通过
                        flag = True
                        
                    self.cmf.test_win_check_point("xpath",loginMes,data,flag)
                    
                    #清空标识状态
                    flag = False
                    
            except Exception as e: 
                print ("User login fail: ") + str(e)
                #self.log.print_detail("login type error",e)

    #登陆测试
    def login(self):
        self.log.log_start("login")
        u'''可以循环设定数据测试系统登录'''
        sheets_name = ['default','ad','pwd_ad','radius']#'default','ad','pwd_ad','radius'
        for sheetname in sheets_name:
            time.sleep(3)
            self.login_type(sheetname)
        self.log.log_end("login")
        
        
#if __name__ == "__main__":#internet explorer
#    browser = setDriver().set_driver()
#    testLogin = testLogin(browser)
#    testLogin.login()

    
    '''
    lists = jsonTranscoding().set_brower()
    threads = []
    
    def execute_case(host,brower):
        driver = initDriver().remote_open_driver(host,brower)
        testLogin(driver).login()
        initDriver().close_driver(driver)
        
    for host,brower in lists.items():
        th = Thread(target=execute_case,args=(host,brower))
        th.start()
        threads.append(th)
            
    for th in threads:
        th.join()
    '''
        

    
    

        
        
예제 #34
0
class ServiceNtp():
    def __init__(self,driver):
        self.driver = driver
        self.dataFile = dataFileName()
        self.frameElem = frameElement(driver)
        self.cmf = commonFun(driver)
        self.log = log()
        self.ntp = NtpService(driver)
        self.comm = CommonSuiteData(driver)
        
    u'''获取测试数据
        Parameters:
            sheetname:sheet名称
            return:表格数据
    '''
    def get_table_data(self,sheetname):
        dataFile = dataFileName()
        filePath = dataFile.get_ntp_test_data_url()
        fileData = dataFile.get_data(filePath,sheetname)
        return fileData

    u'''提示框元素路径'''
    def ntp_msg(self):
        ntp_msg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div"
        return ntp_msg
    
    u'''校验没有弹出框类型用例是否通过
        parameters: 
            data : 检查点
    '''
    def check_without_pop_up(self,data):
        content = self.ntp.get_element_content()
        if content.find(data[1]) == -1:
            self.log.log_detail(data[0],False)
        else:
            self.log.log_detail(data[0],True)

    u'''编辑服务器IP与周期'''
    def edit_ntp_001(self):
        #日志开始记录
        self.log.log_start("editNtp")
        #获取编辑服务器IP与周期的数据
        ntp_data = self.get_table_data("mod_ntp")
        #点击保存按钮弹出框
        ntp_msg = self.ntp_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(ntp_data)):
            data = ntp_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("rigthFrame")
                    self.ntp.server_ip(data[2])
                    #自动与时间同步服务器
                    self.ntp.check_time_server()
                    self.ntp.set_cycle_date(data[3])
                    self.ntp.set_cycle_time(data[4])
                    self.ntp.save_button()
                    #返回上级frame
                    self.frameElem.switch_to_content()
                    #判断测试项是否通过
                    self.cmf.test_win_check_point("xpath", ntp_msg, data, flag)
            except Exception as e:
                print ("edit ntp fail: ") + str(e)
        self.log.log_end("editNtp")
        
    u'''校验服务器IP'''
    def check_ntp_002(self):
        #日志开始记录
        self.log.log_start("checkNtp")
        #获取校验服务器IP的数据
        ntp_data = self.get_table_data("check_ntp")
        #点击保存按钮弹出框
        ntp_msg = self.ntp_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(ntp_data)):
            data = ntp_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("rigthFrame")
                    self.ntp.server_ip(data[2])
                    self.ntp.save_button()
                    #返回上级frame
                    self.frameElem.switch_to_content()
                    #判断测试项是否通过
                    self.cmf.test_win_check_point("xpath", ntp_msg, data, flag)
                    #清空标识状态
                    flag = False                    
            except Exception as e:
                print ("check ntp fail:") + str(e)
        self.log.log_end("checkNtp")    
        
    u'''更新时间'''
    def update_ntp_003(self):
        #日志开始记录
        self.log.log_start("updateNtp")
        #获取更新时间的数据
        ntp_data = self.get_table_data("update_ntp")
        row_count = len(ntp_data)-1
        for dataRow in range(len(ntp_data)):
            data = ntp_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("rigthFrame")
                    self.ntp.server_ip(data[2])
                    if dataRow != row_count:
                        self.ntp.set_cycle_date(data[3])
                        self.ntp.set_cycle_time(data[4])
                    else:
                        #自动与时间同步服务器
                        self.ntp.check_time_server()                       
                    self.ntp.save_button()
                    #点击确定按钮
                    self.ntp.click_msg_button()
                    #更新时间
                    self.ntp.updata_button()
                    #用户退出
                    self.comm.user_quit()
                    #用户登录
                    self.comm.login_sysadmin()
                    self.cmf.select_menu(u"系统配置", u"关联服务")
                    #判断测试项是否通过
                    self.check_without_pop_up(data)
            except Exception as e:
                print ("update ntp fail: ") + str(e)
        self.log.log_end("updateNtp")
예제 #35
0
class testRoleSuite(unittest.TestCase):

	def setUp(self):

		#调用驱动
		self.browser = setDriver().set_driver()

		self.comsuit = CommonSuiteData(self.browser)
		self.cmf = commonFun(self.browser)
		self.testrole = testRole(self.browser)
		self.testmutex = testMutex(self.browser)

		#角色前置条件
		self.comsuit.role_module_prefix_condition()

	def test_role(self):

		# u'''添加系统级角色'''
		self.testrole.add_sysrole_001()
		u'''添加部门管理员'''
		self.testrole.add_dptrole_002()
		u'''编辑系统管理员'''
		self.testrole.edit_role_003()
		u'''角色查询'''
		self.testrole.role_query_008()
		u'''切换到角色互斥定义页面'''
		self.cmf.select_menu(u"角色管理", u"角色互斥定义")
		u'''添加互斥角色'''
		self.testmutex.add_mutex_role_001()
		u'''校验添加互斥角色后用户添加角色'''
		self.testmutex.check_addmutex_user_addrole_002()
		u'''校验添加互斥角色后用户编辑中的添加角色'''
		self.testmutex.check_addmutex_user_editrole_003()
		u'''编辑互斥角色'''
		self.testmutex.edit_mutex_role_004()
		u'''校验编辑互斥角色后用户添加角色'''
		self.testmutex.check_editmutex_user_addrole_005()
		u'''校验编辑互斥角色后用户编辑中的添加角色'''
		self.testmutex.check_editmutex_user_editrole_006()
		u'''删除角色互斥'''
		self.testmutex.del_mutex_role_007()
		u'''校验角色互斥'''
		self.testmutex.check_mutex_role_008()
		u'''编辑可管理角色'''
		self.testrole.edit_managerole_004()
		u'''校验其他权限选择'''
		self.testrole.check_other_role()
		u'''编辑其他权限'''
		self.testrole.edit_otherrole_005()
		u'''校验角色名称和没有选择菜单项'''
		self.testrole.check_rolename()
		u'''检验名称简写'''
		self.testrole.check_shortname()
		u'''校验批量删除'''
		self.testrole.check_bulkdel()
		u'''删除角色'''
		self.testrole.del_role_006()

	def tearDown(self):
		#角色后置条件
		self.comsuit.role_module_post_condition()

		initDriver().close_driver(self.browser)
예제 #36
0
class testSso():
    def __init__(self, driver):
        self.driver = driver
        self.log = log()
        self.cmf = commonFun(driver)
        self.getElem = getElement(driver)
        self.cnEnde = cnEncode()
        self.ssoElem = SsoPage(self.driver)
        self.tableElem = tableElement(self.driver)
        self.selectElem = selectElement(driver)
        self.dataFile = dataFileName()
        self.frameElem = frameElement(self.driver)
        self.commSuite = CommonSuiteData(self.driver)

    u'''获取测试数据
		Parameters:
			- sheetname:sheet名称
			return:表格数据
	'''

    def get_table_data(self, sheetname):
        dataFile = dataFileName()
        filePath = dataFile.get_sso_test_url()
        ssoFileData = dataFile.get_data(filePath, sheetname)
        return ssoFileData

    u'''命令单点登录通用部分'''

    def sso_common_func(self, data):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.ssoElem.select_account(data[2], data[3])
        self.ssoElem.select_sso_icon(data[2], data[4])
        if data[5] != "":
            self.ssoElem.select_protocol(data[5])
        #self.ssoElem.execute_chrome_key()
        self.ssoElem.choice_browser(data[4], data[6], data[7], data[8])
        #self.ssoElem.refresh_windows()
        #判断测试项是否通过
        self.log.log_detail(data[0], True)
        #清空标识状态
        flag = False

    u'''windows资源单点登录通用部分'''

    def windows_common_func(self, data):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.ssoElem.select_account(data[2], data[3])
        self.ssoElem.select_sso_icon(data[2], data[4])
        if data[3] == "$user" or data[3] == "$user(local)":
            self.ssoElem.set_mstsc_account(data[9])
            self.ssoElem.set_mstsc_pwd(data[10])
            self.cmf.click_login_msg_button()
        self.ssoElem.choice_browser(data[4], data[6], data[7], data[8])

        #判断测试项是否通过
        self.log.log_detail(data[0], True)
        time.sleep(4)

    u'''cisco资源单点登录'''

    def cisco_sso_login_001(self):
        #日志开始记录
        self.log.log_start("ssoLogin")
        #获取单点登录的数据
        sso_data = self.get_table_data("sso")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                #if dataRow == 2:
                if 0 < dataRow <= 4:
                    self.sso_common_func(data)
            except Exception as e:
                print("Cisco SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("CiscossoLogin")

    u'''cisco匿名单点登录'''

    def cisco_niming_sso_login_002(self):
        #日志开始记录
        self.log.log_start("nimingssoLogin")
        #获取单点登录的数据
        sso_data = self.get_table_data("sso")
        #self.commSuite.sso_user_login(8)
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if 4 < dataRow <= 6:
                    self.sso_common_func(data)
            except Exception as e:
                print("niming SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("nimingssoLogin")

    u'''华为资源单点登录'''

    def huawei_sso_login_003(self):
        #日志开始记录
        self.log.log_start("huaweissoLogin")
        #self.commSuite.sso_user_login(9)
        #无检查点的测试项标识,如果为True说明通过
        sso_data = self.get_table_data("sso")
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if 6 < dataRow <= 10:
                    self.sso_common_func(data)
            except Exception as e:
                print("hauwei SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("huaweissoLogin")

    u'''linux资源单点登录'''

    def debian_sso_login_004(self):
        #日志开始记录
        self.log.log_start("debianssoLogin")
        #self.commSuite.sso_user_login(10)
        sso_data = self.get_table_data("sso")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if 11 <= dataRow <= 16:
                    self.sso_common_func(data)
            except Exception as e:
                print("debian SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("debianssoLogin")

    u'''windowsRdp单点登录'''

    def windows_sso_login_005(self):
        #日志开始记录
        self.log.log_start("windowsssoLogin")
        #self.commSuite.sso_user_login(11)
        sso_data = self.get_table_data("windows_sso")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.windows_common_func(data)
            except Exception as e:
                print("Windows SSO login fail: ") + str(e)
        self.commSuite.user_quit()
        self.log.log_end("WindowsssoLogin")

    u'''domain资源单点登录'''

    def domain_sso_login_006(self):
        #日志开始记录
        self.log.log_start("DomainssoLogin")
        self.commSuite.sso_user_ad_login(42)
        sso_data = self.get_table_data("domain_sso")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.windows_common_func(data)
            except Exception as e:
                print("Domain SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("DomainssoLogin")

    u'''域内资源单点登录'''

    def yunei_sso_login_007(self):
        #日志开始记录
        self.log.log_start("yuneissoLogin")
        #self.commSuite.sso_user_ad_login(13)
        sso_data = self.get_table_data("yunei_sso")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(sso_data)):
            data = sso_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.windows_common_func(data)
            except Exception as e:
                print("yunei SSO login fail: ") + str(e)
        #self.commSuite.user_quit()
        self.log.log_end("yuneissoLogin")


#if __name__ == "__main__":
#	browser = setDriver().set_local_driver()
#
#	commonSuite = CommonSuiteData(browser)
#commonSuite.sso_prefix_condition()
#commonSuite.sso_post_condition()
#	#commonSuite.login_and_switch_to_common()
#
#	ssoTest = testSso(browser)
#	ssoTest.cisco_sso_login_001()
#	ssoTest.cisco_niming_sso_login_002()
#	ssoTest.huawei_sso_login_003()
#	#ssoTest.debian_sso_login_004()
#	ssoTest.windows_sso_login_005()
#ssoTest.domain_sso_login_006()
예제 #37
0
class Backuprestore(object):
    def __init__(self, driver):
        self.driver = driver
        self.getElem = getElement(driver)
        self.selectElem = selectElement(driver)
        self.frameElem = frameElement(driver)
        self.cmf = commonFun(driver)
        self.cnEn = cnEncode()
        self.comsuit = CommonSuiteData(self.driver)
        self.command = CommandRule(self.driver)
        self.tableElem = tableElement(driver)
        self.log = log()
        self.userElem = UserPage(self.driver)
        self.role = Role(driver)

    u'''点击自动备份开关'''

    def auto_backup_switch(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "btn_qh")

    u'''勾选系统配置'''

    def check_sys_config(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        values = self.check_common()
        if values[0] == None:
            self.getElem.find_element_wait_and_click_EC("id", "configBackUp")
        if values[1] != None:
            self.getElem.find_element_wait_and_click_EC("id", "databaseBackUp")

    u'''勾选实体配置'''

    def check_entity_config(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        values = self.check_common()
        if values[0] != None:
            self.getElem.find_element_wait_and_click_EC("id", "configBackUp")
        if values[1] == None:
            self.getElem.find_element_wait_and_click_EC("id", "databaseBackUp")

    u'''勾选实体配置和系统配置'''

    def check_all_config(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        values = self.check_common()
        if values[0] == None:
            self.getElem.find_element_wait_and_click_EC("id", "configBackUp")
        if values[1] == None:
            self.getElem.find_element_wait_and_click_EC("id", "databaseBackUp")

    u'''勾选实体或者系统配置公共方法'''

    def check_common(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC("id", "configBackUp")
        value = selem.get_attribute('checked')
        selemdb = self.getElem.find_element_with_wait_EC(
            "id", "databaseBackUp")
        valuedb = selemdb.get_attribute('checked')
        list = [value, valuedb]
        return list

    u'''勾选实体或者系统配置
		parameter:
			- stauts:勾选配置信息1代表系统配置2代表实体配置,3代表系统配置和实体配置
	'''

    def check_config(self, stauts):
        staut = self.cnEn.is_float(stauts)
        if staut == '1':
            self.check_sys_config()
        elif staut == '2':
            self.check_entity_config()
        else:
            self.check_all_config()

    u'''选择备份方式
		parameter:
			- stauts:value属性值,1代表一次性执行,2代表周期性执行
	'''

    def select_backup_mode(self, stauts):
        staut = self.cnEn.is_float(stauts)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC("id", "backUpType")
        self.selectElem.select_element_by_value(selem, staut)

    u'''选择执行小时
		parameter:
			- stauts:value属性值
	'''

    def select_hour(self, stauts):
        staut = self.cnEn.is_float(stauts)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC("id", "startHour")
        self.selectElem.select_element_by_value(selem, staut)

    u'''填写分钟
		parameter:
			- minute:分钟
	'''

    def set_minute(self, minute):
        minu = self.cnEn.is_float(minute)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "startMinute")
        self.getElem.find_element_wait_and_sendkeys("id", "startMinute", minu)

    u'''选择执行方式
		parameter:
			- staut:0代表按天,1代表按周,2代表按月,3代表按年
	'''

    def select_execu_mode(self, staut):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        if staut == 0:
            self.getElem.find_element_wait_and_click_EC("id", "dayradio")
        elif staut == 1:
            self.getElem.find_element_wait_and_click_EC("id", "weekradio")
        elif staut == 2:
            self.getElem.find_element_wait_and_click_EC("id", "monthRadio")
        else:
            self.getElem.find_element_wait_and_click_EC("id", "yearRadio")

    u'''选择存储位置
		parameter:
			- stauts:value属性值1代表本地备份2代表ftp备份
	'''

    def select_storage_location(self, stauts):
        staut = self.cnEn.is_float(stauts)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC("id", "backUpLocation")
        self.selectElem.select_element_by_value(selem, staut)

    u'''填写远程路径
		parameter:
			- path:远程路径
	'''

    def set_remote_path(self, path):
        pat = self.cnEn.is_float(path)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "path")
        self.getElem.find_element_wait_and_sendkeys("id", "path", pat)

    u'''填写服务器IP
		parameter:
			- ip:服务器IP
	'''

    def set_ftpip(self, ip):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "ip")
        self.getElem.find_element_wait_and_sendkeys("id", "ip", ip)

    u'''填写连接用户名
		parameter:
			- minute:连接用户名
	'''

    def set_name(self, name):
        nam = self.cnEn.is_float(name)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "username")
        self.getElem.find_element_wait_and_sendkeys("id", "username", nam)

    u'''填写连接口令
		parameter:
			- password:连接口令
	'''

    def set_password(self, password):
        pwd = self.cnEn.is_float(password)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "password")
        self.getElem.find_element_wait_and_sendkeys("id", "password", pwd)

    u'''填写确认口令
		parameter:
			- minute:分钟
	'''

    def set_password_again(self, password):
        pwd = self.cnEn.is_float(password)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "passwordAgain")
        self.getElem.find_element_wait_and_sendkeys("id", "passwordAgain", pwd)

    u'''点击立刻备份'''

    def click_backup_immediately(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "back_up_now")

    u'''点击保存'''

    def click_save(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "back_up_save")

    u'''选择系统备份还原或者查看备份文件
		parameter:
			- staut:0代表系统备份还原,1代表查看备份文件
	'''

    def select_backup_menu(self, staut):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        if staut == 0:
            self.getElem.find_element_wait_and_click_EC("id", "tit1")
        elif staut == 1:
            self.getElem.find_element_wait_and_click_EC("id", "tit2")

    u'''点击操作列操作
		Parameters:
			- filename:文件名称
			- value:1代表下载,2代表删除,3代表还原
	'''

    def click_operat_file(self, filename, value):

        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        row = 1
        selems = self.driver.find_elements_by_name("file")
        for selem in selems:
            idvalue = selem.get_attribute('id')
            row = row + 1
            if idvalue == filename:
                xpath = ".//*[@id='content_rt02']/div/table/tbody/tr[" + str(
                    row) + "]/td[7]/input[" + str(value) + "]"
        self.getElem.find_element_wait_and_click_EC("xpath", xpath)
        time.sleep(1)

    u'''下载上传完成后点击操作列操作
		Parameters:
			- filename:文件名称
			- value:1代表下载,2代表删除,3代表还原
	'''

    def upload_click_operat_file(self, filename, value):

        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        row = 1
        filenames = "" + filename[:-6] + "" + filename + ""
        selems = self.driver.find_elements_by_name("file")
        for selem in selems:
            idvalue = selem.get_attribute('id')
            row = row + 1
            if idvalue == filename or idvalue == filenames:
                xpath = ".//*[@id='content_rt02']/div/table/tbody/tr[" + str(
                    row) + "]/td[7]/input[" + str(value) + "]"
        self.getElem.find_element_wait_and_click_EC("xpath", xpath)
        time.sleep(1)

    u'''点击还原系统配置'''

    def click_restore_sys_config(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "deleConfig1")

    u'''点击清空数据库'''

    def click_reset_database(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "resetDataBase1")

    u'''点击清空数据库'''

    def click_reset_audit(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "delAuditFile1")

    u'''填写syslogip
		parameter:
			- syslogip:syslogip
	'''

    def set_syslogip(self, syslogip):
        ip = self.cnEn.is_float(syslogip)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "host")
        self.getElem.find_element_wait_and_sendkeys("id", "host", ip)

    u'''填写syslog端口
		parameter:
			- port:syslog端口
	'''

    def set_port(self, port):
        sysport = self.cnEn.is_float(port)
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_clear_EC("id", "port")
        self.getElem.find_element_wait_and_sendkeys("id", "port", sysport)

    u'''点击syslog保存'''

    def click_syslog_save(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        self.getElem.find_element_wait_and_click_EC("id", "save_syslog")

    u'''获取syslogip值'''

    def get_syslog_port(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC("id", "port")
        value = selem.get_attribute("value")
        return value

    u'''获取文件名称'''

    def get_file_name(self):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        selem = self.getElem.find_element_with_wait_EC(
            "xpath", ".//*[@id='content_rt02']/div/table/tbody/tr[2]")
        value = selem.get_attribute('id')
        return value

    u'''编辑syslog
		parameter:
			- ip:syslogip
			- port:端口
	'''

    def set_syslog(self, port, ip='no'):
        self.comsuit.switch_to_moudle(u'系统配置', u'关联服务')
        self.command.click_left_rule(1)
        if ip != 'no':
            self.set_syslogip(ip)
        self.set_port(port)
        self.click_syslog_save()
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)

    u'''检验syslog端口是否为备份之前信息
		parameter:
			- port:端口
			- checklog:检验信息
	'''

    def check_syslog_content(self, port, checklog):
        self.comsuit.switch_to_moudle(u'系统配置', u'关联服务')
        self.command.click_left_rule(1)
        elemText = self.get_syslog_port()
        strdata3 = self.cnEn.is_float(port)
        if elemText == strdata3:
            self.log.log_detail(checklog, True)
        else:
            self.log.log_detail(checklog, False)

    u'''校验用户或者角色信息
		Parameters:
			- namevalue:传入的要被查询名称
			- name:表格列的name属性
			- checklog:日志信息
		return:定位该名称位于第几行
	'''

    def check_content(self, namevalue, name, checklog):
        row = self.cmf.find_row_by_name(namevalue, name)
        if row != 0:
            self.log.log_detail(checklog, True)
        else:
            self.log.log_detail(checklog, False)

    u'''填写用户信息
		parameters:
			account : 用户账号
			name : 用户名称
			pwd : 用户密码
			agpwd : 确认密码
	'''

    def set_user_info(self, account, name, pwd, agpwd):
        self.comsuit.switch_to_moudle(u"运维管理", u"用户")
        self.frameElem.from_frame_to_otherFrame("mainFrame")
        self.userElem.add_button()
        self.userElem.set_user_account(account)
        self.userElem.set_user_name(name)
        self.userElem.set_user_pwd(pwd)
        self.userElem.set_user_enquire_pwd(agpwd)
        self.userElem.save_button()
        self.frameElem.switch_to_content()
        self.cmf.click_login_msg_button()

    u'''点击用户操作列对应的删除按钮
		parameters:
			- account : 用户账号
	'''

    def del_user_info(self, account):
        self.comsuit.switch_to_moudle(u"运维管理", u"用户")
        self.frameElem.from_frame_to_otherFrame("mainFrame")
        self.userElem.operate_delete(account)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)

    u'''点击备份还原配置文件的删除
		parameters:
			- filename : 文件名称
			- loginfo : 日志信息
	'''

    def del_backup_file(self, filename, loginfo):
        self.click_operat_file(filename, 2)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)
        time.sleep(1)
        self.log.log_detail(loginfo, True)

    u'''点击角色操作列对应的删除按钮
		parameters:
			- rolename : 角色名称
	'''

    def del_role_info(self, rolename):
        self.comsuit.switch_to_moudle(u"角色管理", u"角色定义")
        self.frameElem.from_frame_to_otherFrame("mainFrame")
        self.role.delete(rolename)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)

    u'''执行还原操作
		parameters:
			- filename :执行还原的文件名称
			- loginfo :日志信息
			- stauts :状态1代表执行操作列按钮2代表进行上传后操作列按钮
	'''

    def execute_restore(self, filename, loginfo, stauts=1):
        self.comsuit.switch_to_moudle(u'系统配置', u'备份还原')
        self.command.click_left_rule(0)
        self.select_backup_menu(1)
        if stauts == 1:
            self.click_operat_file(filename, 3)
        elif stauts == 2:
            self.upload_click_operat_file(filename, 3)
        time.sleep(5)
        self.frameElem.switch_to_content()
        self.getElem.find_element_with_wait_EC("classname",
                                               "aui_state_highlight")
        time.sleep(3)
        self.cmf.click_msg_button(1)
        self.log.log_detail(loginfo, True)

    u'''配置备份信息
		parameters:
			- data :数据文件集
			- backMsg :保存成功的弹出框信息
			- flag :无检查点的测试项标识,如果为True说明通过
	'''

    def config_backup(self, data, backMsg, flag):
        self.comsuit.switch_to_moudle(u'系统配置', u'备份还原')
        self.command.click_left_rule(0)
        self.check_config(data[12])
        self.select_backup_mode(data[4])
        self.backup_time(data[5], data[6])
        self.select_storage_location(data[7])
        self.click_save()
        time.sleep(3)
        self.frameElem.switch_to_content()
        self.cmf.test_win_check_point("xpath", backMsg, data, flag)
        self.click_backup_immediately()
        time.sleep(2)
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)
        self.log.log_detail(data[9], True)
        self.select_backup_menu(1)

    u'''填写角色信息
		Parameters:
			- rolename :角色名称
			- shortname :名称简写
	'''

    def set_role_info(self, rolename, shortname):
        self.comsuit.switch_to_moudle(u"角色管理", u"角色定义")
        self.frameElem.from_frame_to_otherFrame("mainFrame")
        self.role.add()
        self.role.edit_rolename(rolename)
        self.role.edit_shortname(shortname)
        self.role.select_sysrole()
        self.role.save_button()
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)

    u'''执行日期
		Parameters:
			- type :t代表今天,c代表clear,q代表确定,默认选择今天
			- backuptime :执行日期设定的日期,格式为2016-9-7 11:42:42
	'''

    def backup_time(self, types, backuptime):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        # 时间控件的fram的xpath
        fxpath = "//iframe[@hidefocus='true']"
        # 日期控件table的xpath路径
        txpath = "/html/body/div/div[3]/table"
        status = self.cnEn.is_float('1')
        type = self.cnEn.is_float(types)
        # 转成datetime对象
        date = datetime(*xldate_as_tuple(backuptime, 0))
        end = date.strftime('%Y-%m-%d %H:%M:%S')
        self.option_time("backUpTime", fxpath, status, type, txpath, end)

    u'''操作时间控件
		Parameters:
			- wdateId:日期控件input控件的ID值
			- fxpath:日期控件frame的xpath路径
			- status: 日期控件是否有时分秒
			- txpath:日期控件table的xpath路径
			- time:设定的日期,格式为2016-9-7 11:42:42
			- type:t代表今天,c代表clear,q代表确定,默认选择今天
	'''

    def option_time(self,
                    wdateId,
                    fxpath,
                    status='0',
                    type='t',
                    txpath=None,
                    dtime=None):
        self.getElem.find_element_wait_and_click("id", wdateId)
        frame = self.driver.find_element_by_xpath(fxpath)
        self.driver.switch_to_frame(frame)

        if type == 't':
            self.getElem.find_element_wait_and_click("id", "dpTodayInput")
        elif type == 'c':
            self.getElem.find_element_wait_and_click("id", "dpClearInput")
        elif type == 'q':
            if dtime is not None:
                list = dtime.split()
                ymdList = list[0].split("-")
                hmsList = list[1].split(":")
                #年
                tYear = ymdList[0]
                #月
                tMon = ymdList[1]
                #日
                tDay = ymdList[2]
                #时
                tHour = hmsList[0]
                #分
                tMin = hmsList[1]
                #秒
                tSen = hmsList[2]

                dTitle = self.getElem.find_element_with_wait(
                    "id", "dpTitle").find_elements_by_tag_name("input")

                #设定月
                dTitle[0].clear()
                dTitle[0].send_keys(tMon)

                #设定年
                dTitle[1].clear()
                dTitle[1].send_keys(tYear)
                self.frameElem.from_frame_to_otherFrame("rigthFrame")
                self.getElem.find_element_wait_and_click_EC("id", "backUpTime")
                self.driver.switch_to_frame(frame)

                if txpath is not None:

                    iStatus = False

                    for itr in range(7):
                        if itr != 0:
                            for itd in range(7):
                                ct = self.tableElem.get_table_cell_text(
                                    txpath, itr, itd)[0]

                                #排除第一行大于7的
                                if itr == 1 and int(ct) > 7:
                                    continue

                                #排除倒数第二行小于15的
                                if itr == 5 and int(ct) < 15:
                                    continue

                                #排除最后一行小于15的
                                if itr == 6 and int(ct) < 15:
                                    continue

                                #如果跟给定的日期一致,点击日期
                                if int(ct) == int(tDay):
                                    self.tableElem.get_table_cell_text(
                                        txpath, itr, itd)[1].click()
                                    iStatus = True
                                    break

                                #找到日期后跳出循环
                                if iStatus:
                                    break
        #日期控件是否有时分秒
        if status == '1':
            dTime = self.getElem.find_element_with_wait(
                "id", "dpTime").find_elements_by_tag_name("input")
            #设定小时
            dTime[0].clear()
            dTime[0].send_keys(tHour)
            #设定分钟
            dTime[2].clear()
            dTime[2].send_keys(tMin)
            #设定秒
            dTime[4].clear()
            dTime[4].send_keys(tSen)
            self.getElem.find_element_wait_and_click("id", "dpOkInput")

    u'''上传操作
		parameters:
			- filename :执行还原的文件名称
			- loginfo :日志信息
	'''

    def backup_file_upload(self, filename, loginfo):
        self.frameElem.from_frame_to_otherFrame("rigthFrame")
        value = "C:\Users\Administrator\Downloads\\" + filename + ""
        self.getElem.find_element_wait_and_sendkeys("id", "backUpFile", value)
        time.sleep(2)
        self.getElem.find_element_wait_and_click_EC("id", "up_file")
        self.frameElem.switch_to_content()
        self.cmf.click_msg_button(1)
        time.sleep(1)
        self.log.log_detail(loginfo, True)
예제 #38
0
                    self.alarm.search_level(data[2])
                    self.alarm.search_button()
                    self.alarm.rest_button()
                    #清空标识状态
                    flag = False
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("Retrieval level error: ") + str(e)
        self.log.log_end("searchByLevel")

    def del_config(self):
        #日志开始记录
        self.log.log_start("delConfig")
        flag = False
        self.frameElem.from_frame_to_otherFrame("mainFrame")


if __name__ == "__main__":
    browser = setDriver().set_local_driver()
    commonSuite = CommonSuiteData(browser)
    alarmCase = AlarmConfig(browser)
    commonSuite.alarm_strategy_module_prefix_condition()
    alarmCase.mod_user_mail_008()
    alarmCase.command_alarm_level_config_001()
    alarmCase.default_alarm_level_checkout_003()
    alarmCase.default_alarm_level_config_002()
    alarmCase.auth_alarm_level_config_004()
    alarmCase.search_by_type_005()
    alarmCase.search_by_level_006()
    commonSuite.alarm_strategy_module_post_condition()
예제 #39
0
class testAddress(object):
    def __init__(self, driver):
        self.driver = driver
        self.log = log()
        self.cmf = commonFun(driver)
        self.frameElem = frameElement(driver)
        self.testrole = testRole(driver)
        self.command = CommandRule(driver)
        self.comsuit = CommonSuiteData(driver)
        self.timerule = TimeRule(driver)
        self.getElem = getElement(driver)
        self.loginElem = loginPage(driver)
        self.adrerule = AddressRule(driver)

    u'''获取测试数据
		Parameters:
			- sheetname:sheet名称
		return:表格数据
	'''

    def get_table_data(self, sheetname):
        dataFile = dataFileName()
        adrerulePath = dataFile.get_adrerule_test_data_url()
        adreruleData = dataFile.get_data(adrerulePath, sheetname)
        return adreruleData

    u'''添加地址规则'''

    def add_address_rule_001(self):

        #日志开始记录
        self.log.log_start("add_address_rule")
        #获取添加地址规则测试数据
        adreruleData = self.get_table_data("add_address_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(adreruleData)):
            data = adreruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.command.click_add_button()
                    self.adrerule.set_rulename((data[2]))
                    self.timerule.select_depart(data[3])
                    self.timerule.set_status_type(data[4])
                    self.adrerule.checkbox_ip_rule(data[5])
                    self.adrerule.set_ip(data[6])
                    self.adrerule.set_ip_mask(data[7])
                    if dataRow != 1 and dataRow != 5:
                        if dataRow == 3 or dataRow == 7:
                            self.adrerule.click_add_ip_segment()
                        self.adrerule.set_ip_start(data[9])
                        self.adrerule.set_ip_end(data[10])
                    else:
                        self.adrerule.set_ip_test(data[8])
                        self.adrerule.click_test()
                        self.cmf.click_msg_button(1)
                    self.adrerule.set_description(data[11])
                    self.adrerule.click_save()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
                    self.command.click_back_command()
            except Exception as e:
                print("add_address_rule fail:" + str(e))
        self.comsuit.user_quit()
        self.log.log_end("add_address_rule")

    u'''添加地址规则结果'''

    def add_address_rule_result_002(self):

        #日志开始记录
        self.log.log_start("add_address_rule_result")
        #获取添加地址规则测试数据
        adreruleData = self.get_table_data("add_address_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        for dataRow in range(len(adreruleData)):
            data = adreruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.comsuit.login_and_switch_to_dep()
                    self.comsuit.switch_to_moudle(u'运维管理', u'用户')
                    self.adrerule.edit_user_address_rule(data[12], data[13])
                    list = [data[14], data[15], data[16], data[17], data[18]]
                    self.comsuit.user_quit()
                    self.loginElem.login(list)
                    self.frameElem.from_frame_to_otherFrame("topFrame")
                    if self.getElem.is_element_exsit('id', "logout"):
                        self.comsuit.user_quit()
                    flag = True
                    self.cmf.test_win_check_point("xpath", comrulMsg, list,
                                                  flag)
            except Exception as e:
                print("add_address_rule_result fail:" + str(e))
        self.comsuit.login_and_switch_to_dep()
        self.comsuit.switch_to_moudle(u'运维管理', u'规则定义')
        self.command.click_left_rule(2)
        self.log.log_end("add_address_rule_result")

    u'''编辑地址规则'''

    def mod_address_rule_003(self):
        #日志开始记录
        self.log.log_start("mod_address_rule")
        #获取编辑地址规则测试数据
        adreruleData = self.get_table_data("mod_address_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(adreruleData)):
            data = adreruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.adrerule.click_edit_address(data[2])
                    self.adrerule.set_rulename((data[3]))
                    self.timerule.set_status_type(data[4])
                    self.adrerule.checkbox_ip_rule(data[5])
                    self.adrerule.set_ip(data[6])
                    self.adrerule.set_ip_mask(data[7])
                    self.adrerule.set_ip_start(data[8])
                    self.adrerule.set_ip_end(data[9])
                    self.adrerule.set_description(data[10])
                    self.adrerule.click_save()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
                    self.command.click_back_command()
            except Exception as e:
                print("mod_address_rule fail:" + str(e))
        self.log.log_end("mod_address_rule")

    u'''校验地址规则'''

    def check_address_rule_004(self):
        #日志开始记录
        self.log.log_start("check_address_rule")
        #获取校验地址规则测试数据
        adreruleData = self.get_table_data("check_address_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()
        self.command.click_add_button()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(adreruleData)):
            data = adreruleData[dataRow]
            try:
                if dataRow != 0:
                    #如果不是第一行标题,则读取数据
                    if dataRow == 2:
                        self.adrerule.checkbox_ip_rule(data[3])
                    elif dataRow == 3 or dataRow == 4:
                        self.adrerule.set_ip(data[4])
                    elif dataRow == 5:
                        self.adrerule.set_ip_mask(data[5])
                    elif dataRow != 1:
                        self.adrerule.set_rulename(data[2])
                    self.adrerule.click_save()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)
            except Exception as e:
                print("check_address_rule fail:" + str(e))
        self.command.click_back_command()
        self.log.log_end("check_address_rule")

    u'''检索地址规则'''

    def query_address_rule_005(self):
        #日志开始记录
        self.log.log_start("query_address_rule")
        #获取检索地址规则测试数据
        adreruleData = self.get_table_data("query_address_rule")

        for dataRow in range(len(adreruleData)):
            data = adreruleData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.timerule.click_reset_time()
                    if dataRow != 4:
                        self.adrerule.set_search_addressname((data[1]))
                    self.adrerule.click_search_address()
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print("query_address_rule fail:" + str(e))
        self.log.log_end("query_address_rule")

    u'''删除地址规则'''

    def del_address_rule_006(self):
        #日志开始记录
        self.log.log_start("del_address_rule")
        #获取删除地址规则测试数据
        adrerulData = self.get_table_data("del_address_rule")
        #保存成功的弹出框
        comrulMsg = self.testrole.popup()

        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(adrerulData)):
            data = adrerulData[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    if dataRow == 1:
                        self.adrerule.click_bulkdel_address()
                    else:
                        self.adrerule.click_del_address(data[2])
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", comrulMsg, data,
                                                  flag)

                    if dataRow != 1:
                        self.cmf.click_login_msg_button()

            except Exception as e:
                print("del_address_rule fail:" + str(e))
        self.log.log_end("del_address_rule")
예제 #40
0
class PasswordStr():
    def __init__(self,driver):
        self.driver = driver
        self.log = log()
        self.PwdStr = PwdStrategy(self.driver)
        self.cmf = commonFun(driver)
        self.getElem = getElement(driver)
        self.cnEnde = cnEncode()
        self.dataFile = dataFileName()
        self.frameElem = frameElement(self.driver)
        self.commonsuite = CommonSuiteData(driver)
        self.user = UserPage(self.driver)
        self.session = sessionConfig(self.driver)
        self.conStr = conversationStrategy(driver)
        self.conuser = User(driver)
        self.resource = Resource(driver)
        self.account = Accountmgr(driver)
        
    u'''提示框元素路径'''
    def save_msg(self):
        save_msg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div"
        return save_msg

    u'''获取测试数据
        Parameters:
            sheetname:sheet名称
            return:表格数据
    '''
    def get_table_data(self,sheetname):
        dataFile = dataFileName()
        filePath = dataFile.get_password_stratrgy_test_data_url()
        authFileData = dataFile.get_data(filePath,sheetname)
        return authFileData


    u'''切换至会话配置模块'''
    def switch_to_session_module(self):
        self.frameElem.switch_to_content()
        self.frameElem.switch_to_top()
        self.cmf.select_menu(u"策略配置")
        self.cmf.select_menu(u"策略配置",u"会话配置")
    
    u'''切换至资源模块'''
    def switch_to_resource_module(self):
        self.frameElem.switch_to_content()
        self.frameElem.switch_to_top()
        self.cmf.select_menu(u"运维管理")
        self.cmf.select_menu(u"运维管理",u"资源")
        
    u'''切换至密码策略'''
    def switch_to_pwdStr_module(self):
        self.frameElem.switch_to_content()
        self.frameElem.switch_to_top()
        self.cmf.select_menu(u"策略配置")
        self.cmf.select_menu(u"策略配置",u"密码策略")

    #添加策略
    def add_strategy_001(self):
        #日志开始记录
        self.log.log_start("pwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("add_strategy")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.add_pwd_button()
                    self.PwdStr.set_pwd_name(data[2])
                    self.PwdStr.term_of_validity(data[3])
                    self.PwdStr.password_length_min(data[4])
                    self.PwdStr.password_length_max(data[5])
                    self.PwdStr.set_lower_case(data[6])
                    self.PwdStr.set_capital(data[7])
                    self.PwdStr.set_minimum_digital(data[8])
                    self.PwdStr.set_Minimum_symbol(data[9])
                    self.PwdStr.set_prohibition_of_using_keywords(data[10])
                    self.PwdStr.add_using_keywords_button()
                    self.PwdStr.save_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    self.PwdStr.return_button()
            except Exception as e:
                print ("Policy adding error: ") + str(e)
        self.log.log_end("pwdStrategy")
    
    #编辑策略test
    def edit_strategy_002(self):
        #日志开始记录
        self.log.log_start("editPwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("edit_strategy")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.edit(data[2])
                    self.PwdStr.set_pwd_name(data[3])
                    self.PwdStr.term_of_validity(data[4])
                    self.PwdStr.password_length_min(data[5])
                    self.PwdStr.password_length_max(data[6])
                    self.PwdStr.set_lower_case(data[7])
                    self.PwdStr.set_capital(data[8])
                    self.PwdStr.set_minimum_digital(data[9])
                    self.PwdStr.set_Minimum_symbol(data[10])
                    self.PwdStr.set_prohibition_of_using_keywords(data[11])
                    self.PwdStr.add_using_keywords_button()
                    self.PwdStr.save_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    self.PwdStr.return_button()
            except Exception as e:
                print ("Policy edit error: ") + str(e)
        self.log.log_end("editPwdStrategy")
    
    #策略校验
    def check_strategy_003(self):
        #日志开始记录
        self.log.log_start("checkPwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("check_strategy")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.add_pwd_button()
                    self.PwdStr.set_pwd_name(data[2])
                    self.PwdStr.term_of_validity(data[3])
                    self.PwdStr.password_length_min(data[4])
                    self.PwdStr.password_length_max(data[5])
                    self.PwdStr.set_lower_case(data[6])
                    self.PwdStr.set_capital(data[7])
                    self.PwdStr.set_minimum_digital(data[8])
                    self.PwdStr.set_Minimum_symbol(data[9])
                    self.PwdStr.set_prohibition_of_using_keywords(data[10])
                    self.PwdStr.add_using_keywords_button()
                    self.PwdStr.save_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    self.PwdStr.return_button()
            except Exception as e:
                print ("Policy checkout error: ") + str(e)
        self.log.log_end("checkeditPwdStrategy")
    
    #检索名称test
    def search_strategy_004(self):
        #日志开始记录
        self.log.log_start("searchPwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("search_strategy")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.PwdStr.search_name(data[2])
                    self.PwdStr.click_search_button()
                    self.PwdStr.click_reset_button()
                    self.PwdStr.click_search_button()
                    #清空标识状态
                    flag = False
                    self.log.log_detail(data[0], True)
            except Exception as e:
                print ("Policy search error: ") + str(e)
        self.log.log_end("searchPwdStrategy")
        
    #删除单个策略
    def del_sing_policy_005(self):
        #日志开始记录
        self.log.log_start("delPwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("del_strategy")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.del_sing_strategy(data[2])
                    self.frameElem.switch_to_content()
                    self.cmf.click_msg_button(1)
                    self.cmf.test_win_check_point("xpath",saveMsg,data,flag)
                    #校验删除后的名称是否存在
                    if self.cmf.is_namevalue_exsit(data[2], "fortStrategyPasswordName"):
                        print("Delete success")
            except Exception as e:
                print ("Policy del error: ") + str(e)
        self.log.log_end("delPwdStrategy")
        
    #与密码策略关联的会话配置
    def session_association_007(self):
        #日志开始记录
        self.log.log_start("sessionAssociation")
        #获取数据
        strate_data = self.get_table_data("configure_strateg")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strate_data)):
            data = strate_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.switch_to_session_module()
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.set_pwd_strategy(data[4])
                    self.session.add_session(data[2])
                    self.session.add_locking_time(data[3])
                    self.session.save_global_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
            except Exception as e:
                print ("session association error: ") + str(e)
        self.log.log_end("sessionAssociation")
                    
    #与密码策略关联的用户
    def user_association_008(self):
        #日志开始记录
        self.log.log_start("userAssociation")
        #获取数据
        strate_data = self.get_table_data("user_association")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strate_data)):
            data = strate_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.conuser.switch_to_user_module()
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.user_edit(data[2])
                    self.PwdStr.set_pwd(data[9])
                    self.PwdStr.set_pwd_agin(data[10])
                    self.user.save_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    self.user.click_back_button()
            except Exception as e:
                print ("user association error: ") + str(e)
        self.log.log_end("userAssociation")
    
    #为Windows资源添加密码策略
    def resource_association_009(self):
        #日志开始记录
        self.log.log_start("resourAcessociation")
        #获取数据
        strate_data = self.get_table_data("resource_association")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strate_data)):
            data = strate_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.commonsuite.sys_switch_to_dep()
                    self.switch_to_resource_module()
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.resource_edit(data[2])
                    self.PwdStr.set_resource_strategy(data[8])
                    self.resource.resoure_save_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    self.PwdStr.return_button()
            except Exception as e:
                print ("resour acessociation error: ") + str(e)
        self.log.log_end("resourAcessociation")
    
    #为Windows资源账号添加密码策略
    def resource_account_association_010(self):
        #日志开始记录
        self.log.log_start("resourAceccountAssociation")
        #获取数据
        strate_data = self.get_table_data("resource_account_association")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strate_data)):
            data = strate_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.PwdStr.account_manage(data[2])
                    self.account.click_account_add()
                    self.PwdStr.set_resource_account_name(data[3])
                    self.PwdStr.set_resource_account_pwd(data[4])
                    self.PwdStr.set_resource_account_pwdagin(data[5])
                    self.PwdStr.save_account()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", saveMsg, data, flag)
                    #点击资源账号编辑页面返回
                    self.PwdStr.return_button()
                    #点击资源账号页面返回
                    self.PwdStr.return_button()
            except Exception as e:
                print ("resour aceccount association error: ") + str(e)
        self.log.log_end("resourAceccountAssociation")

                
    #删除全部策略
    def del_all_policy_006(self):
        #日志开始记录
        self.log.log_start("delAllPwdStrategy")
        #获取数据
        strategy_data = self.get_table_data("del_all_strategy")
        #保存弹框
        saveMsg = self.save_msg()
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(strategy_data)):
            data = strategy_data[dataRow]
            try:
            #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    time.sleep(2)
                    self.commonsuite.dep_switch_to_sys()
                    self.switch_to_pwdStr_module()
                    time.sleep(2)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.PwdStr.select_all_button()
                    self.PwdStr.del_button()
                    self.frameElem.switch_to_content()
                    self.cmf.click_msg_button(1)
                    self.cmf.test_win_check_point("xpath",saveMsg,data,flag)
                    #校验删除后的名称是否存在
                    if self.cmf.is_namevalue_exsit(data[2], "fortStrategyPasswordName"):
                        print("Delete all success")
            except Exception as e:
                print ("Policy delAll error: ") + str(e)
        self.log.log_end("delAllPwdStrategy")
    
#if __name__ == "__main__":
#    browser = setDriver().set_local_driver()
#    commonSuite = CommonSuiteData(browser)
#    pwdCase = PasswordStr(browser)
#    commonSuite.pwdstr_module_prefix_condition()
#    pwdCase.add_strategy_001()
#    pwdCase.edit_strategy_002()
#    pwdCase.check_strategy_003()
#    pwdCase.search_strategy_004()
#    pwdCase.del_sing_policy_005()
#    pwdCase.session_association_007()
#    pwdCase.user_association_008()
#    pwdCase.resource_association_009()
#    pwdCase.resource_account_association_010()
#    pwdCase.del_all_policy_006()
#    commonSuite.pwdstr_module_post_condition()
예제 #41
0
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("rigthFrame")
                    #self.appElem.operate_account_manage(data[2])
                    self.appElem.operate_account_del(data[3])
                    self.cmf.click_login_msg_button()
                    #判断测试项是否通过
                    self.check_with_pop_up(data, flag)

                    #清空标识状态
                    flag = False

            except Exception as e:
                print("Del account fail: ") + str(e)
        self.log.log_end("Delaccount")


if __name__ == "__main__":
    browser = setDriver().set_local_driver()
    commonSuite = CommonSuiteData(browser)
    appTest = testApp(browser)
    commonSuite.login_and_switch_to_sys()
    commonSuite.switch_to_moudle(u"系统配置", u"关联服务")
#	appTest.add_app_001()
#	appTest.edit_app_002()
#	appTest.check_app_003()
#	appTest.query_app_004()
#	appTest.add_account_006()
#	appTest.edit_account_007()
#	appTest.del_account_008()
#	appTest.del_app_005()