예제 #1
0
class testAdEx():
	def __init__(self,driver):
		self.driver = driver
		self.log = log()
		self.cmf = commonFun(driver)
		self.getElem = getElement(driver)
		self.cnEnde = cnEncode()
		self.adExElem = AdExtractPage(self.driver)
		self.tableElem = tableElement(self.driver)
		self.selectElem = selectElement(driver)
		self.dataFile = dataFileName()
		self.frameElem = frameElement(self.driver)
		self.loginFun = loginPage(self.driver)
		self.commonSuite = CommonSuiteData(self.driver)
	
	u'''提示内容框元素路径'''
	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'''修改密码弹出框'''
	def modey_pwd_msg(self):
		self.frameElem.switch_to_content()
		modey_msg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/ \
		tbody/tr[1]/td/div/div"
		return modey_msg
	
	u'''关闭修改密码弹出框'''
	def close_aui(self):
		self.frameElem.switch_to_content()
		close_aui = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/ \
		tbody/tr[1]/td/div/a"
		return close_aui
	
	def test_win_check_point(self,value,data):
		elemText = self.getElem.find_element_wait_and_compare_text("xpath",value,data)
		if elemText:
		# 页面的内容与检查点内容一致,测试点通过
			self.log.log_detail(data[0], True)
		else:
			#页面抓取到的内容与检查点不一致,测试点不通过
			self.log.log_detail(data[0],False)

	u'''获取测试数据
		Parameters:
			- sheetname:sheet名称
			return:表格数据
	'''
	def get_table_data(self,sheetname):
		dataFile = dataFileName()
		filePath = dataFile.get_ad_extract_test_url()
		adFileData = dataFile.get_data(filePath,sheetname)
		return adFileData
	
	u'''没有弹出框的校验'''
	def check_without_pop_up(self,type,data):
		retype = self.cnEnde.is_float(type)
		num = self.adExElem.get_account_count(retype)
		recount = int(self.cnEnde.is_float(data[5]))
		#判断测试项是否通过
		if self.adExElem.get_account_count(retype) == recount:
			self.log.log_detail(data[0], True)
		else:
			self.log.log_detail(data[0], False)
	

	def base_on_dataRow(self,dataRow,data,flag):
		#AD发现账号列表移动到已选账号列表
		if dataRow == 1 or dataRow == 2:
			if dataRow == 1:
				self.frameElem.from_frame_to_otherFrame("mainFrame")
				self.adExElem.set_new_account(data[3])
				self.adExElem.click_new_query_button()
				self.adExElem.click_new_reset_button()
				self.adExElem.click_new_query_button()
				self.adExElem.select_type(data[2],data[3])
				self.adExElem.new_to_selected()
				self.adExElem.set_pwd(data[6])
				self.cmf.click_login_msg_button()
			
		#从已选账号列表移动到AD发现账号列表
			if dataRow == 2:
				self.commonSuite.login_and_switch_to_sys()
				self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
				self.adExElem.discover_tab()
				self.adExElem.set_selected_account(data[3])
				self.adExElem.click_selected_button()
				self.adExElem.click_selected_reset_button()
				self.adExElem.select_type(data[2],data[3])
				self.adExElem.select_to_new()
			self.loginFun.quit()
			self.frameElem.switch_to_content()
			self.loginFun.set_login_username(data[3])
			self.loginFun.set_login_pwd(data[6])
			self.loginFun.click_login_button()
			if dataRow ==1:
				self.test_win_check_point(self.modey_pwd_msg(),data)
				self.getElem.find_element_with_wait_clickable_and_click("xpath",self.close_aui())
			if dataRow ==2:
				self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
			
		#AD发现账号列表移动到过滤账号列表
		if dataRow == 3:
			self.commonSuite.login_and_switch_to_sys()
			self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
			self.frameElem.from_frame_to_otherFrame("mainFrame")
			self.adExElem.discover_tab()
			self.adExElem.set_new_account(data[3])
			self.adExElem.click_new_query_button()
			self.adExElem.click_new_reset_button()
			self.adExElem.click_new_query_button()
			self.adExElem.select_type(data[2],data[3])
			self.adExElem.new_to_filter()
			self.check_without_pop_up(data[4],data)
		#从过滤账号列表移动到AD发现账号列表
		if dataRow == 4:
			self.frameElem.from_frame_to_otherFrame("mainFrame")
			self.adExElem.set_filter_account(data[3])
			self.adExElem.click_filter_query_button()
			self.adExElem.select_type(data[2],data[3])
			self.adExElem.filter_to_new()
			self.check_without_pop_up(data[4],data)

	u'''AD抽取'''
	def ad_extract_001(self):
		#日志开始记录
		self.log.log_start("ADExtract_001")
		#获取AD域抽取的数据
		ad_data = self.get_table_data("ad_extract")
		#无检查点的测试项标识,如果为True说明通过
		flag = False
		self.frameElem.from_frame_to_otherFrame("mainFrame")
		self.adExElem.connect_tab()
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				#如果不是第一行标题,则读取数据
				if dataRow != 0 :
					self.frameElem.from_frame_to_otherFrame("mainFrame")
					self.adExElem.set_address_ip(data[2])
					self.adExElem.set_base_dn(data[3])
					self.adExElem.set_admin(data[4])
					self.adExElem.set_admin_pwd(data[5])
					self.adExElem.set_home_node1(data[6])
					if dataRow == 5:
						self.adExElem.add_muli_node()
						self.adExElem.set_home_node2(data[7])
					if dataRow == 3:
						self.adExElem.subtree_query()
					self.adExElem.set_query_condition(data[8])
					if dataRow == 1:
						self.adExElem.user_attri_map()
						self.adExElem.set_account_map(data[10])
						self.adExElem.set_name_map(data[11])
					self.adExElem.click_find_immdiate()
					#判断测试项是否通过
					self.driver.switch_to_default_content()
					self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
					self.frameElem.from_frame_to_otherFrame("mainFrame")
					self.adExElem.del_node()
					self.adExElem.quit_subtree_query()
					#清空标识状态
					flag = False
			except Exception as e:
				print ("AD Extract fail: ") + str(e)
		self.log.log_end("AdExtract")

	u'''发现'''
	def ad_discover_002(self):
		#日志开始记录
		self.log.log_start("AdDiscover_002")
		#获取AD域账号移动的数据
		ad_data = self.get_table_data("ad_discover")
		#无检查点的测试项标识,如果为True说明通过
		self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
		flag = False
		self.adExElem.discover_tab()
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				self.base_on_dataRow(dataRow,data,flag)

					#清空标识状态
				flag = False
	
			except Exception as e:
				print ("AD discover fail: ") + str(e)
		self.log.log_end("AdDiscover_002")
	
	u'''移动ad域账号校验'''
	def move_user_check_003(self):
		#日志开始记录
		self.log.log_start("MoveUserCheck_003")
		#获取AD域账号移动校验的数据
		ad_data = self.get_table_data("move_new_to_select_check")
		#无检查点的测试项标识,如果为True说明通过
		flag = False
		self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
		self.adExElem.discover_tab()
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				#如果不是第一行标题,则读取数据
				if dataRow != 0 :
					self.frameElem.from_frame_to_otherFrame("mainFrame")
					self.adExElem.select_type(data[2],data[3])
					self.adExElem.new_to_selected()
					if dataRow == 3:
						self.cmf.click_login_msg_button()
					self.frameElem.switch_to_content()
					self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
					if dataRow == 2:
						self.frameElem.from_frame_to_otherFrame("mainFrame")
						self.adExElem.select_type(data[2],data[3])
					#清空标识状态
					flag = False
			except Exception as e:
				print ("Move user check fail: ") + str(e)
		self.log.log_end("MoveUserCheck_003")	

	u'''账号密码校验'''
	def ad_pwd_checkout_004(self):
		#日志开始记录
		self.log.log_start("AdPwdCheckout_004")
		#获取AD域密码校验的数据
		ad_data = self.get_table_data("pwd_check")
		#无检查点的测试项标识,如果为True说明通过
		flag = False
		self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
		self.adExElem.discover_tab()
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				#如果不是第一行标题,则读取数据
				if dataRow != 0 :
					self.frameElem.from_frame_to_otherFrame("mainFrame")
					self.adExElem.select_type(data[2],data[3])
					self.adExElem.new_to_selected()
					self.adExElem.set_pwd(data[4])
					self.cmf.click_login_msg_button()
					self.frameElem.switch_to_content()
					self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
					#清空标识状态
					flag = False
			except Exception as e:
				print ("AD pwd checkout fail: ") + str(e)
		self.log.log_end("AdPwdCheckout_004")
	
	u'''定时'''
	def cycle_005(self):
		#日志开始记录
		self.log.log_start("cycle_005")
		#获取AD域清空历史记录的数据
		ad_data = self.get_table_data("cycle")
		self.adExElem.quartz_tab()
		row_count = len(ad_data)-1
		#无检查点的测试项标识,如果为True说明通过
		flag = False
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				#如果不是第一行标题,则读取数据
				if dataRow != 0 :
					self.frameElem.from_frame_to_otherFrame("mainFrame")
					#设置四种方式的定时
					if dataRow != row_count:
						self.adExElem.set_execute_type(data[4])
						self.adExElem.set_hour(data[2])
						self.adExElem.set_minute(data[3])
						self.adExElem.set_execute_date(data[4],data[5],data[6])
						self.adExElem.find_by_quartz()
					#如果是最后一行数据,关闭定时
					if dataRow == row_count:
						self.adExElem.quartz_off()
					self.frameElem.switch_to_content()
					self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
					#清空标识状态
					flag = False
			except Exception as e:
				print ("Set cycle fail: ") + str(e)
		self.log.log_end("cycle_005")	

	u'''清空历史记录'''
	def clear_history_006(self):
		#日志开始记录
		self.log.log_start("ClearHistory_006")
		#获取AD域清空历史记录的数据
		ad_data = self.get_table_data("clear_history")
		#无检查点的测试项标识,如果为True说明通过
		flag = False
		for dataRow in range(len(ad_data)):
			data = ad_data[dataRow]
			try:
				#如果不是第一行标题,则读取数据
				if dataRow != 0 :
					self.adExElem.history_tab()
					self.adExElem.clear_history_button()
					self.cmf.click_login_msg_button()
					self.frameElem.switch_to_content()
					self.cmf.test_win_check_point("xpath",self.login_msg(),data,flag)
					#清空标识状态
					flag = False
			except Exception as e:
				print ("Clear History fail: ") + str(e)
		self.log.log_end("ClearHistory_006")	
