class TestCase08AccountCenterVisualAccount(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.account_center_page_visual_account = AccountCenterVisualAccountPage(self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url) self.driver.set_window_max() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) 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_account_center_visual_account(self): '''通过csv测试虚拟账户管理功能''' # 打开途强在线首页-登录页 self.base_page.open_page() sleep(2) self.log_in_base.log_in() self.account_center_page_navi_bar.click_account_center_button() self.account_center_page_visual_account.enter_visual_account() csv_file = self.account_center_page_read_csv.read_csv('add_visual_account.csv') csv_data = csv.reader(csv_file) for row in csv_data: acc_to_add = { "account": row[0], "passwd": row[1] } # 登录 # 获取虚拟账户管理title visual_account_title = self.account_center_page_visual_account.get_visual_account_title() # 验证消息中心title是否正确显示 self.assertIn(self.assert_text.account_center_page_virtual_account_manager(), visual_account_title, "虚拟账户管理title有误!") # 添加虚拟账户 self.account_center_page_visual_account.add_visual_account(acc_to_add["account"], acc_to_add["passwd"]) state = self.account_center_page_visual_account.get_visual_account_limits_state() self.assertEqual(False, state["edit_data"], "修改数据默认勾选了") self.assertEqual(False, state["instruction"], "下发指令默认勾选了") # 保存 self.account_center_page_visual_account.save_add_info() # 验证是否保存成功 save_status = self.account_center_page_visual_account.get_save_status() self.assertIn(self.assert_text.account_center_page_operation_done(), save_status, "保存成功") self.driver.wait() csv_file.close()
class TestCase09AccountCenterVisuEditAndDel(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.account_center_page_visual_account = AccountCenterVisualAccountPage( self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) 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_account_center_visu_edit_and_del(self): '''通过csv测试虚拟账户管理-编辑、删除功能''' # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in() self.account_center_page_navi_bar.click_account_center_button() # 进入虚拟账户管理 self.account_center_page_visual_account.enter_visual_account() csv_file = self.account_center_page_read_csv.read_csv( 'add_visual_account.csv') csv_data = csv.reader(csv_file) for row in csv_data: acc_to_add = {"account": row[0], "passwd": row[1]} # 添加虚拟账户 self.account_center_page_visual_account.add_visual_account( acc_to_add["account"], acc_to_add["passwd"]) # 取消添加 self.account_center_page_visual_account.dis_save_add_info() self.driver.wait() # 编辑列表中的虚拟账户 self.account_center_page_visual_account.edit_visu_account( acc_to_add["passwd"]) # 验证是否保存成功 save_status = self.account_center_page_visual_account.get_save_status( ) self.assertIn( self.assert_text.account_center_page_operation_done(), save_status, "保存成功") self.account_center_page_visual_account.dis_edit() self.driver.wait(1) # 删除列表中的虚拟账户 self.account_center_page_visual_account.del_visu_account() # 验证是否操作成功 save_status = self.account_center_page_visual_account.get_save_status( ) self.assertIn( self.assert_text.account_center_page_operation_done(), save_status, "操作成功") self.driver.wait() csv_file.close()
class TestCase58CustManageAddAcc(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.search_sql = SearchSql() self.driver.set_window_max() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.cust_manage_page_read_csv = CustManagePageReadCsv() self.connect_sql = ConnectSql() 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_cust_manage_add_acc(self): '''测试客户管理-新增用户''' # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in() # 进入客户管理页面 self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage() self.cust_manage_basic_info_and_add_cust_page.add_acc() self.cust_manage_basic_info_and_add_cust_page.close_add_account() csv_file = self.cust_manage_page_read_csv.read_csv('acc_add.csv') csv_data = csv.reader(csv_file) for row in csv_data: add_info = { "keyword": row[0], "acc_type": row[1], "acc_name": row[2], "account": row[3], "passwd": row[4], "phone": row[5], "email": row[6], "conn": row[7], "com": row[8], "search_user": row[9] } # 左侧客户列表搜索并选中唯一客户 self.cust_manage_cust_list_page.acc_exact_search( add_info["keyword"]) # 点击新增用户 self.cust_manage_basic_info_and_add_cust_page.add_acc() sleep(2) # 验证所选中的上级用户类型来显示可创建的下级类型 user_list = add_info["search_user"].split("/") for type in user_list: self.cust_manage_basic_info_and_add_cust_page.acc_search(type) type_list = self.cust_manage_basic_info_and_add_cust_page.get_acc_user_type_list( ) sql_data = self.search_sql.search_current_account_data(type) user_type = self.assert_text.log_in_page_account_type( sql_data[2]) print(user_type) if user_type == "销售": self.assertEqual(3, type_list["length"]) self.assertIn( self.assert_text.log_in_page_account_type(11), type_list["sale"]) self.assertIn(self.assert_text.log_in_page_account_type(8), type_list["distributor"]) self.assertIn(self.assert_text.log_in_page_account_type(9), type_list["user"]) elif user_type == "代理商": self.assertEqual(2, type_list["length"]) self.assertIn(self.assert_text.log_in_page_account_type(8), type_list["distributor"]) self.assertIn(self.assert_text.log_in_page_account_type(9), type_list["user"]) elif user_type == "用户": self.assertNotEqual(1, type_list["length"]) #self.assertIn(self.assert_text.log_in_page_account_type(9),type_list["user"]) sleep(1) #添加用户类型获取提示 self.cust_manage_basic_info_and_add_cust_page.acc_search( "yonghu222") sleep(2) self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe() # status = self.cust_manage_lower_account_page.edit_info_save_status() self.driver.default_frame() # self.assertEqual(self.assert_text2.cust_manage_add_user_type_prompt(), status, "提示显示不一致") # 右侧搜索栏中搜索并选中作为上级用户 self.cust_manage_basic_info_and_add_cust_page.acc_search( add_info["keyword"]) # 选择客户类型 self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe() self.cust_manage_basic_info_and_add_cust_page.acc_type_choose( add_info["acc_type"]) # 编辑用户输入框信息 self.cust_manage_basic_info_and_add_cust_page.add_acc_input_info_edit( add_info["acc_name"], add_info["account"], add_info["passwd"], add_info["phone"], add_info["email"], add_info["conn"], add_info["com"]) # 修改用户登录权限 self.cust_manage_basic_info_and_add_cust_page.acc_login_limit_modi( ) self.driver.default_frame() self.cust_manage_basic_info_and_add_cust_page.acc_add_save() # 获取保存操作状态 status = self.cust_manage_basic_info_and_add_cust_page.acc_info_save_status( ) # 验证是否操作成功 self.assertIn( self.assert_text.account_center_page_operation_done(), status, "操作失败") # 搜索新增客户 sleep(4) self.cust_manage_lower_account_page.input_search_info( add_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, "操作失败") 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 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 TestCase01AccountCenterModifyInfo(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.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage(self.driver, self.base_url) self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.assert_text = AssertText() self.driver.set_window_max() self.driver.clear_cookies() # 打开途强在线首页-登录页 self.base_page.open_page() sleep(1) # 登录账号 self.log_in_base.log_in() def tearDown(self): self.driver.quit_browser() def test_account_center_modify_info(self): '''通过csv测试修改资料功能''' self.account_center_page_navi_bar.click_account_center_button() csv_file = self.account_center_page_read_csv.read_csv('user_to_modify_info.csv') csv_data = csv.reader(csv_file) for row in csv_data: user_to_modify_info = { "username": row[0], "phone": row[1], "email": row[2] } # 招呼栏修改资料 save_status = self.account_center_page_navi_bar.modify_usr_info(user_to_modify_info["username"], user_to_modify_info["phone"], user_to_modify_info["email"]) # 判断是否修改成功 self.assertEqual(self.assert_text.account_center_page_operation_done(), save_status, "修改失败") #点击账户中心 self.account_center_page_navi_bar.click_account_center_button() sleep(1) #获取详情中用户名跟电话 phone = self.account_center_page_navi_bar.usr_info_phone() self.assertEqual(user_to_modify_info["phone"], phone, "电话号码不一致") break csv_file.close() # 点击关闭 self.account_center_page_navi_bar.click_modify_usr_info() self.account_center_page_navi_bar.cancel_modify_user_info() # 点击取消 self.account_center_page_navi_bar.click_modify_usr_info() self.account_center_page_navi_bar.close_modify_user_info() # 退出登录 self.account_center_page_navi_bar.usr_logout()
class TestCase106GlobSearchAppDetailOperation(unittest.TestCase): def setUp(self): self.driver = AutomateDriver() self.base_url = self.driver.base_url self.base_page = BasePage(self.driver, self.base_url) self.global_dev_search_page = GlobalDevSearchPage( self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPages( self.driver, self.base_url) self.driver.set_window_max() self.global_account_search_page = GlobalAccountSearchPage( self.driver, self.base_url) self.log_in_base = LogInBase(self.driver, self.base_url) self.global_search_page_read_csv = GlobleSearchPageReadCsv() self.search_sql = SearchSql() self.assert_text = AssertText() self.driver.wait(1) self.connect_sql = ConnectSql() self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_case_global_search_app_detail_operation(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in_jimitest() self.log_in_base.click_account_center_button() self.global_dev_search_page.click_easy_search() # 关闭 self.global_dev_search_page.close_search() sleep(2) self.global_dev_search_page.click_easy_search() self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.select_search_app_user() # 点击搜索 # self.global_dev_search_page.click_search_button() # 点击详情 self.global_dev_search_page.click_detail_in_app_user_search() # 点击控制台 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_console_button_in_app_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) self.assertEqual(self.base_url + '/console', self.driver.get_current_url()) self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle) # 重置密码 # 点击重置密码 self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_reset_password_button_in_app_detail() # 点击关闭 self.global_dev_search_page.close_button() # 点击重置密码 self.global_dev_search_page.click_reset_password_button_in_app_detail() # 点击关闭 self.global_dev_search_page.cancel_button() # 点击重置密码 self.global_dev_search_page.click_reset_password_button_in_app_detail() # 点击关闭 self.global_dev_search_page.ensure_button() get_text = self.global_dev_search_page.get_text_after_succeed() self.assertEqual(self.assert_text.account_center_page_operation_done(), get_text) # 获取app用户详情页面绑定的设备信息 get_dev_name = self.global_dev_search_page.get_dev_name_in_app_detail() get_dev_imei = self.global_dev_search_page.get_dev_imei_in_app_detail() get_dev_type = self.global_dev_search_page.get_dev_type_in_app_detail() get_dev_active_time = self.global_dev_search_page.get_dev_active_time_in_app_detail( ) get_dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_app_detail( ) get_dev_bound_user = self.global_dev_search_page.get_dev_bound_user_in_app_detail( ) self.driver.default_frame() # 点击设备的操作 # 详情 self.global_dev_search_page.click_dev_operation_detail_in_app_detail() # 获取点击设备详情后页面的数据 dev_name = self.global_dev_search_page.get_dev_name_in_dev_detail() self.assertEqual(get_dev_name, dev_name) dev_imei = self.global_dev_search_page.get_dev_imei_in_dev_detail() self.assertEqual(get_dev_imei, dev_imei) dev_type = self.global_dev_search_page.get_dev_type_in_dev_detail() self.assertEqual(get_dev_type, dev_type) dev_active_time = self.global_dev_search_page.get_dev_active_time_in_dev_detail( ) self.assertEqual(get_dev_active_time, dev_active_time) dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_dev_detail( ) self.assertEqual(get_dev_expire_time, dev_expire_time) dev_bound_user = self.global_dev_search_page.get_dev_bound_user_in_dev_detail( ) self.assertEqual(get_dev_bound_user, dev_bound_user) # 点击设备的轨迹回放、实时跟踪、查看告警 self.global_dev_search_page.return_app_user_detail_list() # 点击轨迹回放 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_track_replay_button_in_app_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) self.assertEqual( self.base_url + '/trackreplay/locus?imei=%s' % dev_imei, self.driver.get_current_url()) # 断言点击轨迹回放后的设备名称和 imei get_imei_in_replay = self.global_dev_search_page.get_imei_in_replay( ) self.assertEqual(dev_imei, get_imei_in_replay) get_dev_name_in_replay = self.global_dev_search_page.get_dev_name_in_replay( ) self.assertEqual(dev_name, get_dev_name_in_replay) self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle) # 点击实时跟踪 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_track_preset_button_in_app_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) self.assertEqual( self.base_url + '/trackpreset/tracking/%s?isTracking=0' % dev_imei, self.driver.get_current_url()) # 断言点击轨迹回放后的设备名称和 imei get_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset( ) self.assertEqual(dev_imei, get_imei_in_track_preset) get_dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset( ) self.assertIn(dev_name, get_dev_name_in_track_preset) self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle) # 点击查看告警 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_alarm_detail_button_in_app_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) self.assertEqual( self.base_url + '/deviceReport/statisticalReport', self.driver.get_current_url()) # 断言 text = self.global_dev_search_page.get_text_after_click_alarm_detail( ) self.assertEqual( self.assert_text.account_center_page_alarm_details_text(), text) self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle)
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 TestCase06AccountCenterMsgSetRead(unittest.TestCase): 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.login_page = LoginPage(self.driver, self.base_url) self.account_center_page_msg_center = AccountCenterMsgCenterPage( 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.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_account_center_msg_set_read(self): '''通过csv测试消息中心-设置消息为已读功能''' # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in() self.account_center_page_navi_bar.click_account_center_button() # 进入消息中心 self.account_center_page_msg_center.enter_msg_center() self.driver.wait(8) # 进入iframe # self.account_center_page_msg_center.message_center_iframe() # 获取消息中心title msg_center_title = self.account_center_page_msg_center.get_msg_center_title( ) # 验证消息中心title是否正确显示 self.assertIn( self.assert_text.account_center_page_message_center_text(), msg_center_title, "消息中心title有误!") # 退出iframe # self.driver.default_frame() # 获取左侧栏目-消息中心-x条未读 unread_msg_num = int( self.account_center_page_msg_center.get_unread_msg_num()) if unread_msg_num > 0: self.account_center_page_msg_center.message_center_iframe() # 设置搜索条件-消息状态为“未读”,搜索出结果,统计当前未读消息总数 self.account_center_page_msg_center.set_search_status_unread() self.driver.wait(4) # 判断消息中心左侧栏目的未读消息与搜索结果的未读消息数量是否一致 count_unread_msg_num = self.account_center_page_msg_center.get_total_unread_logs_num( ) self.assertEqual(unread_msg_num, count_unread_msg_num, "消息中心左侧栏目的未读消息与搜索结果的未读消息数量不一致") # 根据未读消息总数,将所有未读消息设为已读 if 0 < count_unread_msg_num <= 10: # 当前页全选 self.account_center_page_msg_center.select_current_page_all_msg( ) # 获取当前页所有消息的复选框 select_msg_list = self.account_center_page_msg_center.get_current_page_all_msg_checkbox( ) print(select_msg_list) msg_list_len = len(select_msg_list) print(msg_list_len) # 将选中的标为已读 self.account_center_page_msg_center.set_current_page_status_read( ) # 验证操作状态是否成功 self.driver.wait() status_text = self.account_center_page_msg_center.get_status_text( ) self.assertIn( self.assert_text.account_center_page_operation_done(), status_text, "操作失败") self.driver.wait() # 设置搜索条件-消息状态为“未读”,判断未读消息列表是否为空 self.account_center_page_msg_center.set_search_status_unread() no_msg_text = self.account_center_page_msg_center.get_no_msg_text( ) self.driver.wait() self.assertIn( self.assert_text.account_center_page_no_data_text(), no_msg_text, "未读消息列表未清空") else: # 将所有消息全部标为已读 self.account_center_page_msg_center.set_all_msg_status_read() # 验证操作状态是否成功 self.driver.wait(1) status_text = self.account_center_page_msg_center.get_status_text( ) self.assertIn( self.assert_text.account_center_page_operation_done(), status_text, "操作失败") # 设置搜索条件-消息状态为“未读”,判断未读消息列表是否为空 self.account_center_page_msg_center.set_search_status_unread() no_msg_text = self.account_center_page_msg_center.get_no_msg_text( ) self.assertIn( self.assert_text.account_center_page_no_data_text(), no_msg_text, "未读消息列表未清空") # 退出登录 self.account_center_page_navi_bar.usr_logout() else: print("当前未读消息共:" + str(unread_msg_num) + "条!") self.driver.default_frame()
class TestCase135SafeAreaExpertion(unittest.TestCase): """ web_autotest账号,选择单个区域右侧编辑操作 """ # 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.base_page.open_page() self.base_page.click_chinese_button() self.assert_text = AssertText() self.driver.set_window_max() self.log_in_base.log_in() self.safe_area_page.click_control_after_click_safe_area() def tearDown(self): self.driver.quit_browser() def test_case_safe_area_expertion(self): # 断言url expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) # 点击删除按钮 self.safe_area_page.click_delete_button() text = self.safe_area_page.get_text_after_click_delete() self.assertEqual( self.assert_text.safe_area_page_choose_delete_content(), text) self.safe_area_page.click_ensure() self.safe_area_page.click_delete_button() text = self.safe_area_page.get_text_after_click_delete() self.assertEqual( self.assert_text.safe_area_page_choose_delete_content(), text) self.safe_area_page.click_close() # 点击新建 self.safe_area_page.click_creat_map() # 获取文本 text = self.safe_area_page.get_text_after_create_map() self.assertEqual(self.assert_text.safe_area_page_map_text(), text) # 选择黑车库操作 self.safe_area_page.click_select_black_address_button() # 获取列表第一个的名称 black_address_name = self.safe_area_page.get_first_list_black_address_name( ) # 点击编辑 self.safe_area_page.click_edit_black_address() # 获取打开编辑之后的黑车地址库名字 name = self.safe_area_page.get_black_address_after_click_edit() self.assertEqual(black_address_name, name) # 验证黑车库的按钮是否被选中 black_address_value = self.safe_area_page.get_black_address_input_value( ) self.assertEqual(True, black_address_value) # 点击取消 self.safe_area_page.click_cancel_edit() # 点击编辑 self.safe_area_page.click_edit_black_address() # 获取打开编辑之后的黑车地址库名字 name = self.safe_area_page.get_black_address_after_click_edit() self.assertEqual(black_address_name, name) # 验证黑车库的按钮是否被选中 black_address_value = self.safe_area_page.get_black_address_input_value( ) self.assertEqual(True, black_address_value) # 点击保存 self.safe_area_page.click_ensure() # 获取保存后的文本 text = self.safe_area_page.get_text_after_ensure() print(self.assert_text.account_center_page_operation_done()) print(text) self.assertIn(self.assert_text.account_center_page_operation_done(), text) # 选择围栏编辑 self.safe_area_page.click_select_fence_button() # 获取第一个围栏的名称 fence_name = self.safe_area_page.get_first_list_fence_name() print('1 = %s' % fence_name) # 点击编辑 self.safe_area_page.click_edit_fence() # 获取打开编辑之后的围栏名称 names = self.safe_area_page.get_fence_name_after_edit() print('2 = %s' % names) self.assertEqual(fence_name, names) # 点击取消 self.safe_area_page.click_cancel_edit() # 点击编辑 self.safe_area_page.click_edit_fence() # 获取打开编辑之后的围栏名称 names = self.safe_area_page.get_fence_name_after_edit() self.assertEqual(fence_name, names) # 点击取消 self.safe_area_page.click_ensure() # 获取保存后的文本 text = self.safe_area_page.get_text_after_ensure() self.assertIn(self.assert_text.account_center_page_operation_done(), text)
class TestCase116UserSearchModifyWebDevEditAuthority(unittest.TestCase): 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.global_dev_search_page = GlobalDevSearchPage( self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPages( self.driver, self.base_url) self.driver.set_window_max() self.global_account_search_page = GlobalAccountSearchPage( self.driver, self.base_url) self.log_in_base = LogInBase(self.driver, self.base_url) self.global_search_page_read_csv = GlobleSearchPageReadCsv() self.search_sql = SearchSql() self.driver.wait(1) self.connect_sql = ConnectSql() self.assert_text = AssertText() self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_case_user_search_modify_web_dev_edit_authority(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in() self.log_in_base.click_account_center_button() sleep(4) self.global_dev_search_page.click_easy_search() # 关闭 self.global_dev_search_page.close_search() sleep(2) self.global_dev_search_page.click_easy_search() # 选择用户搜索 self.global_dev_search_page.click_dev_search() self.global_dev_search_page.click_search_buttons() # 获取列表中第二个用户的账号 self.global_dev_search_page.swith_to_search_frame() get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user( ) # 点击详情 self.global_account_search_page.click_user_detail_button() # 点击用户信息 self.global_account_search_page.click_user_info_in_user_detail() # 获取用户信息页面登录账号名字 current_account = self.global_account_search_page.get_current_account_in_user_detail( ) self.assertEqual(get_second_user_account, current_account) # 获取各个权限input的select属性 web_login_authority = self.global_account_search_page.get_web_login_authority_input_select_in_user_detail( ) app_login_authority = self.global_account_search_page.get_app_login_authorith_input_select_in_user_detail( ) batch_issued_command_authority = self.global_account_search_page.batch_issued_command_authority_in_user_detail( ) batch_issued_work_type_authority = self.global_account_search_page.batch_issued_work_type_authority_in_user_detail( ) web_modify_authority = self.global_account_search_page.get_web_modify_authority_in_user_detail( ) app_modify_authority = self.global_account_search_page.get_app_modify_authority_in_user_detail( ) if web_modify_authority == True: # 点击web修改设备的权限 self.global_account_search_page.click_web_modify_dev_authority_in_user_detail( ) # 点击保存 self.global_account_search_page.click_ensuer_button_in_user_detail( ) # 点击关闭 self.driver.default_frame() self.global_account_search_page.click_close_button() # 退出登录 self.global_account_search_page.logout() # 登录刚刚修改过的账号 self.global_account_search_page.log_in_user( get_second_user_account, 'jimi123') # 进入设备管理页面 self.global_account_search_page.click_dev_manage_page() sleep(2) # 点击编辑设备 self.global_account_search_page.click_edit_dev_in_dev_manage_page() # 点击保存 self.global_account_search_page.click_ensuer_button() # 获取提示语 text = self.global_account_search_page.get_no_authority_text() # self.assertIn(self.assert_text.no_authority_text(), text) # 关闭设备编辑页面 self.global_account_search_page.close_dev_edit() # 退出登录的账号 self.global_account_search_page.click_account_manage_page() self.global_account_search_page.logout() # 登录web_autotest self.log_in_base.log_in() self.log_in_base.click_account_center_button() self.global_dev_search_page.click_easy_search() # 关闭 self.global_dev_search_page.close_search() sleep(2) self.global_dev_search_page.click_easy_search() # 选择用户搜索 self.global_dev_search_page.click_dev_search() self.global_dev_search_page.click_search_buttons() # 点击详情 self.global_dev_search_page.swith_to_search_frame() self.global_account_search_page.click_user_detail_button() # 点击用户信息 self.global_account_search_page.click_user_info_in_user_detail() self.global_account_search_page.click_web_modify_dev_authority_in_user_detail( ) # 点击保存 self.global_account_search_page.click_ensuer_button_in_user_detail( ) # 点击关闭 self.driver.default_frame() self.global_account_search_page.click_close_button() # 退出登录 self.global_account_search_page.logout() # 登录刚刚修改过的账号 self.global_account_search_page.log_in_user( get_second_user_account, 'jimi123') # 进入设备管理页面 self.global_account_search_page.click_dev_manage_page() # 点击编辑设备 self.global_account_search_page.click_edit_dev_in_dev_manage_page() # 点击保存 self.global_account_search_page.click_ensuer_button() # 获取提示语 text = self.global_account_search_page.get_authority_text() self.assertIn( self.assert_text.account_center_page_operation_done(), text) elif web_modify_authority == False: # 点击web修改设备的权限 self.global_account_search_page.click_web_modify_dev_authority_in_user_detail( ) # 点击保存 self.global_account_search_page.click_ensuer_button_in_user_detail( ) # 点击关闭 self.driver.default_frame() self.global_account_search_page.click_close_button() # 退出登录 self.global_account_search_page.logout() # 登录刚刚修改过的账号 self.global_account_search_page.log_in_user( get_second_user_account, 'jimi123') # 进入设备管理页面 self.global_account_search_page.click_dev_manage_page() # 点击编辑设备 self.global_account_search_page.click_edit_dev_in_dev_manage_page() # 点击保存 self.global_account_search_page.click_ensuer_button() # 获取提示语 text = self.global_account_search_page.get_authority_text() self.assertIn( self.assert_text.account_center_page_operation_done(), text) # 关闭设备编辑页面 self.global_account_search_page.close_dev_edit() # 退出登录的账号 self.global_account_search_page.click_account_manage_page() sleep(2) self.global_account_search_page.logout() # 登录web_autotest self.log_in_base.log_in() self.log_in_base.click_account_center_button() self.global_dev_search_page.click_easy_search() # 关闭 self.global_dev_search_page.close_search() sleep(2) self.global_dev_search_page.click_easy_search() # 选择用户搜索 self.global_dev_search_page.click_dev_search() self.global_dev_search_page.click_search_buttons() # 点击详情 self.global_dev_search_page.swith_to_search_frame() self.global_account_search_page.click_user_detail_button() # 点击用户信息 self.global_account_search_page.click_user_info_in_user_detail() self.global_account_search_page.click_web_modify_dev_authority_in_user_detail( ) # 点击保存 self.global_account_search_page.click_ensuer_button_in_user_detail( ) # 点击关闭 self.driver.default_frame() self.global_account_search_page.click_close_button() # 退出登录 self.global_account_search_page.logout() # 登录刚刚修改过的账号 self.global_account_search_page.log_in_user( get_second_user_account, 'jimi123') # 进入设备管理页面 self.global_account_search_page.click_dev_manage_page() # 点击编辑设备 self.global_account_search_page.click_edit_dev_in_dev_manage_page() # 点击保存 self.global_account_search_page.click_ensuer_button() # 获取提示语 text = self.global_account_search_page.get_no_authority_text()
class TestCase60CustManageLowerAccountEdit(unittest.TestCase): 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.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.driver.set_window_max() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.cust_manage_page_read_csv = CustManagePageReadCsv() 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_cust_manage_lower_account_edit(self): '''客户管理-下级客户-单个客户编辑''' # 打开途强在线首页-登录页 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() csv_file = self.cust_manage_page_read_csv.read_csv('lower_acc_edit.csv') csv_data = csv.reader(csv_file) for row in csv_data: edit_info = { "acc_type": row[0], "acc_name": row[1], "phone": row[2], "email": row[3], "conn": row[4], "com": row[5] } sleep(2) # 取消 self.cust_manage_lower_account_page.edit_info_cancel() # 点击单个用户的编辑 self.cust_manage_lower_account_page.click_acc_edit() # 选择客户类型 sleep(3) self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe() self.cust_manage_lower_account_page.acc_type_choose(edit_info["acc_type"]) # 编辑信息 self.cust_manage_lower_account_page.edit_acc_input_info_edit(edit_info["acc_name"], edit_info["phone"], edit_info["email"], edit_info["conn"], edit_info["com"]) # 保存 self.driver.default_frame() self.cust_manage_lower_account_page.edit_info_save() # 获取操作状态 status = self.cust_manage_lower_account_page.edit_info_save_status() # 验证是否操作成功 self.assertIn(self.assert_text.account_center_page_operation_done(), status, "操作失败")
class TestCase400830AccountCenterFastSaleEditAddFaility(unittest.TestCase): 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.login_page = LoginPage(self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage( self.driver, self.base_url) self.assert_text = AssertText() self.driver.set_window_max() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_fast_sale_edit_add_faility_succeed(self): '''通过csv测试账户详情-快捷销售-编辑设备名称和设备sim卡号''' csv_file = self.account_center_page_read_csv.read_csv( 'fast_sale_edit_dev_data.csv') csv_data = csv.reader(csv_file) # 打开途强在线首页-登录页 self.base_page.open_page() # 登录账号 self.log_in_base.log_in_with_csv("dzltest", "jimi123") self.driver.wait(1) self.account_center_page_navi_bar.click_account_center_button() for row in csv_data: data = { "account": row[0], "device_imei": row[1], "selected_dev": row[2], "dev_name": row[3], "sim": row[4], "old_dev_name": row[5], "old_sim": row[6] } # 进入快捷销售页面 self.account_center_page_details.account_center_iframe() self.account_center_page_details.fast_sales() # 查找账户 self.account_center_page_details.fast_sales_find_account( data["account"]) # 输入设备imei精确查找设备并添加 self.account_center_page_details.fast_sales_find_and_add_device( data["device_imei"]) self.driver.default_frame() self.driver.wait() # 关闭消息提示框 try: self.account_center_page_details.click_prompt_close() except: print("没有消息弹框提示") # self.account_center_page_details.account_center_iframe() # 获取列表设备imei,名称和sim卡号 info = self.account_center_page_details.get_list_add_equipment_user_and_sim( ) # 验证设备名称和sim卡的元素长度 self.assertEqual( 50, self.account_center_page_details.get_fast_sale_dev_name_len(), "设备名称长度不一致") self.assertEqual( 20, self.account_center_page_details.get_fast_sale_dev_sim_len(), "设备sim卡长度不一致") # 编辑设备名称和sim卡号 self.account_center_page_details.edit_list_add_equipment( info["imei"], data["dev_name"], data["sim"]) # 点击用户到期时间 self.account_center_page_details.account_center_iframe() self.account_center_page_details.choose_account_expired_time( data["selected_dev"]) sleep(1) # 销售 self.account_center_page_details.sale_button() # 通过弹出框状态验证是否销售成功 sale_status_text = self.account_center_page_details.get_sale_status( ) self.assertIn( self.assert_text.account_center_page_operation_done(), sale_status_text, "销售失败") self.driver.default_frame() sleep(2) # 点击设备管理 dev_data = self.account_center_page_details.get_dev_manage_equipment_user_and_sim( info["imei"]) for i in range(len(dev_data["dev_imei"])): if data["dev_name"] != "": self.assertEqual(info["imei"][i] + data["dev_name"], dev_data["dev_name"][i], "设备名称与期望不一致") else: self.assertIn(info["imei"][i][10:], dev_data["dev_name"][i], "为空时,设备名称不存在后五位imei") self.assertEqual(data["sim"], dev_data["dev_sim"][i], "sim卡与期望不一致") # 改设备数据 self.account_center_page_details.dev_manage_edit_equipment_user_and_sim( data["old_dev_name"], data["old_sim"]) break
class TestCase61CustManageLowerAccountOperate(unittest.TestCase): 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.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.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_cust_manage_lower_account_operate(self): '''客户管理-下级客户-单个客户操作''' # 打开途强在线首页-登录页 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.driver.wait() # account = self.cust_manage_basic_info_and_add_cust_page.get_account_text() # 点击单个用户的重置密码 self.cust_manage_lower_account_page.acc_reset_passwd() # 获取重置密码弹框文本内容 text = self.cust_manage_lower_account_page.reset_passwd_content() # 验证重置密码弹框文本内容是否正确显示 self.assertIn(self.assert_text.cust_page_are_you_reset_this_password(), text, "重置密码弹框文本内容显示错误") # 确定重置密码 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, "操作失败") # 获取当前窗口句柄 account_center_handle = self.driver.get_current_window_handle() # 点击单个用户的控制台 self.cust_manage_lower_account_page.enter_console() self.driver.wait() expect_url = self.base_url + "/index" # 获取当前所有窗口句柄 all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != account_center_handle: self.driver.switch_to_window(handle) self.driver.wait(1) current_url = self.driver.get_current_url() self.assertEqual(expect_url, current_url, "控制台页面跳转错误!") # 关闭当前窗口 self.driver.close_current_page() # 回到账户中心窗口 self.driver.switch_to_window(account_center_handle) self.driver.wait() # 点击单个用户的删除 self.cust_manage_lower_account_page.delete_acc() self.driver.click_element('c,layui-layer-btn1')