class TestCase310SetUpIssuedCommandTaskManagementOperation(unittest.TestCase): # 测试 设置 - 指令管理 - 下发工作指令任务的操作 driver = None base_url = None base_page = None log_in_page = None command_management_page = None base_paging_function = None def setUp(self): # 前置条件 # 实例化对象 self.driver = AutomateDriver(choose='firefox') self.base_url = self.driver.base_url self.base_page = BasePage(self.driver, self.base_url) self.command_management_page = CommandManagementPage(self.driver, self.base_url) self.base_paging_function = BasePagingFunction(self.driver, self.base_url) self.log_in_base = LogInBase(self.driver, self.base_url) self.assert_text = AssertText() # 打开页面,填写用户名、密码、点击登录 self.base_page.open_page() self.driver.set_window_max() self.driver.implicitly_wait(5) self.driver.clear_cookies() self.log_in_base.log_in_jimitest() # 登录之后点击控制台,然后点击指令管理 self.command_management_page.click_control_after_click_command_management() sleep(3) def tearDown(self): self.driver.quit_browser() def test_case_set_up_issued_command_task_management_operation(self): # 断言url expect_url_after_click_command_management = self.base_url + '/custom/toTemplate' self.assertEqual(expect_url_after_click_command_management, self.command_management_page.actual_url_click_command_management()) # 断言左侧列表的title文本 expect_title_text_after_click_command_management = self.assert_text.command_manager_page_command_type() self.assertEqual(expect_title_text_after_click_command_management, self.command_management_page.actual_title_text_after_click_command_management()) # 点击下发任务指令管理 self.command_management_page.click_lift_list('issued_command_task_management') # 断言 expect_title_text_after_click_issued_command_task_management = \ self.assert_text.command_manager_page_issued_command_task() self.assertEqual(expect_title_text_after_click_issued_command_task_management, self.command_management_page.actual_text_after_click_issued_command_task()) # 点击查看设备 self.command_management_page.click_look_equipment_in_issued_command_task() # 断言 expect_text_after_click_look_equipment = self.assert_text.command_manager_page_issued_command_manager() self.assertEqual(expect_text_after_click_look_equipment, self.command_management_page.actual_text_after_click_look_equipment())
class TestCase730816CustManageEditUserCommandLimit(unittest.TestCase): def setUp(self): self.driver = AutomateDriverServer() self.base_url = self.driver.base_url self.base_page = BasePageServer(self.driver, self.base_url) self.login_page = LoginPage(self.driver, self.base_url) self.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(self.driver, self.base_url) self.cust_manage_lower_account_page = CustManageLowerAccountPage(self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.cust_manage_page_read_csv = CustManagePageReadCsv() self.assert_text = AssertText() self.assert_text2 = AssertText2() self.driver.set_window_max() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_edit_account_command_limit_verify(self): '''测试客户管理-编辑指令权限后验证''' self.base_page.open_page() csv_file = self.cust_manage_page_read_csv.read_csv('add_user_command_limit_data.csv') csv_data = csv.reader(csv_file) for row in csv_data: info = { "passwd": row[4], "command": row[9], "working_mode": row[10], "wdit_account": row[11] } # 登录 self.log_in_base.log_in() # 进入客户管理页面 self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() # 搜索账号 self.cust_manage_lower_account_page.input_search_info(info["wdit_account"]) # 搜索 self.cust_manage_lower_account_page.click_search_btn() # 点击编辑用户 self.cust_manage_basic_info_and_add_cust_page.click_edit_customer() self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit() self.cust_manage_basic_info_and_add_cust_page.click_edit_customer() self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe() # 是或否批量下发指令 和批量下发工作模式 command_status = self.cust_manage_basic_info_and_add_cust_page.setting_command_permissions(info["command"]) working_mode_status = self.cust_manage_basic_info_and_add_cust_page.setting_working_mode_permissions( info["working_mode"]) self.assertEqual(info["command"], str(command_status), "勾选状态与期望不一致") self.assertEqual(info["working_mode"], str(working_mode_status), "勾选状态与期望不一致") self.driver.default_frame() sleep(2) self.cust_manage_basic_info_and_add_cust_page.acc_add_save() sleep(1) # 退出登录 self.log_in_base.click_account_center_button() sleep(2) self.account_center_page_navi_bar.usr_logout() self.log_in_base.log_in_with_csv(info["wdit_account"], info["passwd"]) sleep(1) hello_usr = self.account_center_page_navi_bar.hello_user_account() self.assertIn(info["wdit_account"], hello_usr, "登录成功后招呼栏账户名显示错误") sleep(1) # 进入设备管理/指令管理页面,获取功能按钮 facility_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button() sleep(2) command_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_command_page_module() # 获取中文,依次是:选中发送指令、本次查询全部发送指令、选中设置工作模式、本次查询全部设置工作模式 #工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理, 下发指令任务管理, 下发指令管理 send_command = self.assert_text2.dev_manage_select_send_command() all_send_command = self.assert_text2.dev_manage_select_all_send_command() working_mode = self.assert_text2.dev_manage_setting_working_mode() all_working_mode = self.assert_text2.dev_manage_setting_all_working_mode() template_manage = self.assert_text.command_manager_page_work_type_template_management() working_mode_task_manage = self.assert_text2.comm_manage_send_working_mode_task_manage() working_mode_manage = self.assert_text2.comm_manage_send_working_mode_manage() task_manage = self.assert_text2.comm_manage_command_task_manage() comm_manager = self.assert_text.command_manager_page_issued_command_manager() command_list =[] working_mode_list = [] #循环设备管理页面的数据 for b in facility_manage_data: #选中发送指令 和 本次查询全部发送指令 if send_command in b or all_send_command in b: command_list.append(b) #选中设置工作模式 和 本次查询全部设置工作模式 elif working_mode in b or all_working_mode in b: working_mode_list.append(b) #循环指令管理页面的数据 for c in command_manage_data: #下发指令任务管理 和 下发指令管理 if task_manage in c or comm_manager in c: command_list.append(c) #工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理 elif template_manage in c or working_mode_task_manage in c or working_mode_manage in c: working_mode_list.append(c) print("指令", command_list) print("工作模式", working_mode_list) #验证设备、指令管理页面功能按钮显示情况 if command_status == True and working_mode_status == True: # 指令(设备页+指令管理页) self.assertEqual(send_command, command_list[0]) self.assertEqual(all_send_command, command_list[1]) self.assertEqual(task_manage, command_list[2]) self.assertEqual(comm_manager, command_list[3]) # 工作模式(设备页+指令管理页) self.assertEqual(working_mode, working_mode_list[0]) self.assertEqual(all_working_mode, working_mode_list[1]) self.assertEqual(template_manage, working_mode_list[2]) self.assertEqual(working_mode_task_manage, working_mode_list[3]) self.assertEqual(working_mode_manage, working_mode_list[4]) elif command_status == False and working_mode_status == False: # self.assertEqual(comm_manager, command_list[0]) self.assertEqual(0, len(working_mode_list)) elif command_status == True and working_mode_status == False: self.assertEqual(send_command, command_list[0]) self.assertEqual(all_send_command, command_list[1]) # self.assertEqual(task_manage, command_list[2]) self.assertEqual(comm_manager, command_list[3]) self.assertEqual(0, len(working_mode_list)) elif command_status == False and working_mode_status == True: self.assertEqual(comm_manager, command_list[0]) self.assertEqual(working_mode, working_mode_list[0]) self.assertEqual(all_working_mode, working_mode_list[1]) self.assertEqual(template_manage, working_mode_list[2]) self.assertEqual(working_mode_task_manage, working_mode_list[3]) self.assertEqual(working_mode_manage, working_mode_list[4]) # 退出登录 sleep(1) self.log_in_base.click_account_center_button() sleep(2) self.account_center_page_navi_bar.usr_logout() break csv_file.close()
class TestCase405CustomerManagementAddUserCommandLimit(unittest.TestCase): # 测试客户管理-新增用户-验证指令权限 def setUp(self): self.driver = AutomateDriverServer() self.base_url = self.driver.base_url self.base_page = BasePageServer(self.driver, self.base_url) self.login_page = LoginPage(self.driver, self.base_url) self.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(self.driver, self.base_url) self.cust_manage_lower_account_page = CustManageLowerAccountPage(self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.cust_manage_page_read_csv = CustManagePageReadCsv() self.assert_text = AssertText() self.assert_text2 = AssertText2() self.driver.set_window_max() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.close_window() self.driver.quit_browser() def test_add_user_command_limit_verify(self): '''测试客户管理-指令权限验证''' self.base_page.open_page() csv_file = self.cust_manage_page_read_csv.read_csv('add_user_command_limit_data.csv') csv_data = csv.reader(csv_file) for row in csv_data: info = { "keyword": row[0], "type": row[1], "name": row[2], "account": row[3], "passwd": row[4], "phone": row[5], "email": row[6], "conn": row[7], "com": row[8], "command": row[9], "working_mode": row[10] } # 登录 self.log_in_base.log_in() # 进入客户管理页面 current_handle = self.driver.get_current_window_handle() self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() sleep(1) self.base_page.change_windows_handle(current_handle) self.cust_manage_basic_info_and_add_cust_page.add_acc() self.cust_manage_basic_info_and_add_cust_page.close_add_account() self.cust_manage_basic_info_and_add_cust_page.add_acc() self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe() self.cust_manage_basic_info_and_add_cust_page.add_acc_input_info_edit(info["name"], info["account"], info["passwd"], info["phone"], info["email"], info["conn"], info["com"]) # 是或否批量下发指令 和批量下发工作模式 command_status = self.cust_manage_basic_info_and_add_cust_page.setting_command_permissions(info["command"]) working_mode_status = self.cust_manage_basic_info_and_add_cust_page.setting_working_mode_permissions( info["working_mode"]) self.assertEqual(info["command"], str(command_status), "勾选状态与期望不一致") self.assertEqual(info["working_mode"], str(working_mode_status), "勾选状态与期望不一致") self.driver.default_frame() sleep(2) self.cust_manage_basic_info_and_add_cust_page.acc_add_save() sleep(1) # 退出登录 self.account_center_page_navi_bar.usr_logout() self.log_in_base.log_in_with_csv(info["account"], info["passwd"]) hello_usr = self.account_center_page_navi_bar.usr_info_account() self.assertIn(info["account"], hello_usr, "登录成功后招呼栏账户名显示错误") sleep(1) # 进入设备管理/指令管理页面,获取功能按钮 current_handle_02 = self.driver.get_current_window_handle() self.cust_manage_basic_info_and_add_cust_page.click_dev_management_button() self.base_page.change_windows_handle(current_handle_02) facility_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button() sleep(3) # command_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_command_page_module() # 获取中文,依次是:选中发送指令、本次查询全部发送指令、选中设置工作模式、本次查询全部设置工作模式 # 工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理, 下发指令任务管理, 下发指令管理 send_command = self.assert_text2.dev_manage_select_send_command() all_send_command = self.assert_text2.dev_manage_select_all_send_command() working_mode = self.assert_text2.dev_manage_setting_working_mode() all_working_mode = self.assert_text2.dev_manage_setting_all_working_mode() template_manage = self.assert_text.command_manager_page_work_type_template_management() working_mode_task_manage = self.assert_text2.comm_manage_send_working_mode_task_manage() working_mode_manage = self.assert_text2.comm_manage_send_working_mode_manage() task_manage = self.assert_text2.comm_manage_command_task_manage() comm_manager = self.assert_text.command_manager_page_issued_command_manager() command_list = [] working_mode_list = [] # 循环设备管理页面的数据 for b in facility_manage_data: # 选中发送指令 和 本次查询全部发送指令 if send_command in b or all_send_command in b: command_list.append(b) # 选中设置工作模式 和 本次查询全部设置工作模式 elif working_mode in b or all_working_mode in b: working_mode_list.append(b) # 循环指令管理页面的数据 '''for c in command_manage_data: # 下发指令任务管理 和 下发指令管理 if task_manage in c or comm_manager in c: command_list.append(c) # 工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理 elif template_manage in c or working_mode_task_manage in c or working_mode_manage in c: working_mode_list.append(c)''' print("指令", command_list) print("工作模式", working_mode_list) # 验证设备、指令管理页面功能按钮 if command_status == True and working_mode_status == True: # 指令(设备页+指令管理页) self.assertEqual(send_command, command_list[0]) self.assertEqual(all_send_command, command_list[1]) self.assertEqual(task_manage, command_list[2]) self.assertEqual(comm_manager, command_list[3]) # 工作模式(设备页+指令管理页) self.assertEqual(working_mode, working_mode_list[0]) self.assertEqual(all_working_mode, working_mode_list[1]) self.assertEqual(template_manage, working_mode_list[2]) self.assertEqual(working_mode_task_manage, working_mode_list[3]) self.assertEqual(working_mode_manage, working_mode_list[4]) elif command_status == False and working_mode_status == False: # self.assertEqual(comm_manager, command_list[0]) self.assertEqual(0, len(working_mode_list)) elif command_status == True and working_mode_status == False: self.assertEqual(send_command, command_list[0]) self.assertEqual(all_send_command, command_list[1]) self.assertEqual(task_manage, command_list[2]) self.assertEqual(comm_manager, command_list[3]) self.assertEqual(0, len(working_mode_list)) elif command_status == False and working_mode_status == True: self.assertEqual(comm_manager, command_list[0]) self.assertEqual(working_mode, working_mode_list[0]) self.assertEqual(all_working_mode, working_mode_list[1]) self.assertEqual(template_manage, working_mode_list[2]) self.assertEqual(working_mode_task_manage, working_mode_list[3]) self.assertEqual(working_mode_manage, working_mode_list[4]) sleep(1) self.account_center_page_navi_bar.usr_logout() self.log_in_base.log_in() current_handle_01 = self.driver.get_current_window_handle() self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() self.base_page.change_windows_handle(current_handle_01) # 搜索新增客户 self.cust_manage_lower_account_page.input_search_info(info["account"]) # 搜索 self.cust_manage_lower_account_page.click_search_btn() # 删除该新增客户 self.cust_manage_lower_account_page.delete_acc() self.cust_manage_lower_account_page.delete_acc_ensure() # 获取删除操作状态 del_status = self.cust_manage_lower_account_page.get_del_status() self.assertIn(self.assert_text.account_center_page_operation_done(), del_status, "操作失败") # 退出登录 sleep(1) self.account_center_page_navi_bar.usr_logout() csv_file.close()
class TestCase51IssuedCommandManagementSearch(unittest.TestCase): """ 下发指令管理页面的搜索 """ # author:邓肖斌 driver = None base_url = None base_page = None log_in_page = None command_management_page = None base_paging_function = None def setUp(self): # 前置条件 # 实例化对象 self.driver = AutomateDriver(choose='firefox') self.base_url = self.driver.base_url self.base_page = BasePage(self.driver, self.base_url) self.command_management_page = CommandManagementPage( self.driver, self.base_url) self.base_paging_function = BasePagingFunction(self.driver, self.base_url) self.command_management_page_read_csv = CommandManagementPageReadCsv() self.connect_sql = ConnectSql() self.log_in_base = LogInBase(self.driver, self.base_url) self.assert_text = AssertText() # 打开页面,填写用户名、密码、点击登录 self.base_page.open_page() self.driver.set_window_max() self.driver.implicitly_wait(5) self.driver.clear_cookies() self.log_in_base.log_in_jimitest() self.log_in_base.click_account_center_button() self.current_account = self.log_in_base.get_log_in_account() # 登录之后点击控制台,然后点击指令管理 self.command_management_page.click_control_after_click_command_management( ) sleep(3) def tearDown(self): self.driver.quit_browser() def test_case_issued_command_management_search(self): # 断言url expect_url_after_click_command_management = self.base_url + '/custom/toTemplate' self.assertEqual( expect_url_after_click_command_management, self.command_management_page.actual_url_click_command_management()) # 断言左侧列表的title文本 expect_title_text_after_click_command_management = self.assert_text.command_manager_page_command_type( ) self.assertEqual( expect_title_text_after_click_command_management, self.command_management_page. actual_title_text_after_click_command_management()) # 点击下发指令管理 self.command_management_page.click_lift_list( 'issued_command_management') # 断言 expect_title_text = self.assert_text.command_manager_page_issued_command_manager( ) self.assertEqual( expect_title_text, self.command_management_page. actual_text_after_click_look_equipment()) # 读csv csv_file = self.command_management_page_read_csv.read_csv( 'issued_command_management_search_data.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue search_data = {'imei': row[0], 'batch': row[1], 'statue': row[2]} # 添加搜索添加搜索 self.command_management_page.issued_command_management_search_data( search_data) # 连接数据库 connect = self.connect_sql.connect_tuqiang_sql() # 建立游标 cursor = connect.cursor() # 查询登录用户的ID 和 父ID get_current_user_id_sql = \ "select o.userId,o.fullParentId from user_info o where o.account = '" + self.current_account + "';" # 执行 cursor.execute(get_current_user_id_sql) user = cursor.fetchall() print(user) for row1 in user: user_info = {'id': row1[0], 'fullparent': row1[1]} # 判断搜索条件 get_sql = self.command_management_page. \ search_sql_for_issued_command_management_search(user_info['id'], search_data) # 执行sql print(get_sql) cursor.execute(get_sql) current_total = cursor.fetchall() total_list = [] for range1 in current_total: for range2 in range1: total_list.append(range2) total_num = len(total_list) web_total = self.command_management_page.search_total_number_issued_command_management( ) print("网页搜索数量:'%s'" % web_total) print("数据库搜索结果:'%s'" % total_num) self.assertEqual(total_num, web_total) cursor.close() connect.close()