예제 #2
0
class ServiceNtp():
    def __init__(self, driver):
        self.driver = driver
        self.getElem = getElement(driver)
        self.dataFile = dataFileName()
        self.select = selectElement(driver)
        self.frameElem = frameElement(driver)
        self.cmf = commonFun(driver)
        self.log = log()
        self.ntp = NtpService(driver)
        self.cnEnde = cnEncode()
        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
        #点击保存按钮弹出框
        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])
                    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_and_switch_to_sys()
                    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")
예제 #3
0
			try:
				#如果不是第一行标题,则读取数据
				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()
예제 #4
0
class testAdEx():
    def __init__(self, driver):
        self.driver = driver
        self.log = log()
        self.cmf = commonFun(driver)
        self.getElem = getElement(driver)
        self.cnEnde = cnEncode()
        self.adExElem = AdExtractPage(self.driver)
        self.tableElem = tableElement(self.driver)
        self.selectElem = selectElement(driver)
        self.dataFile = dataFileName()
        self.frameElem = frameElement(self.driver)
        self.loginFun = loginPage(self.driver)
        self.commonSuite = CommonSuiteData(self.driver)

    u'''提示内容框元素路径'''

    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'''修改密码弹出框'''

    def modey_pwd_msg(self):
        self.frameElem.switch_to_content()
        modey_msg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/ \
		tbody/tr[1]/td/div/div"

        return modey_msg

    u'''关闭修改密码弹出框'''

    def close_aui(self):
        self.frameElem.switch_to_content()
        close_aui = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/ \
		tbody/tr[1]/td/div/a"

        return close_aui

    def test_win_check_point(self, value, data):
        elemText = self.getElem.find_element_wait_and_compare_text(
            "xpath", value, data)
        if elemText:
            # 页面的内容与检查点内容一致,测试点通过
            self.log.log_detail(data[0], True)
        else:
            #页面抓取到的内容与检查点不一致,测试点不通过
            self.log.log_detail(data[0], False)

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

    def get_table_data(self, sheetname):
        dataFile = dataFileName()
        filePath = dataFile.get_ad_extract_test_url()
        adFileData = dataFile.get_data(filePath, sheetname)
        return adFileData

    u'''没有弹出框的校验'''

    def check_without_pop_up(self, type, data):
        retype = self.cnEnde.is_float(type)
        num = self.adExElem.get_account_count(retype)
        recount = int(self.cnEnde.is_float(data[5]))
        #判断测试项是否通过
        if self.adExElem.get_account_count(retype) == recount:
            self.log.log_detail(data[0], True)
        else:
            self.log.log_detail(data[0], False)

    def base_on_dataRow(self, dataRow, data, flag):
        #AD发现账号列表移动到已选账号列表
        if dataRow == 1 or dataRow == 2:
            if dataRow == 1:
                self.frameElem.from_frame_to_otherFrame("mainFrame")
                self.adExElem.set_new_account(data[3])
                self.adExElem.click_new_query_button()
                self.adExElem.click_new_reset_button()
                self.adExElem.click_new_query_button()
                self.adExElem.select_type(data[2], data[3])
                self.adExElem.new_to_selected()
                self.adExElem.set_pwd(data[6])
                self.cmf.click_login_msg_button()

        #从已选账号列表移动到AD发现账号列表
            if dataRow == 2:
                self.commonSuite.login_and_switch_to_sys()
                self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
                self.adExElem.discover_tab()
                self.adExElem.set_selected_account(data[3])
                self.adExElem.click_selected_button()
                self.adExElem.click_selected_reset_button()
                self.adExElem.select_type(data[2], data[3])
                self.adExElem.select_to_new()
            self.loginFun.quit()
            self.frameElem.switch_to_content()
            self.loginFun.set_login_username(data[3])
            self.loginFun.set_login_pwd(data[6])
            self.loginFun.click_login_button()
            if dataRow == 1:
                self.test_win_check_point(self.modey_pwd_msg(), data)
                self.getElem.find_element_with_wait_clickable_and_click(
                    "xpath", self.close_aui())
            if dataRow == 2:
                self.cmf.test_win_check_point("xpath", self.login_msg(), data,
                                              flag)

        #AD发现账号列表移动到过滤账号列表
        if dataRow == 3:
            self.commonSuite.login_and_switch_to_sys()
            self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
            self.frameElem.from_frame_to_otherFrame("mainFrame")
            self.adExElem.discover_tab()
            self.adExElem.set_new_account(data[3])
            self.adExElem.click_new_query_button()
            self.adExElem.click_new_reset_button()
            self.adExElem.click_new_query_button()
            self.adExElem.select_type(data[2], data[3])
            self.adExElem.new_to_filter()
            self.check_without_pop_up(data[4], data)
        #从过滤账号列表移动到AD发现账号列表
        if dataRow == 4:
            self.frameElem.from_frame_to_otherFrame("mainFrame")
            self.adExElem.set_filter_account(data[3])
            self.adExElem.click_filter_query_button()
            self.adExElem.select_type(data[2], data[3])
            self.adExElem.filter_to_new()
            self.check_without_pop_up(data[4], data)

    u'''AD抽取'''

    def ad_extract_001(self):
        #日志开始记录
        self.log.log_start("ADExtract_001")
        #获取AD域抽取的数据
        ad_data = self.get_table_data("ad_extract")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        self.frameElem.from_frame_to_otherFrame("mainFrame")
        self.adExElem.connect_tab()
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.adExElem.set_address_ip(data[2])
                    self.adExElem.set_base_dn(data[3])
                    self.adExElem.set_admin(data[4])
                    self.adExElem.set_admin_pwd(data[5])
                    self.adExElem.set_home_node1(data[6])
                    if dataRow == 5:
                        self.adExElem.add_muli_node()
                        self.adExElem.set_home_node2(data[7])
                    if dataRow == 3:
                        self.adExElem.subtree_query()
                    self.adExElem.set_query_condition(data[8])
                    if dataRow == 1:
                        self.adExElem.user_attri_map()
                        self.adExElem.set_account_map(data[10])
                        self.adExElem.set_name_map(data[11])
                    self.adExElem.click_find_immdiate()
                    #判断测试项是否通过
                    self.driver.switch_to_default_content()
                    self.cmf.test_win_check_point("xpath", self.login_msg(),
                                                  data, flag)
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.adExElem.del_node()
                    self.adExElem.quit_subtree_query()
                    #清空标识状态
                    flag = False
            except Exception as e:
                print("AD Extract fail: ") + str(e)
        self.log.log_end("AdExtract")

    u'''发现'''

    def ad_discover_002(self):
        #日志开始记录
        self.log.log_start("AdDiscover_002")
        #获取AD域账号移动的数据
        ad_data = self.get_table_data("ad_discover")
        #无检查点的测试项标识,如果为True说明通过
        self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
        flag = False
        self.adExElem.discover_tab()
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                self.base_on_dataRow(dataRow, data, flag)

                #清空标识状态
                flag = False

            except Exception as e:
                print("AD discover fail: ") + str(e)
        self.log.log_end("AdDiscover_002")

    u'''移动ad域账号校验'''

    def move_user_check_003(self):
        #日志开始记录
        self.log.log_start("MoveUserCheck_003")
        #获取AD域账号移动校验的数据
        ad_data = self.get_table_data("move_new_to_select_check")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
        self.adExElem.discover_tab()
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.adExElem.select_type(data[2], data[3])
                    self.adExElem.new_to_selected()
                    if dataRow == 3:
                        self.cmf.click_login_msg_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", self.login_msg(),
                                                  data, flag)
                    if dataRow == 2:
                        self.frameElem.from_frame_to_otherFrame("mainFrame")
                        self.adExElem.select_type(data[2], data[3])
                    #清空标识状态
                    flag = False
            except Exception as e:
                print("Move user check fail: ") + str(e)
        self.log.log_end("MoveUserCheck_003")

    u'''账号密码校验'''

    def ad_pwd_checkout_004(self):
        #日志开始记录
        self.log.log_start("AdPwdCheckout_004")
        #获取AD域密码校验的数据
        ad_data = self.get_table_data("pwd_check")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        self.commonSuite.switch_to_moudle(u"系统配置", u"AD定时抽取")
        self.adExElem.discover_tab()
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    self.adExElem.select_type(data[2], data[3])
                    self.adExElem.new_to_selected()
                    self.adExElem.set_pwd(data[4])
                    self.cmf.click_login_msg_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", self.login_msg(),
                                                  data, flag)
                    #清空标识状态
                    flag = False
            except Exception as e:
                print("AD pwd checkout fail: ") + str(e)
        self.log.log_end("AdPwdCheckout_004")

    u'''定时'''

    def cycle_005(self):
        #日志开始记录
        self.log.log_start("cycle_005")
        #获取AD域清空历史记录的数据
        ad_data = self.get_table_data("cycle")
        self.adExElem.quartz_tab()
        row_count = len(ad_data) - 1
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.frameElem.from_frame_to_otherFrame("mainFrame")
                    #设置四种方式的定时
                    if dataRow != row_count:
                        self.adExElem.set_execute_type(data[4])
                        self.adExElem.set_hour(data[2])
                        self.adExElem.set_minute(data[3])
                        self.adExElem.set_execute_date(data[4], data[5],
                                                       data[6])
                        self.adExElem.find_by_quartz()
                    #如果是最后一行数据,关闭定时
                    if dataRow == row_count:
                        self.adExElem.quartz_off()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", self.login_msg(),
                                                  data, flag)
                    #清空标识状态
                    flag = False
            except Exception as e:
                print("Set cycle fail: ") + str(e)
        self.log.log_end("cycle_005")

    u'''清空历史记录'''

    def clear_history_006(self):
        #日志开始记录
        self.log.log_start("ClearHistory_006")
        #获取AD域清空历史记录的数据
        ad_data = self.get_table_data("clear_history")
        #无检查点的测试项标识,如果为True说明通过
        flag = False
        for dataRow in range(len(ad_data)):
            data = ad_data[dataRow]
            try:
                #如果不是第一行标题,则读取数据
                if dataRow != 0:
                    self.adExElem.history_tab()
                    self.adExElem.clear_history_button()
                    self.cmf.click_login_msg_button()
                    self.frameElem.switch_to_content()
                    self.cmf.test_win_check_point("xpath", self.login_msg(),
                                                  data, flag)
                    #清空标识状态
                    flag = False
            except Exception as e:
                print("Clear History fail: ") + str(e)
        self.log.log_end("ClearHistory_006")
예제 #5
0
class ServiceNtp():
    def __init__(self,driver):
        self.driver = driver
        self.getElem = getElement(driver)
        self.dataFile = dataFileName()
        self.select = selectElement(driver)
        self.frameElem = frameElement(driver)
        self.cmf = commonFun(driver)
        self.log = log()
        self.ntp = NtpService(driver)
        self.cnEnde = cnEncode()
        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
        #点击保存按钮弹出框
        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])
                    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_and_switch_to_sys()
                    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")
예제 #6
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()
예제 #7
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()
    '''