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 TestCase210UserCenterLoginLog(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.help_page = HelpPage(self.driver, self.base_url) self.account_center_page_operation_log = AccountCenterOperationLogPage( self.driver, self.base_url) self.help_page_sql = HelpPageSql() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.connect_sql = ConnectSql() self.connect_es = ConnectEs() self.log_in_base = LogInBaseServer(self.driver, self.base_page) 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_user_center_login_log(self): self.base_page.open_page() self.log_in_base.log_in() sleep(3) current_handle = self.driver.get_current_window_handle() self.log_in_base.click_account_center_button() self.base_page.change_windows_handle(current_handle) # 获取登录账号的用户名 current_account = self.log_in_base.get_log_in_account() # 点击招呼栏-业务日志 self.account_center_page_operation_log.click_help_button() self.help_page.click_log_in_log() # 判断当前页面是否正确跳转至业务日志页面 expect_url = self.base_url + "/userFeedback/toHelp" self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误") i = 0 csv_file = self.account_center_page_read_csv.read_csv( 'search_log_in_log_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 = { 'account': row[0], 'begin_time': row[1], 'end_time': row[2] } self.help_page.search_login_log(search_data) # 获取当前登录账号和下级账号全部的userid all_user_id = self.help_page.get_all_user_id(current_account) print(all_user_id) '''connect = self.connect_sql.connect_tuqiang_sql() cursor = connect.cursor() get_total_sql = self.help_page_sql.search_log_in_sql(all_user_id, search_data) cursor.execute(get_total_sql) total_list = cursor.fetchall() cursor.close() connect.close()''' # 连接Elastic search es = self.connect_es.connect_es() # 搜索的数据 query_data = self.help_page.get_search_log_in_log_query_data( all_user_id, search_data) res_01 = es.search(index='userlogin_log_2', body={ 'query': query_data, 'size': 20000 }) res_02 = es.search(index='userlogin_log_12', body={ 'query': query_data, 'size': 20000 }) res_03 = es.search(index='userlogin_log_1', body={ 'query': query_data, 'size': 20000 }) total = len(res_01['hits']['hits']) + len( res_02['hits']['hits']) + len(res_03['hits']['hits']) i += 1 print('第%s次查询数据库的条数为:%s' % (i, total)) web_total = self.help_page.get_current_login_log() print('第%s次查询页面的条数是:%s' % (i, web_total)) if total != 0: total += 10 self.assertEqual(total, web_total) csv_file.close()
class TestCase40AccountCenterOperLoginLog(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.help_page = HelpPage(self.driver, self.base_url) self.account_center_page_operation_log = AccountCenterOperationLogPage(self.driver, self.base_url) self.help_page_sql = HelpPageSql() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.connect_sql = ConnectSql() self.log_in_base = LogInBaseServer(self.driver, self.base_page) 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_account_center_login_log(self): self.base_page.open_page() self.log_in_base.log_in() self.log_in_base.click_account_center_button() # 获取登录账号的用户名 current_account = self.log_in_base.get_log_in_account() # 点击招呼栏-业务日志 self.account_center_page_operation_log.click_help_button() self.help_page.click_log_in_log() # 判断当前页面是否正确跳转至业务日志页面 expect_url = self.base_url + "/userFeedback/toHelp" self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误") i = 0 csv_file = self.account_center_page_read_csv.read_csv('search_log_in_log_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 = { 'account': row[0], 'begin_time': row[1], 'end_time': row[2] } self.help_page.search_login_log(search_data) connect = self.connect_sql.connect_tuqiang_sql() # 创建数据库游标 cur = connect.cursor() # 执行sql脚本查询当前登录账号的userId,fullParent get_id_sql = "select o.userId from user_info o where o.account = '" + current_account + "' ;" cur.execute(get_id_sql) # 读取数据 user_relation = cur.fetchall() # 遍历数据 for row1 in user_relation: user_relation_id = { "userId": row1[0] } get_total_sql = self.help_page_sql.search_log_in_sql(user_relation_id['userId'], search_data) print(get_total_sql) cur.execute(get_total_sql) # 读取数据 total_data = cur.fetchall() # 从数据tuple中获取最终查询记录统计条数 total_list = [] for range1 in total_data: for range2 in range1: total_list.append(range2) total = len(total_list) i += 1 print('第%s次查询数据库的条数为:%s' % (i, total)) web_total = self.help_page.get_current_login_log() print('第%s次查询页面的条数是:%s' % (i, web_total)) self.assertEqual(total, web_total) cur.close() connect.close() csv_file.close()
class TestCase7408171CustManagelResetPasswordVerify(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.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.assert_text2 = AssertText2() self.driver.set_window_max() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.assert_text = AssertText() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_cancel_and_ascertain_reset_password(self): '''客户管理-取消和确定重置密码操作''' account = ["xin_121313"] # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in() self.driver.wait(1) # 进入客户管理页面 self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() # 搜索账号 self.cust_manage_lower_account_page.input_search_info(account[0]) self.cust_manage_lower_account_page.click_search_btn() self.assertEqual( account[0], self.cust_manage_lower_account_page.get_search_result_account(), "搜索结果账号不一致") # 取消重置密码 self.cust_manage_lower_account_page.click_reset_passwd_dismiss() # 取消重置密码后的验证 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(account[0], "jimi123") hello_usr = self.account_center_page_navi_bar.hello_user_account() self.assertIn(account[0], hello_usr, "登录成功后招呼栏账户名显示错误") sleep(1) self.account_center_page_navi_bar.usr_logout() #再次登录,重置密码 self.log_in_base.log_in() self.driver.wait(1) # 进入客户管理页面 self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() self.cust_manage_lower_account_page.input_search_info(account[0]) self.cust_manage_lower_account_page.click_search_btn() # 点击单个用户的重置密码 self.cust_manage_lower_account_page.acc_reset_passwd() # 获取重置密码弹框文本内容 text = self.cust_manage_lower_account_page.reset_passwd_content() hint_password = text.split(":")[2] # 验证重密码是否正确显示 self.assertEqual("888888", hint_password, "弹框中的重置密码显示的不是888888") # 确定重置密码 self.cust_manage_lower_account_page.reset_passwd_ensure() # 获取重置状态 reset_status = self.cust_manage_lower_account_page.reset_passwd_content( ) # 验证操作状态是否成功 self.assertIn(self.assert_text.account_center_page_operation_done(), reset_status, "操作失败") # 退出登录 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(account[0], hint_password) sleep(2) # 修改用户默认密码(jimi123) self.cust_manage_basic_info_and_add_cust_page.user_default_password_edit( "jimi123") sleep(2) # 获取密码修改成功 self.driver.click_element("x,/html/body/div[16]/div[3]/a") # status = self.cust_manage_basic_info_and_add_cust_page.user_default_password_edit_prompt() # self.assertIn(self.assert_text2.home_page_edit_password_success(), status, "修改密码失败!") sleep(2) self.assertEqual(self.base_url + "/", self.driver.get_current_url(), "修改默认密码后,没有返回到登录页")
class TestCase39AccountCenterOperCustLog(unittest.TestCase): """ 帮助--业务日志 """ # author:邓肖斌 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.help_page = HelpPage(self.driver, self.base_url) self.account_center_page_operation_log = AccountCenterOperationLogPage( self.driver, self.base_url) self.help_page_sql = HelpPageSql() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.connect_sql = ConnectSql() self.log_in_base = LogInBaseServer(self.driver, self.base_page) 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_account_center_oper_cust_log(self): self.base_page.open_page() self.log_in_base.log_in() self.log_in_base.click_account_center_button() # 获取登录账号的用户名 current_account = self.log_in_base.get_log_in_account() # 点击招呼栏-业务日志 self.account_center_page_operation_log.click_help_button() self.help_page.click_business_log() # 判断当前页面是否正确跳转至业务日志页面 expect_url = self.base_url + "/userFeedback/toHelp" self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误") i = 0 csv_file = self.account_center_page_read_csv.read_csv( 'search_cus_manager_log_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 = { 'search_type': row[0], 'begin_time': row[1], 'end_time': row[2], 'more': row[3] } self.help_page.search_business_log(search_data) connect = self.connect_sql.connect_tuqiang_sql() # 创建数据库游标 cur = connect.cursor() # 执行sql脚本查询当前登录账号的userId,fullParent get_id_sql = \ "select o.account,o.userId,o.fullParentId from user_info o where o.account = " \ "'" + current_account + "' ;" cur.execute(get_id_sql) # 读取数据 user_relation = cur.fetchall() # 遍历数据 for row1 in user_relation: user_relation_id = { "account": row1[0], "userId": row1[1], "fullParent": row1[2] } # 执行sql脚本,根据当前登录账号的userId,fullParent查询出当前账户的所有下级账户 get_lower_account_sql = "select userId from user_info where fullParentId like" + \ "'" + user_relation_id["fullParent"] + user_relation_id["userId"] + "%'" + ";" cur.execute(get_lower_account_sql) # 读取数据 lower_account = cur.fetchall() lower_account_list = [user_relation_id["userId"]] for range1 in lower_account: for range2 in range1: lower_account_list.append(range2) lower_account_tuple = tuple(lower_account_list) get_total_sql = self.help_page_sql.business_log_sql( lower_account_tuple, search_data) print(get_total_sql) cur.execute(get_total_sql) # 读取数据 total_data = cur.fetchall() # 从数据tuple中获取最终查询记录统计条数 total_list = [] for range3 in total_data: for range4 in range3: total_list.append(range4) total = len(total_list) i += 1 print('第%s次查询数据库的条数为:%s' % (i, total)) web_total = self.help_page.get_current_customer_log() print('第%s次查询页面的条数是:%s' % (i, web_total)) self.assertEqual(total, web_total) cur.close() connect.close() csv_file.close()
class TestCase404CustomerManagementAddAUserWebLimit(unittest.TestCase): # 测试客户管理-新增用户-验证web登陆权限 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_web_limit_verify(self): '''测试客户管理-web权限验证''' self.base_page.open_page() csv_file = self.cust_manage_page_read_csv.read_csv( 'add_user_web_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], "web_setting": row[9], "app_setting": 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() 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"]) # 是或否勾选web和app登录权限 web_status = self.cust_manage_basic_info_and_add_cust_page.setting_web_login_permissions( info["web_setting"]) app_status = self.cust_manage_basic_info_and_add_cust_page.setting_app_login_permissions( info["app_setting"]) self.assertEqual(info["web_setting"], str(web_status), "勾选状态与期望不一致") self.assertEqual(info["app_setting"], str(app_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() # 没有web登录权限验证 if web_status == False: self.log_in_base.log_in_with_csv(info["account"], info["passwd"]) self.assertEqual(self.assert_text2.login_no_permissions(), self.login_page.get_exception_text(), "没有获取到没有权限登录的提示") # 有web登录权限验证 elif web_status == True: self.log_in_base.log_in_with_csv(info["account"], info["passwd"]) sleep(2) hello_usr = self.account_center_page_navi_bar.usr_info_account( ) self.assertIn(info["account"], hello_usr, "登录成功后招呼栏账户名显示错误") sleep(1) self.log_in_base.click_account_center_button() 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 TestCase138SafeAreaMarkPointOperation(unittest.TestCase): """ 围栏编辑页面搜索关联设备 """ # author:邓肖斌 def setUp(self): self.driver = AutomateDriverServer(choose='chrome') self.base_url = self.driver.base_url self.base_page = BasePageServer(self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.safe_area_page = SafeAreaPage(self.driver, self.base_url) self.safe_area_page_read_csv = SafeAreaPageReadCsv() self.assert_text = AssertText() self.connect_sql = ConnectSql() self.safe_area_search_sql = SafeAreaSearchSql() self.base_page.open_page() self.base_page.click_chinese_button() self.driver.set_window_max() self.log_in_base.log_in_jimitest() def tearDown(self): self.driver.quit_browser() def test_case_safe_area_mark_point_operation(self): self.log_in_base.click_account_center_button() # 获取登录账号的用户名 current_account = self.log_in_base.get_log_in_account() # 跳转到安全区域 self.safe_area_page.click_control_after_click_safe_area() # 断言url expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) # 点击围栏 self.safe_area_page.click_select_fence_button() # 点击编辑 self.safe_area_page.click_edit_fence() # 获取围栏名称 fence_name = self.safe_area_page.get_fence_name_of_cur_edit() print("当前围栏名称为:%s" % fence_name) i = 0 # 读csv csv_file = self.safe_area_page_read_csv.read_csv( 'safe_area_fences_relation_dev_data.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue data = { "account": row[0], "search_type": row[1], "search_content": row[2] } self.safe_area_page.fences_edit_page_search_dev(data) # 断言 # 连接数据库 connect = self.connect_sql.connect_tuqiang_sql() # 建立游标 cursor = connect.cursor() geo_id_sql = self.safe_area_search_sql.search_sql_in_test_case_138_01( fence_name) # 执行 cursor.execute(geo_id_sql) geo = cursor.fetchall() print(geo) for row1 in geo: geo_id = {"geo_id": row1[0]} # 判断搜索条件 get_sql = self.safe_area_search_sql. \ search_sql_in_test_case_138_02(geo_id["geo_id"], current_account, 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.safe_area_page.get_fence_relation_dev_num() i += 1 print('第%s次查询页面的条数是:%s' % (i, web_total)) print('第%s次查询数据库的条数为:%s' % (i, total_num)) self.assertEqual(total_num, web_total) cursor.close() connect.close()
class TestCase7508171CustManagelDeleteAccountVerify(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_cust_list_page = CustManageCustListPage( self.driver, self.base_url) self.cust_manage_my_dev_page = CustManageMyDevPage( 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.assert_text2 = AssertText2() self.driver.set_window_max() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.assert_text = AssertText() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_cancel_and_ascertain_delete_account(self): '''客户管理-取消和确定删除账号操作''' # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in_with_csv("dzltest", "jimi123") self.driver.wait(1) # 进入客户管理页面 self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() # 删除有绑定或分配有设备的账号 search_data = { 'account': "csscgndh", "account_type": "", "info": "scybdsbhfpysbdh" } self.cust_manage_lower_account_page.add_data_to_search_account( search_data) self.assertEqual( search_data["info"], self.cust_manage_lower_account_page.get_search_result_account(), "搜索结果账号不一致") #确定删除 self.cust_manage_lower_account_page.delete_acc() self.cust_manage_lower_account_page.delete_acc_ensure() self.assertEqual( self.assert_text2.cust_manage_exist_facility_cannot_del(), self.cust_manage_lower_account_page.get_del_status(), "删除提示不一致") sleep(3) # 删除有下级客户的账号 account = ["csscgndh"] self.cust_manage_basic_info_and_add_cust_page.click_left_tree_current_user( ) # 搜索账号 self.cust_manage_lower_account_page.input_search_info(account[0]) self.cust_manage_lower_account_page.click_search_btn() self.assertEqual( account[0], self.cust_manage_lower_account_page.get_search_result_account(), "搜索结果账号不一致") #确定删除 self.cust_manage_lower_account_page.delete_acc() self.cust_manage_lower_account_page.delete_acc_ensure() #验证有下级客户的账号 self.assertEqual(self.assert_text2.cust_manage_exist_user_cannot_del(), self.cust_manage_lower_account_page.get_del_status(), "删除提示不一致") sleep(2) #取消删除后的验证 self.cust_manage_lower_account_page.delete_acc_x() #退出 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(account[0], "jimi123") self.driver.wait(1) hello_usr = self.account_center_page_navi_bar.hello_user_account() self.assertIn(account[0], hello_usr, "登录成功后招呼栏账户名显示错误") sleep(1) self.log_in_base.click_account_center_button() sleep(2) self.account_center_page_navi_bar.usr_logout()
class TestCase37FeedbackTest(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.log_in_base = LogInBaseServer(self.driver, self.base_url) self.account_center_page_operation_log = AccountCenterOperationLogPage( self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_navi_bar2 = AccountCenterNaviBarPage2( self.driver, self.base_url) self.connect_sql = ConnectSql() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.search_sql = SearchSql() self.assert_text = AssertText() 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_case_feedback_test(self): self.base_page.open_page() self.log_in_base.log_in() self.log_in_base.click_account_center_button() # 点击招呼栏-业务日志 self.account_center_page_operation_log.click_help_button() # 判断当前页面是否正确跳转至业务日志页面 expect_url = self.base_url + "/userFeedback/toHelp" self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误") # 选择追踪问题/轨迹问题/指令问题/功能建议/围栏问题/告警问题/我有疑问/其他 self.account_center_page_navi_bar2.switch_to_feedback_frame() get_total_numbers = self.account_center_page_navi_bar2.get_total_numbers_feedback( ) for n in range(get_total_numbers): a = self.account_center_page_navi_bar2.click_per_feedback_in_feedback_page( n) self.assertEqual('active', a) # 输入参数为空,点击保存 self.account_center_page_navi_bar2.click_ensuer_button_in_feedback_page( ) error_content = self.account_center_page_navi_bar2.get_error_content_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_content(), error_content) error_contact = self.account_center_page_navi_bar2.get_error_contact_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_contact(), error_contact) error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_phone(), error_phone) # 输入描述内容,点击保存 self.account_center_page_navi_bar2.input_content_after_ensuer_in_feedback_page( 'fasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdc' ) error_content = self.account_center_page_navi_bar2.get_error_content_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_contents(), error_content) # 输入联系人,点击保存 self.account_center_page_navi_bar2.input_contact_after_ensuer_in_feedback_page( 'fdfasfasdfasdfaswe fbfbvdfvasdcvxzcqwefdqwerfdsac asfewqrfqwedfqwed qwefdqwef qwefcasdfc wqerrcvsa v qerfv' ) error_contact = self.account_center_page_navi_bar2.get_error_contact_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_contacts(), error_contact) # 输入联系电话,点击保存 self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page( 'dfadsf') error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_phones(), error_phone) self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page( '123') error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_phoness(), error_phone) self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page( '123123123123123123123123122312312123412412') error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback( ) self.assertEqual(self.assert_text.feedback_page_error_phoness(), error_phone) # 正确选择并输入各项参数,点击保存 self.account_center_page_navi_bar2.input_content_after_ensuer_in_feedback_page( '这是反馈内容') self.account_center_page_navi_bar2.input_contact_after_ensuer_in_feedback_page( '这是联系人') self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page( '110110110') self.account_center_page_navi_bar2.click_ensuer_button_in_feedback_page( ) text = self.account_center_page_navi_bar2.get_feedback_text_after_click_ensuer( ) self.assertEqual(self.assert_text.feedback_page_ensuer_succeed_text(), text)