class TestCase122UserSearchTransferUser(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.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_transfer_user(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_user_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_transfer_user_button_in_user_detail_button( ) # 选择的用户是该用户(用户详情所属的用户)或其下级用户,提示“选择的用户不能作为上级用户” self.global_account_search_page.search_user_to_transfer_user_in_user_detail( get_second_user_account) get_text = self.global_account_search_page.get_text_after_click_transfer_user( ) self.assertEqual( self.assert_text.the_selected_user_cannot_be_the_superior(), get_text)
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.driver.wait(1) self.connect_sql = ConnectSql() self.driver.clear_cookies() self.driver.wait(1)
class TestCase129DevAdvancedSearchGetBack(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.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_dev_advanced_search_get_back(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_searchs() # 选择设备搜索 self.global_dev_search_page.swith_to_search_frame() # 获取列表中首页设备的imei号 # 获取首页有多少条记录 first_page_total_number = self.global_dev_search_page.get_first_page_total_number_in_dev_search( ) imei_list_first = [] for n in range(first_page_total_number): imei = self.global_dev_search_page.get_imei_in_dev_search(n) imei_list_first.append(imei) # 点击高级按钮 self.global_dev_search_page.click_advanced_search_button() # 获取高级搜索页面设备列表的imei first_page_total_number_in_advanced_search = self.global_dev_search_page.get_first_total_number_in_advanced_search( ) self.assertEqual(first_page_total_number, first_page_total_number_in_advanced_search) imei_list_second = [] for x in range(first_page_total_number_in_advanced_search): imei = self.global_dev_search_page.get_imei_in_dev_advanced_search( x) imei_list_second.append(imei) self.assertEqual(imei_list_first, imei_list_second) # 点击返回按钮 self.global_dev_search_page.click_get_back_button_in_advanced_search() # 获取首页有多少条记录 third_page_total_number = self.global_dev_search_page.get_first_page_total_number_in_dev_search( ) self.assertEqual(first_page_total_number, third_page_total_number) imei_list_thrid = [] for n in range(third_page_total_number): imei = self.global_dev_search_page.get_imei_in_dev_search(n) imei_list_thrid.append(imei) self.assertEqual(imei_list_thrid, imei_list_first)
class TestCase136GlobSearchDevSearch(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.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_glob_search_dev_search(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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.swith_to_search_frame() self.global_dev_search_page.click_advanced_search_button() # 点击搜索按钮 self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page( ) sleep(4) # 点击详情 self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page( ) sleep(2) # 获取设备的imei和状态 get_dev_imei = self.global_dev_search_page.get_dev_imei_in_details() get_dev_status = self.global_dev_search_page.get_dev_status_in_dev_detail( ) # 点击关闭高级搜索 self.driver.default_frame() self.global_dev_search_page.click_close_button() # 点击控制台 self.global_dev_search_page.click_cancel_page_button() # 输入imei然后搜索 self.global_dev_search_page.add_dev_imei_to_search_in_console( get_dev_imei) # 获取设备的状态在控制台页面 get_dev_status_in_console_page = self.global_dev_search_page.get_dev_status_in_console_page( ) self.assertEqual(get_dev_status, get_dev_status_in_console_page)
class TestCase131DevSearchDetailDevInfo(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.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_dev_search_detail_dev_info(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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() sleep(3) self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_advanced_search_button() # 点击搜索按钮 self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page( ) sleep(4) # 点击详情 self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page( ) sleep(2) get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced( ) ## 点击设备信息 self.global_dev_search_page.click_dev_info_in_dev_advancde_search_page( ) self.global_dev_search_page.switch_to_dev_info_frame() get_imei_in_dev_info = self.global_dev_search_page.get_imei_in_dev_info_after_click_dev_info_button( ) self.assertEqual(get_imei_in_dev_advanced_detail_page, get_imei_in_dev_info) ## 点击设备IMEI,修改设备IMEI get_imei_input_attribute = self.global_dev_search_page.get_imei_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_imei_input_attribute) ## 点击设备设备名称输入框,修改设备的设备名称,点击保存 self.global_dev_search_page.input_dev_name_modify_dev_info_in_dev_info_page( '这是设备名称') # 点击保存 self.global_dev_search_page.click_ensure_button_in_dev_info_page() # 点击设备设备分组下拉按钮,修改设备的设备分组(在控制台页面已新建分组),点击保存 self.global_dev_search_page.select_dev_group_in_dev_info_page() self.global_dev_search_page.click_ensure_button_in_dev_info_page() # 修改使用范围选项(11类) self.global_dev_search_page.click_dev_range_of_use_in_dev_info_page( '2') self.global_dev_search_page.click_ensure_button_in_dev_info_page() # 修改iccid get_iccid_input_attribute = self.global_dev_search_page.get_iccid_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_iccid_input_attribute) # 修改销售时间 get_sale_time_input_attribute = self.global_dev_search_page.get_sale_time_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_sale_time_input_attribute) # 修改超速速度和超速时间 self.global_dev_search_page.add_over_speed_and_over_speed_time_to_modify_dev_info( '12', '10') self.global_dev_search_page.click_ensure_button_in_dev_info_page() # 点击备注输入框,修改设备的备注,点击保存 self.global_dev_search_page.add_remark_to_modify_dev_info('这是备注') self.global_dev_search_page.click_ensure_button_in_dev_info_page() ## 点击设备类型,修改设备类型 get_dev_type_input_attribute = self.global_dev_search_page.get_dev_type_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_dev_type_input_attribute) ## 点击设备SIM卡号输入框,修改设备的设备SIM卡号,点击保存 self.global_dev_search_page.add_sim_number_to_modify_dev_info_page( '123456789') self.global_dev_search_page.click_ensure_button_in_dev_info_page() ## 点击激活时间,修改设备的激活时间 get_active_time_input_attribute = self.global_dev_search_page.get_active_time_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_active_time_input_attribute) ## 点击平台到期时间,修改设备平台到期时间 get_platform_time_input_attribute = self.global_dev_search_page.get_platform_time_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_platform_time_input_attribute) ##点击imsi,修改imsi get_imsi_input_attribute = self.global_dev_search_page.get_imsi_input_attribute_in_dev_info_page( ) self.assertEqual('true', get_imsi_input_attribute) ## 点击导入时间输入框,编辑时间 get_export_time_attribute = self.global_dev_search_page.get_export_time_attribute_in_dev_info_page( ) self.assertEqual('true', get_export_time_attribute)
class TestCase108GlobSearchUserDetail(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.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_global_search_user_detail(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_account_search() # self.global_dev_search_page.click_search_buttons() user_name = self.global_dev_search_page.get_user_name_in_user_search() user_type = self.global_dev_search_page.get_user_type_in_user_search() user_account = self.global_dev_search_page.get_user_account_in_user_search( ) # 点用户详情 self.global_dev_search_page.click_detail_in_user_search() # 用户信息 self.global_dev_search_page.click_user_info_in_user_detail() # 获取用户信息中用户名称,用户类型、用户账号、上级用户 user_name_in_detail = self.global_dev_search_page.get_user_name_in_detail( ) self.assertIn(user_name, user_name_in_detail) # user_type_in_detail = self.global_dev_search_page.get_user_type_in_detail() # self.assertEqual(user_type, user_type_in_detail) uesr_account_in_detail = self.global_dev_search_page.get_user_account_in_detail( ) self.assertEqual(user_account, uesr_account_in_detail) user_account_input_value = self.global_dev_search_page.get_user_account_input_value_in_detail( ) self.assertEqual('true', user_account_input_value) get_up_user_name = self.global_dev_search_page.get_up_user_name_in_detail( ) get_up_user_input_value = self.global_dev_search_page.get_up_user_input_value_in_detail( ) self.assertEqual('true', get_up_user_input_value) # 查询选中用户的上级 connect = self.connect_sql.connect_tuqiang_sql() cursor = connect.cursor() get_up_account_sql = "select parentId from user_info where account = '%s';" % user_account cursor.execute(get_up_account_sql) get_up_account = cursor.fetchall() up_account_id = get_up_account[0][0] get_up_name_sql = "select nickName from user_info where userId = '%s';" % up_account_id cursor.execute(get_up_name_sql) get_up_name = cursor.fetchall() up_account = get_up_name[0][0] cursor.close() connect.close() self.assertEqual(get_up_user_name, up_account) # 验证右侧的客户数是否可以搜索 # 搜索没有的数据 text = self.global_dev_search_page.search_user_in_user_info('无数据') self.assertIn(self.assert_text.account_center_page_no_data_text(), text) # 循环点击五次 for n in range(5): self.global_dev_search_page.swith_to_search_frame() self.driver.click_element( 'x,//*[@id="complex_userInfo_tree_complexUpdate_%s_a"]' % str(n + 15)) get_up_user_name = self.global_dev_search_page.get_up_user_name_in_details( ) select_up_name = self.driver.get_text( 'x,//*[@id="complex_userInfo_tree_complexUpdate_%s_span"]' % str(n + 15)) # self.assertEqual(get_up_user_name, select_up_name) sleep(2) self.driver.default_frame() # 点击销售设备 self.global_dev_search_page.click_sale_dev_in_user_info() # 获取销售的对象 sale_user_name = self.global_dev_search_page.get_sale_user_name() self.assertEqual(user_name, sale_user_name) # 点击新增客户 self.global_dev_search_page.click_add_user_in_user_info() # 获取新增客户默认的上级 up_user_in_add_user = self.global_dev_search_page.get_up_user_in_add_user( ) self.assertIn(user_name, up_user_in_add_user) # 验证账号 # 为空 self.global_dev_search_page.check_add_user_account_input_in_user_info( '') self.global_dev_search_page.click_save_add_user() text = self.global_dev_search_page.get_text_account_input_expertion() self.assertEqual(self.assert_text.cust_page_user_account_not_null(), text) # 小于3位 self.global_dev_search_page.check_add_user_account_input_in_user_info( '12') self.global_dev_search_page.click_save_add_user() text = self.global_dev_search_page.get_text_account_input_expertion() self.assertEqual(self.assert_text.cust_page_user_account_len(), text) # 验证最大长度 get_user_account_input_max_len = self.global_dev_search_page.get_user_account_input_max_len( ) self.assertEqual('30', get_user_account_input_max_len) # 验证客户名称 # 为空 self.global_dev_search_page.check_add_user_name_input_in_user_info('') self.global_dev_search_page.click_save_add_user() text = self.global_dev_search_page.get_text_name_input_expertion() self.assertEqual(self.assert_text.cust_page_user_name_not_null(), text) # 小于3位 self.global_dev_search_page.check_add_user_name_input_in_user_info( '12') self.global_dev_search_page.click_save_add_user() text = self.global_dev_search_page.get_text_name_input_expertion() self.assertEqual(self.assert_text.cust_page_user_name_more_than_3s(), text) # 密码 # 为空 self.global_dev_search_page.click_add_user_password_first_input_in_user_info( '') self.global_dev_search_page.click_save_add_user() get_first_password_text = self.global_dev_search_page.get_first_password_text( ) self.assertEqual(self.assert_text.cust_page_user_password_not_nulls(), get_first_password_text) # 小于6位 self.global_dev_search_page.click_add_user_password_first_input_in_user_info( '12qw') self.global_dev_search_page.click_add_user_password_second_input_in_user_info( '12qw') self.global_dev_search_page.click_save_add_user() get_first_password_text = self.global_dev_search_page.get_first_password_text( ) self.assertEqual(self.assert_text.cust_page_user_password_len(), get_first_password_text) # 全数字 self.global_dev_search_page.click_add_user_password_first_input_in_user_info( '121212') self.global_dev_search_page.click_add_user_password_second_input_in_user_info( '121212') self.global_dev_search_page.click_save_add_user() get_first_password_text = self.global_dev_search_page.get_first_password_text( ) self.assertEqual( self.assert_text.account_center_page_password_formart_text(), get_first_password_text) # 全字母 self.global_dev_search_page.click_add_user_password_first_input_in_user_info( 'qwerqw') self.global_dev_search_page.click_add_user_password_second_input_in_user_info( 'qwerqw') self.global_dev_search_page.click_save_add_user() get_first_password_text = self.global_dev_search_page.get_first_password_text( ) self.assertEqual( self.assert_text.account_center_page_password_formart_text(), get_first_password_text) # 两次密码不一致 self.global_dev_search_page.click_add_user_password_first_input_in_user_info( 'qwerqw123') self.global_dev_search_page.click_add_user_password_second_input_in_user_info( 'qwerqw2324') self.global_dev_search_page.click_save_add_user() get_second_password_text = self.global_dev_search_page.get_second_password_text( ) self.assertEqual(self.assert_text.cust_page_password_unlike(), get_second_password_text)
class TestCase102GlobComplexSearchByAllCondi(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.global_complex_search_page = GlobalComplexSearchPage( self.driver, self.base_url) 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_glob_complex_search_complex_search(self): # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 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_searchs() self.global_dev_search_page.click_senior_search_button() csv_file = self.global_search_page_read_csv.read_csv( 'complex_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 = { 'account': row[0], 'base_info': row[1], 'info': row[2], 'date_type': row[3], 'date': row[4], 'is_date': row[5], 'arrearage': row[6], 'no_active': row[7] } self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.add_data_to_search_complex(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 = '" + search_data[ 'account'] + "' ;" cur.execute(get_id_sql) # 读取数据 user_relation = cur.fetchall() # 遍历数据 for row in user_relation: user_relation_id = { "account": row[0], "userId": row[1], "fullParent": row[2] } get_total_sql = self.search_sql.search_complex_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) print('本次查询数据库的条数为:%s' % total) web_total = self.global_dev_search_page.easy_search_result() print('本次查询页面的条数是:%s' % web_total) self.assertEqual(total, web_total) self.driver.default_frame() cur.close() connect.close() csv_file.close()
class TestCase130DevSearchDetailUserRelation(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.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_dev_search_detail_user_relation(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_searchs() sleep(3) self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_advanced_search_button() # 点击搜索按钮 self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page( ) sleep(4) # 点击详情 self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page( ) get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced( ) # 点击轨迹回放 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_tracker_play_button_in_dev_advanced_page( ) all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/trackreplay/locus?imei=%s' % get_imei_in_dev_advanced_detail_page self.assertEqual(expect_url, self.driver.get_current_url()) # 获取轨迹回放页面的imei get_imei_in_tracker_play = self.global_dev_search_page.get_imei_after_click_tracker_play_in_tracker_play( ) self.assertIn(get_imei_in_dev_advanced_detail_page, get_imei_in_tracker_play) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击实时跟踪(离线设备按钮灰暗显示不可选) current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_track_preset_button_in_dev_advanced_page( ) all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/trackpreset/tracking/%s?isTracking=0' % get_imei_in_dev_advanced_detail_page get_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset( ) self.assertEqual(expect_url, self.driver.get_current_url()) # self.assertEqual(get_imei_in_dev_advanced_detail_page, get_imei_in_track_preset) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击查看告警 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_alarm_detail_button_in_dev_advanced_page( ) all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/deviceReport/statisticalReport' self.assertEqual(expect_url, self.driver.get_current_url()) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击查看位置 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_look_loacltion_button_in_dev_advanced_page( ) all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/console' self.assertEqual(expect_url, self.driver.get_current_url()) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击控制台 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.click_console_button_in_dev_advanced() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/console' self.assertEqual(self.driver.get_current_url(), expect_url) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击查看 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() get_user_dev_number = self.global_dev_search_page.get_user_dev_number_in_dev_advanced( ) self.global_dev_search_page.click_look_button_in_dev_advanced() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.base_url + '/device/toDeviceManage' self.assertEqual(self.driver.get_current_url(), expect_url) get_dev_total_in_dev_page = self.global_dev_search_page.get_user_dev_total_number_in_dev_page( ) self.assertEqual(get_user_dev_number, str(get_dev_total_in_dev_page)) self.driver.close_current_page() self.driver.switch_to_window(current_handle)
class TestCase133DevAdvancedSearchDevDetailTransferDevWithDev(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.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_dev_advanced_search_dev_detail_transfer_dev_with_dev(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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.swith_to_search_frame() self.global_dev_search_page.click_advanced_search_button() # 点击搜索按钮 self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page() sleep(4) get_second_imei = self.global_dev_search_page.get_second_imei_in_dev_advanced_page() get_third_imei = self.global_dev_search_page.get_third_imei_in_dev_advanced_page() get_fourth_imei = self.global_dev_search_page.get_fourth_imei_in_dev_advanced_page() # 点击详情 self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page() sleep(2) get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced() # 点击转移设备 self.global_dev_search_page.click_transfer_dev_button_in_dev_detail() # 断言imei imei_in_transfer_dev_page = self.global_dev_search_page.get_dev_imei_in_transfer_dev_page() self.assertEqual(get_imei_in_dev_advanced_detail_page, imei_in_transfer_dev_page) dev_user_account_by_sql = self.global_dev_search_page.get_dev_user_account_by_sql(imei_in_transfer_dev_page) get_dev_user_account_in_transfer_page = self.global_dev_search_page.get_dev_user_account_in_transfer_page() self.assertEqual(dev_user_account_by_sql, get_dev_user_account_in_transfer_page) # 输入所搜索到设备的相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page(imei_in_transfer_dev_page) # 获取失败的状态 get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button() self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button) get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button() self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason_after_click_add_button) self.global_dev_search_page.click_close_failure_windows() ## 输入存在的不相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei) get_total_dev_number = self.global_dev_search_page.get_total_dev_number_in_transfer_page() self.assertEqual('2', get_total_dev_number) get_second_dev_user_account = self.global_dev_search_page.get_dev_user_account_by_sql(get_second_imei) get_second_dev_user_account_in_transfer_page = self.global_dev_search_page.get_second_dev_user_account_in_transfer_page() self.assertEqual(get_second_dev_user_account, get_second_dev_user_account_in_transfer_page) # 输入不存在的设备IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei + '1245') # 获取失败的状态 get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button() self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button) get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button() self.assertEqual(self.assert_text.dev_page_inexistence_text(), get_failure_reason_after_click_add_button) self.global_dev_search_page.click_close_failure_windows() # 输入存在的部分相同部分不相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei + ',' + get_third_imei) # 获取失败的状态 get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button() self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button) get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button() self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason_after_click_add_button) self.global_dev_search_page.click_close_failure_windows() # 点击重置 self.global_dev_search_page.click_reset_button_in_transfer_page() # 获取统计的数量 get_total_dev_number = self.global_dev_search_page.get_total_dev_number_in_transfer_page() self.assertEqual('0', get_total_dev_number)
class TestCase115UserSearchUserInfo(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.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_user_info(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_user_search_buttons() user_name = self.global_dev_search_page.get_user_name_in_user_search() user_type = self.global_dev_search_page.get_user_type_in_user_search() user_account = self.global_dev_search_page.get_user_account_in_user_search( ) # 点用户详情 self.global_dev_search_page.click_detail_in_user_search() # 用户信息 self.global_dev_search_page.click_user_info_in_user_detail() # 获取用户信息中用户名称,用户类型、用户账号、上级用户 user_name_in_detail = self.global_dev_search_page.get_user_name_in_detail( ) self.assertIn(user_name, user_name_in_detail) # user_type_in_detail = self.global_dev_search_page.get_user_type_in_detail() # self.assertEqual(user_type, user_type_in_detail) uesr_account_in_detail = self.global_dev_search_page.get_user_account_in_detail( ) self.assertEqual(user_account, uesr_account_in_detail) user_account_input_value = self.global_dev_search_page.get_user_account_input_value_in_detail( ) self.assertEqual('true', user_account_input_value) get_up_user_name = self.global_dev_search_page.get_up_user_name_in_detail( ) get_up_user_input_value = self.global_dev_search_page.get_up_user_input_value_in_detail( ) self.assertEqual('true', get_up_user_input_value)
class TestCase110GlobSearchDevDetail(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.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_global_search_dev_detail(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.click_dev_searchs() # self.global_dev_search_page.click_dev_search_button() self.global_dev_search_page.click_detail_in_dev_search() dev_name_in_detail = self.global_dev_search_page.get_dev_name_in_detail( ) dev_imei_in_detail = self.global_dev_search_page.get_dev_imei_in_detail( ) dev_type_in_detail = self.global_dev_search_page.get_dev_type_in_detail( ) dev_active_time_in_detail = self.global_dev_search_page.get_dev_active_time_in_detail( ) dev_expire_time_in_detail = self.global_dev_search_page.get_dev_expire_time_in_detail( ) # 点击轨迹回放 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_track_play_button_in_dev_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_in_detail, self.driver.get_current_url()) # 获取页面的抬头的文字 text = self.global_dev_search_page.get_text_after_click_track_play( ) self.assertEqual(self.assert_text.dev_page_track_replay_text(), text) # 获取页面抬头的设备名称和imei dev_name_and_dev_imei = self.global_dev_search_page.get_dev_name_and_imei_after_click_track_play( ) self.assertIn(dev_imei_in_detail, dev_name_and_dev_imei) self.assertIn(dev_name_in_detail, dev_name_and_dev_imei) 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_dev_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_in_detail, self.driver.get_current_url()) # 获取页面的抬头的文字 text = self.global_dev_search_page.get_text_after_click_track_preset( ) self.assertIn(self.assert_text.dev_page_track_preset_text(), text) # 获取页面抬头的设备名称和imei dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset( ) dev_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset( ) self.assertEqual(dev_imei_in_detail, dev_imei_in_track_preset) self.assertEqual(dev_name_in_detail, 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_look_alarm_button_in_dev_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) # 获取页面抬头的设备名称和ime 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_look_place_button_in_dev_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()) # 获取页面的抬头的文字 text = self.global_dev_search_page.get_text_after_click_look_place( ) # self.assertEqual(dev_imei_in_detail, text) # get_dev_name = self.global_dev_search_page.get_type_after_click_look_place() # self.assertEqual(dev_name_in_detail, get_dev_name) # 获取页面抬头的设备名称和ime self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle) # 点击设备信息 sleep(1) self.global_dev_search_page.click_dev_info_button_in_dev_detail() sleep(2) # 验证设备的信息 dev_imei_in_dev_info = self.global_dev_search_page.get_dev_imei_in_dev_info( ) self.assertEqual(dev_imei_in_detail, dev_imei_in_dev_info) dev_type_in_dev_info = self.global_dev_search_page.get_dev_type_in_dev_info( ) self.assertEqual(dev_type_in_detail, dev_type_in_dev_info) dev_name_in_dev_info = self.global_dev_search_page.get_dev_name_in_dev_info( ) self.assertEqual(dev_name_in_detail, dev_name_in_dev_info) # 点击设备转移 self.global_dev_search_page.click_dev_tran_button_in_dev_detail() # 循环点击右侧客户树 for n in range(5): self.global_dev_search_page.click_customer(n) get_customer_name_in_header = self.global_dev_search_page.get_customer_name_in_header( ) get_click_customer_name = self.global_dev_search_page.get_click_customer_name( n) self.assertEqual(get_customer_name_in_header, get_click_customer_name) # 搜索无数据的用户 self.global_dev_search_page.search_user_in_dev_detail('无数据') text = self.global_dev_search_page.get_text_after_search_user_in_dev_detail( ) self.assertIn(self.assert_text.account_center_page_no_data_text(), text) # 添加已经添加的设备 self.global_dev_search_page.add_dev_to_trans(dev_imei_in_detail) get_file_imei = self.global_dev_search_page.get_file_imei_after_add_imei( ) self.assertEqual(dev_imei_in_detail, get_file_imei) get_file_reason = self.global_dev_search_page.get_file_reason_add_imei( ) self.assertEqual(self.assert_text.dev_page_repetition_text(), get_file_reason) get_file_status = self.global_dev_search_page.get_file_status() self.assertEqual(self.assert_text.dev_page_fail_text(), get_file_status) # 点击关闭失败信息 self.global_dev_search_page.close_file_info() # 添加不存在的 self.global_dev_search_page.add_dev_to_trans(dev_imei_in_detail + '12345') get_file_imei = self.global_dev_search_page.get_file_imei_after_add_imei( ) self.assertEqual(dev_imei_in_detail + '12345', get_file_imei) get_file_reason = self.global_dev_search_page.get_file_reason_add_imei( ) self.assertEqual(self.assert_text.dev_page_inexistence_text(), get_file_reason) get_file_status = self.global_dev_search_page.get_file_status() self.assertEqual(self.assert_text.dev_page_fail_text(), get_file_status) self.global_dev_search_page.close_file_info() # 点击删除设备 sleep(2) self.global_dev_search_page.click_detele_dev_in_dev_tran() # 点击转移 self.global_dev_search_page.click_trans_dev_button() # 获取错误提示语 get_text = self.global_dev_search_page.get_text_after_click_trans_dev() self.assertEqual(self.assert_text.glob_search_please_add_dev_text(), get_text) # 点击重置 self.global_dev_search_page.click_reset_button() # 点击转移 self.global_dev_search_page.click_trans_dev_button() # 获取错误提示语 get_text = self.global_dev_search_page.get_text_after_click_trans_dev() self.assertEqual( self.assert_text.glob_search_please_add_account_text(), get_text) # 点击设备指令 self.global_dev_search_page.click_dev_command_button() # 获取指令页面的设备名称和设备imei dev_imei_in_command = self.global_dev_search_page.get_dev_imei_in_command( ) dev_name_in_command = self.global_dev_search_page.get_dev_name_in_command( ) self.assertEqual(dev_imei_in_detail, dev_imei_in_command) self.assertEqual(dev_name_in_detail, dev_name_in_command)
class TestCase126DevSearchTransferDevAddDev(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.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_dev_search_transfer_dev_add_dev(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_searchs() sleep(5) self.global_dev_search_page.swith_to_search_frame() get_second_imei = self.global_dev_search_page.get_second_imei_in_dev_detail( ) get_third_iemi = self.global_dev_search_page.get_third_imei_in_dev_detail( ) get_fourth_imei = self.global_dev_search_page.get_fourth_imei_in_dev_detail( ) sleep(5) # 点击详情 self.global_dev_search_page.click_dev_detail_after_search_dev() get_imei = self.global_dev_search_page.get_imei_in_dev_detail() # 点击设备转移 self.global_dev_search_page.click_transfer_dev_button_in_dev_detail() get_imei_in_dev_transfer = self.global_dev_search_page.get_imei_after_transfer_dev_button( ) self.assertEqual(get_imei, get_imei_in_dev_transfer) # 输入所搜索到设备的相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_imei) # 断言失败的状态和原因 get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_status) get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason) # 点击关闭 self.global_dev_search_page.click_close_failure_windows() # 输入存在的不相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page( get_second_imei) # 断言统计的设备数量 和 列表中的设备总数 get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page( ) self.assertEqual('2', get_count_dev_number) get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page( ) self.assertEqual(2, get_list_dev_number) # 输入存在的部分相同部分不相同IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page( get_second_imei + ',' + get_third_iemi) get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_status) get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason) # 点击关闭 self.global_dev_search_page.click_close_failure_windows() # 断言统计的设备数量 和 列表中的设备总数 get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page( ) self.assertEqual('3', get_count_dev_number) get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page( ) self.assertEqual(3, get_list_dev_number) # 输入不存在的设备IMEI,点击添加 self.global_dev_search_page.add_dev_to_trans_in_transfer_page( get_second_imei + '12451') get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_status) get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button( ) self.assertEqual(self.assert_text.dev_page_inexistence_text(), get_failure_reason) # 点击关闭 self.global_dev_search_page.click_close_failure_windows() # 断言统计的设备数量 和 列表中的设备总数 get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page( ) self.assertEqual('3', get_count_dev_number) get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page( ) self.assertEqual(3, get_list_dev_number) # 点击重置 self.global_dev_search_page.click_reset_button_in_transfer_page() # 断言统计的设备数量 和 列表中的设备总数 get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page( ) self.assertEqual('0', get_count_dev_number) get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page( ) self.assertEqual(0, get_list_dev_number)
class TestCase123DevSearchPagingFunction(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.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_dev_search_paging_function(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_searchs() # 选择设备搜索 # self.global_dev_search_page.click_search_buttons() sleep(5) self.global_dev_search_page.swith_to_search_frame() # 获取设备有多少个分页 total_page = self.global_dev_search_page.get_total_page_number_after_search_dev( ) if total_page[0] == 0: text = self.global_dev_search_page.get_no_data_text_in_search_dev() self.assertIn(self.assert_text.account_center_page_no_data_text(), text) elif total_page[0] == 1: up_page_class = self.global_dev_search_page.get_up_page_class_active_in_dev_search( ) self.assertEqual('active', up_page_class) next_page_class = self.global_dev_search_page.get_next_page_class_active_in_dev_search( ) self.assertEqual('active', next_page_class) else: for n in range(total_page[0]): self.global_dev_search_page.click_per_page(n) get_per_first_number = self.global_dev_search_page.get_per_frist_number_in_dev_search( ) self.assertEqual(get_per_first_number, str(10 * (n + 1) - 9)) # 点击每页20条 list = [20, 30, 50, 100] for m in list: self.global_dev_search_page.click_per_page_number() page_number = self.global_dev_search_page.get_page_number_in_dev_search( ) if int(total_page[1] % m) != 0: a = int(total_page[1] / m) + 1 else: a = int(total_page[1] / m) self.assertEqual(a, page_number)
class TestCase104GlobSearchCheckMarkedWords(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.assert_text = AssertText() self.search_sql = SearchSql() 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_check_marked_words(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() search_data = {'account_info': ''} self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.app_account_easy_search(search_data) get_dev_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words( ) self.assertEqual( self.assert_text.glob_search_page_search_account_texts(), get_dev_search_marked_words) # 选择搜索用户 # self.global_dev_search_page.select_search_user() self.global_dev_search_page.account_easy_search(search_data) get_user_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words( ) self.assertEqual( self.assert_text.glob_search_page_search_account_text(), get_user_search_marked_words) # 选择搜索app用户 # self.global_dev_search_page.select_search_dev() self.global_dev_search_page.click_search_dev_button() get_user_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words( ) self.assertEqual(self.assert_text.glob_search_page_search_dev_text(), get_user_search_marked_words) self.driver.default_frame()
class TestCase111GlobSearchDevSearchHigher(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.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_global_search_dev_search_higher(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.click_dev_searchs() self.global_dev_search_page.click_higher_search() # 验证选择用户 # 点下拉客户树 # 循环点击 for n in range(5): self.global_dev_search_page.click_pull_down_customer() get_customer_name = self.global_dev_search_page.get_customer_name(n) self.global_dev_search_page.click_customer_in_higher_search(n) # 获取点击之后抬头显示的客户名字 get_customer_text = self.global_dev_search_page.get_customer_text() self.assertEqual(get_customer_name, get_customer_text) # 验证结束日期的格式 # 点击时间段 '''self.global_dev_search_page.click_time_quantum_button() get_time_quantum_input_value = self.global_dev_search_page.get_time_quantum_input_value() self.assertEqual(True, get_time_quantum_input_value) # 输入结束日期 self.global_dev_search_page.check_end_date_type('2022021551') # 获取日期错误的提示 get_text = self.global_dev_search_page.get_text_after_input_date() self.assertEqual(self.assert_text.glob_search_page_date_formate_error(), get_text)''' # 验证欠费、激活的按钮 self.global_dev_search_page.click_arrearage_button() get_arrearage_input_value = self.global_dev_search_page.get_arrearage_input_value() self.assertEqual(True, get_arrearage_input_value) self.global_dev_search_page.click_not_active_button() get_not_active_input_value = self.global_dev_search_page.get_not_active_input_value() self.assertEqual(True, get_not_active_input_value) # 验证基本信息的提示语是否正确 # imei get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('imei'), get_text) # 车牌号 self.global_dev_search_page.click_car_plate_number_dev_info() get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('车牌号'), get_text) # sn self.global_dev_search_page.click_sn_dev_info() get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('sn'), get_text) # 车架号 self.global_dev_search_page.click_vin_dev_info() get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('车架号'), get_text) # sim卡号 self.global_dev_search_page.click_sim_dev_info() get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('sim'), get_text) # 设备名称 self.global_dev_search_page.click_dev_name_dev_info() get_text = self.global_dev_search_page.get_text_dev_info() self.assertEqual(self.assert_text.glob_search_page_text('name'), get_text)
class TestCase112UserSearchByDeleteUser(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_user_search_by_delete_user(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in() # 分别新建 销售、代理商、用户并删除,然后搜索 # 点击客户管理 self.global_account_search_page.click_cust_manager_button() csv_file = self.global_search_page_read_csv.read_csv( 'new_user_info.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue add_data = { 'account_type': row[0], 'account_name': row[1], 'account': row[2] } self.global_account_search_page.click_add_new_user_button() self.global_account_search_page.click_close_add_user_page() self.global_account_search_page.click_add_new_user_button() self.global_dev_search_page.swith_to_search_frames() self.global_account_search_page.add_data_to_add_new_user(add_data) # 先搜索 self.global_account_search_page.click_global_search_button() self.global_account_search_page.click_close_add_user_page() self.global_account_search_page.click_global_search_button() self.global_dev_search_page.swith_to_search_frames() self.global_account_search_page.search_user_by_account_in_global_search( add_data['account']) get_user_account = self.global_account_search_page.get_user_account_after_search( ) self.assertEqual(get_user_account, add_data['account']) self.driver.default_frame() self.global_account_search_page.click_close_add_user_page() # 删除 self.global_account_search_page.search_user_by_account_in_cust_manage( add_data['account']) # 打开全局搜索,搜索用户 self.global_account_search_page.click_global_search_button() self.global_account_search_page.click_close_add_user_page() self.global_account_search_page.click_global_search_button() self.global_dev_search_page.swith_to_search_frames() self.global_account_search_page.search_user_by_account_in_global_search( add_data['account']) get_text = self.global_account_search_page.get_text_after_search() self.assertIn(self.assert_text.account_center_page_no_data_text(), get_text) self.driver.default_frame() self.global_account_search_page.click_close_add_user_page() csv_file.close()
class TestCase109GlobSearchDevOperation(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.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_global_search_dev_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.click_dev_searchs() # self.global_dev_search_page.click_search_buttons() # 获取设备信息 dev_name = self.global_dev_search_page.get_dev_name_in_dev_search() dev_imei = self.global_dev_search_page.get_dev_imei_in_dev_search() dev_type = self.global_dev_search_page.get_dev_type_in_dev_search() dev_active_time = self.global_dev_search_page.get_dev_active_time_in_dev_search( ) dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_dev_search( ) # 点击轨迹回放 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_track_play_button_in_dev_search() 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()) # 获取页面的抬头的文字 text = self.global_dev_search_page.get_text_after_click_track_play( ) self.assertEqual(self.assert_text.dev_page_track_replay_text(), text) # 获取页面抬头的设备名称和imei dev_name_and_dev_imei = self.global_dev_search_page.get_dev_name_and_imei_after_click_track_play( ) self.assertIn(dev_name, dev_name_and_dev_imei) self.assertIn(dev_imei, dev_name_and_dev_imei) 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_dev_search() 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()) # 获取页面的抬头的文字 text = self.global_dev_search_page.get_text_after_click_track_preset( ) self.assertIn(self.assert_text.dev_page_track_preset_text(), text) # 获取页面抬头的设备名称和imei dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset( ) dev_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset( ) self.assertEqual(dev_imei, dev_imei_in_track_preset) self.assertEqual(dev_name, 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_look_alarm_button_in_dev_search() 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) # 获取页面抬头的设备名称和ime self.driver.close_current_page() sleep(2) self.driver.switch_to_window(current_handle) # 点击详情 self.global_dev_search_page.click_detail_in_dev_search() # 获取设备的名称 imei、设备类型、激活时间、平台到期时间 dev_name_in_detail = self.global_dev_search_page.get_dev_name_in_detail( ) self.assertEqual(dev_name, dev_name_in_detail) dev_imei_in_detail = self.global_dev_search_page.get_dev_imei_in_detail( ) self.assertEqual(dev_imei, dev_imei_in_detail) dev_type_in_detail = self.global_dev_search_page.get_dev_type_in_detail( ) self.assertEqual(dev_type, dev_type_in_detail) dev_active_time_in_detail = self.global_dev_search_page.get_dev_active_time_in_detail( ) self.assertEqual(dev_active_time, dev_active_time_in_detail) dev_expire_time_in_detail = self.global_dev_search_page.get_dev_expire_time_in_detail( ) self.assertEqual(dev_expire_time, dev_expire_time_in_detail)
class TestCase114UserSearchUserRelation(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.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_user_relation(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_user_search_buttons() user_name = self.global_dev_search_page.get_user_name_in_user_search() user_type = self.global_dev_search_page.get_user_type_in_user_search() user_account = self.global_dev_search_page.get_user_account_in_user_search( ) self.global_dev_search_page.click_detail_in_user_search() # 验证用户信息 self.global_dev_search_page.swith_to_search_frame() user_name_in_user_detail = self.global_account_search_page.get_user_name_in_user_detail( ) self.assertEqual(user_name, user_name_in_user_detail) user_type_in_user_detail = self.global_account_search_page.get_user_type_in_user_detail( ) self.assertEqual(user_type, " " + user_type_in_user_detail) user_account_in_user_detail = self.global_account_search_page.get_user_account_in_user_detail( ) self.assertEqual(user_account, user_account_in_user_detail) dev_number_in_user_detail = self.global_account_search_page.get_dev_number_in_user_detail( ) # 分别点击控制台、重置密码、查看 # 点击查看 current_handle = self.driver.get_current_window_handle() self.global_account_search_page.click_look_button_in_user_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.driver.base_url + '/device/toDeviceManage' self.assertEqual(self.driver.get_current_url(), expect_url) get_total_dev_number = self.global_account_search_page.get_dev_total_number_in_dev_manage_page( ) self.assertEqual(dev_number_in_user_detail, str(get_total_dev_number)) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点控制台 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.swith_to_search_frame() self.global_account_search_page.click_console_button_in_user_detail() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) expect_url = self.driver.base_url + '/console' self.assertEqual(self.driver.get_current_url(), expect_url) self.driver.close_current_page() self.driver.switch_to_window(current_handle) # 点击重置密码 self.global_dev_search_page.swith_to_search_frame() self.global_account_search_page.click_reset_password_button_in_user_detail( ) # 点击关闭 self.global_account_search_page.click_close_button() # 点击重置密码 self.global_account_search_page.click_reset_password_button_in_user_detail( ) # 点击取消 self.global_account_search_page.click_cancel_button() # 点击重置密码 self.global_account_search_page.click_reset_password_button_in_user_detail( ) # 点击确定 self.global_account_search_page.click_ensuer_button() sleep(4) self.driver.default_frame() self.global_account_search_page.click_close_button()
class TestCase128DevAdvancedSearchWithDeleteUser(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.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_dev_advanced_search_with_delete_user(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in() self.global_account_search_page.click_cust_manager_button() csv_file = self.global_search_page_read_csv.read_csv( 'new_user_info.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue add_data = { 'account_type': row[0], 'account_name': row[1], 'account': row[2] } self.global_account_search_page.click_add_new_user_button() self.global_account_search_page.click_close_add_user_page() self.global_account_search_page.click_add_new_user_button() self.global_dev_search_page.swith_to_search_frames() self.global_account_search_page.add_data_to_add_new_user(add_data) # 删除 self.global_account_search_page.search_user_by_account_in_cust_manage( add_data['account']) 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.click_advanced_search_button() # 搜索已经删除的用户名称 self.global_dev_search_page.click_search_button_in_dev_advanced_search_page( ) # 输入删除的用户名称搜索 self.global_dev_search_page.add_user_name_to_search_in_dev_advanced_search_page( add_data['account']) get_text = self.global_dev_search_page.get_text_after_click_search_button_in_dev_advanced_search_page( ) self.assertIn(self.assert_text.account_center_page_no_data_text(), get_text) break csv_file.close()
class TestCase105GlobSearchAppUserOperation(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.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_global_search_app_user_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() # 点击控制台 current_handle = self.driver.get_current_window_handle() self.global_dev_search_page.click_console_button() 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) # 获取第一个app用户的详情 self.global_dev_search_page.swith_to_search_frame() app_user_name = self.global_dev_search_page.get_app_user_name_in_app_search( ) app_user_type = self.global_dev_search_page.get_app_user_type_in_app_search( ) app_user_account = self.global_dev_search_page.get_app_user_account_in_app_search( ) app_user_phone = self.global_dev_search_page.get_app_user_phone_in_app_search( ) app_user_dev_number = self.global_dev_search_page.get_app_user_dev_number_in_app_search( ) # 点击详情 self.global_dev_search_page.click_detail_in_app_user_search() # 获取app用户详情页面的用户数据 app_name_in_detail = self.global_dev_search_page.get_app_name_in_detail( ) self.assertEqual(app_user_name, app_name_in_detail) app_type_in_detail = self.global_dev_search_page.get_app_type_in_detail( ) self.assertEqual(app_user_type, app_type_in_detail) app_account_in_detail = self.global_dev_search_page.get_app_account_in_detail( ) self.assertEqual(app_user_account, app_account_in_detail) app_phone_in_detail = self.global_dev_search_page.get_app_phone_in_detail( ) self.assertEqual(app_user_phone, app_phone_in_detail) app_dev_number_in_detail = self.global_dev_search_page.get_app_dev_number_in_detail( ) self.assertEqual(app_user_dev_number, app_dev_number_in_detail) app_dev_number_in_detail_by_list = self.global_dev_search_page.get_app_dev_number_in_detail_by_list( ) self.assertEqual(str(app_dev_number_in_detail_by_list), app_dev_number_in_detail) self.assertEqual(str(app_dev_number_in_detail_by_list), app_user_dev_number) # 重置密码 self.global_dev_search_page.return_app_user_list() # 点击重置密码 self.global_dev_search_page.click_reset_password_button() # 点击关闭 self.global_dev_search_page.close_button() # 点击重置密码 self.global_dev_search_page.click_reset_password_button() # 点击关闭 self.global_dev_search_page.cancel_button() # 点击重置密码 self.global_dev_search_page.click_reset_password_button() # 点击关闭 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) self.driver.default_frame()
class TestCase118UserSearchModifyBatchIssuedWorkTypeAuthority(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_batch_issued_work_type_authority(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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() 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 batch_issued_work_type_authority == True: ## 点击批量下发工作模式 self.global_account_search_page.click_modify_batch_issued_work_type_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() total_number = self.global_account_search_page.get_total_button_in_dev_manage() operation_all = [] for n in range(total_number): get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n) operation_all.append(get_per_operation) select_issued_work_type = self.assert_text.select_issued_work_type_text() self.assertNotIn(select_issued_work_type, operation_all) all_issued_work_type = self.assert_text.all_issued_work_type_text() self.assertNotIn(all_issued_work_type, operation_all) # 退出登录的账号 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_modify_batch_issued_work_type_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() total_number = self.global_account_search_page.get_total_button_in_dev_manage() operation_all = [] for n in range(total_number): get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n) operation_all.append(get_per_operation) select_issued_work_type = self.assert_text.select_issued_work_type_text() self.assertIn(select_issued_work_type, operation_all) all_issued_work_type = self.assert_text.all_issued_work_type_text() self.assertIn(all_issued_work_type, operation_all) if batch_issued_work_type_authority == False: ## 点击批量下发工作模式 self.global_account_search_page.click_modify_batch_issued_work_type_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() total_number = self.global_account_search_page.get_total_button_in_dev_manage() operation_all = [] for n in range(total_number): get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n) operation_all.append(get_per_operation) select_issued_work_type = self.assert_text.select_issued_work_type_text() self.assertIn(select_issued_work_type, operation_all) all_issued_work_type = self.assert_text.all_issued_work_type_text() self.assertIn(all_issued_work_type, operation_all) # 退出登录的账号 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_modify_batch_issued_work_type_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() total_number = self.global_account_search_page.get_total_button_in_dev_manage() operation_all = [] for n in range(total_number): get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n) operation_all.append(get_per_operation) select_issued_work_type = self.assert_text.select_issued_work_type_text() self.assertNotIn(select_issued_work_type, operation_all) all_issued_work_type = self.assert_text.all_issued_work_type_text() self.assertNotIn(all_issued_work_type, operation_all)
class TestCase132DevAdvancedSearchDevDetailTransferDevWithNoImeiOrUser( 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.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_dev_advanced_search_dev_detail_transfer_dev_with_no_imei_or_user( self): # 打开途强在线首页-登录页 self.base_page.open_page() 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.swith_to_search_frame() self.global_dev_search_page.click_advanced_search_button() # 点击搜索按钮 self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page( ) sleep(4) # 点击详情 self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page( ) sleep(2) get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced( ) # 点击转移设备 self.global_dev_search_page.click_transfer_dev_button_in_dev_detail() # 断言imei imei_in_transfer_dev_page = self.global_dev_search_page.get_dev_imei_in_transfer_dev_page( ) self.assertEqual(get_imei_in_dev_advanced_detail_page, imei_in_transfer_dev_page) dev_user_account_by_sql = self.global_dev_search_page.get_dev_user_account_by_sql( imei_in_transfer_dev_page) get_dev_user_account_in_transfer_page = self.global_dev_search_page.get_dev_user_account_in_transfer_page( ) self.assertEqual(dev_user_account_by_sql, get_dev_user_account_in_transfer_page) # 已选列表IMEI不为空,转移给用户为空,点击转移 # 点击转移按钮 self.global_dev_search_page.click_transfer_button_in_transfer_page() text = self.global_dev_search_page.get_text_after_click_transfer_button( ) self.assertEqual( self.assert_text.glob_search_please_add_account_text(), text) # 已选列表IMEI为空,选择转移给用户,点击转移 # 删除设备 然后 选择一个用户 self.global_dev_search_page.clcik_dev_imei_in_transfer_page() self.global_dev_search_page.click_user_to_transfer_dev_in_transfer_dev_page( ) self.global_dev_search_page.click_transfer_button_in_transfer_page() text = self.global_dev_search_page.get_text_after_click_transfer_button( ) self.assertEqual(self.assert_text.glob_search_please_add_dev_text(), text) ## 已选列表IMEI为空,转移给用户为空,点击转移 # 点击重置的按钮 self.global_dev_search_page.click_reset_button_in_transfer_page() self.global_dev_search_page.click_transfer_button_in_transfer_page() text = self.global_dev_search_page.get_text_after_click_transfer_button( ) self.assertEqual( self.assert_text.glob_search_please_add_account_text(), text)
class TestCase113UserSearchPagingFunction(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_user_search_paging_function(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.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.swith_to_search_frame() self.global_account_search_page.click_search_user_button() # 获取页面总共有多少页 total_number = self.global_account_search_page.get_total_number_after_click_search_user_button( ) if total_number == 0: self.assertIn( self.assert_text.account_center_page_no_data_text(), self.global_account_search_page. get_no_data_text_in_user_search()) elif total_number == 1: up_page_state = self.global_account_search_page.get_up_page_state_in_search_user( ) self.assertEqual('active', up_page_state) next_page_state = self.global_account_search_page.get_next_page_state_in_search_user( ) self.assertEqual('active', next_page_state) else: for n in range(total_number): self.global_account_search_page.click_per_page(n) if total_number != 0: self.global_account_search_page.click_per_number()
class TestCase121UserSearchSaleDev(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.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_sale_dev(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in() # 点击设备管理 获取imei号 self.global_account_search_page.click_dev_manage_page() first_imei = self.global_account_search_page.get_frist_imei_in_dev_manage_page( ) second_imei = self.global_account_search_page.get_second_imei_in_dev_manage_page( ) third_imei = self.global_account_search_page.get_third_imei_in_dev_manage_page( ) fourth_imei = self.global_account_search_page.get_fourth_imei_in_dev_manage_page( ) fifth_imei = self.global_account_search_page.get_fifth_imei_in_dev_manage_page( ) # 点击账号中心 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_user_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.clcik_sale_dev_button_in_user_detail_button( ) # 设备列表为空,点击销售 self.global_account_search_page.click_sale_button_in_user_search() text = self.global_account_search_page.get_text_after_click_sale_button_with_no_dev( ) self.assertEqual(self.assert_text.glob_search_please_add_dev_text(), text) # 设备列表不为空,点击重置 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( fifth_imei) self.global_account_search_page.select_user_expire_time_in_user_detail( ) # 点击重置 self.global_account_search_page.click_reset_button_in_user_detail() total_dev_number = self.global_account_search_page.get_total_dev_number_after_add_in_sale_dev( ) self.assertEqual(0, total_dev_number) count_dev_number = self.global_account_search_page.count_dev_number_in_sale_dev_page( ) self.assertEqual('0', count_dev_number) user_expire_text = self.global_account_search_page.get_user_expire_text_in_sale_dev( ) self.assertEqual(self.assert_text.please_select_text(), user_expire_text)
class TestCase134AppUserSearchPagingFunction(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_app_user_search_paging_function(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.click_app_account_search() # 点击搜索 # self.global_dev_search_page.click_search_buttonss() # 获取页面的总数 self.global_dev_search_page.swith_to_search_frame() total_page = self.global_dev_search_page.get_total_page_after_click_app_search( ) if total_page[0] == 0: text = self.global_dev_search_page.get_no_data_text_in_app_user_search( ) self.assertIn(self.assert_text.account_center_page_no_data_text(), text) elif total_page[0] == 1: get_previous_page_class = self.global_dev_search_page.get_previous_page_class_in_app_user_search( ) self.assertEqual('active', get_previous_page_class) get_next_page_class = self.global_dev_search_page.get_next_page_class_in_app_user_search( ) self.assertEqual('active', get_next_page_class) list = [20, 30, 50, 100] for m in list: self.global_dev_search_page.click_per_page_number() total_page_again = self.global_dev_search_page.get_total_page_after_click_app_search( ) self.assertEqual(total_page, total_page_again) else: for n in range(total_page[0]): self.global_dev_search_page.click_per_page(n) get_per_first_number = self.global_dev_search_page.get_per_frist_number_in_dev_searchs( ) self.assertEqual(get_per_first_number, str(10 * (n + 1) - 9))
class TestCase120UserSearchSaleDev(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.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_sale_dev(self): # 打开途强在线首页-登录页 self.base_page.open_page() self.log_in_base.log_in() # 点击设备管理 获取imei号 self.global_account_search_page.click_dev_manage_page() first_imei = self.global_account_search_page.get_frist_imei_in_dev_manage_page( ) second_imei = self.global_account_search_page.get_second_imei_in_dev_manage_page( ) third_imei = self.global_account_search_page.get_third_imei_in_dev_manage_page( ) fourth_imei = self.global_account_search_page.get_fourth_imei_in_dev_manage_page( ) fifth_imei = self.global_account_search_page.get_fifth_imei_in_dev_manage_page( ) # 点击账号中心 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_user_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.clcik_sale_dev_button_in_user_detail_button( ) # 输入不存在的imei进行添加 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( first_imei + '123456') # 获取失败的状态 failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_fail_text(), failure_statues) failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_inexistence_text(), failure_reason) # 关闭失败的弹窗 self.global_account_search_page.close_failure_windows() # 输入与 IMEI 列表中相同、存在的IMEI,点击添加 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( first_imei) self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( first_imei) # 获取失败的状态 failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_fail_text(), failure_statues) failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_repetition_text(), failure_reason) # 关闭失败的弹窗 self.global_account_search_page.close_failure_windows() # 输入与 IMEI 列表中不相同、存在的IMEI,点击添加 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( second_imei) get_imei_after_add = self.global_account_search_page.get_imei_after_add_in_user_detail( ) self.assertEqual(second_imei, get_imei_after_add) # 输入多个设备的IMEI,其中部分不存在,其中部分与列表中IMEI重复 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( second_imei + ',' + first_imei + '123456' + ',' + third_imei) # 获取失败的状态 failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_fail_text(), failure_statues) failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_repetition_text(), failure_reason) second_failure_statues = self.global_account_search_page.get_second_failure_statue_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_fail_text(), second_failure_statues) second_failure_reason = self.global_account_search_page.get_second_failure_reason_text_in_user_detail( ) self.assertEqual(self.assert_text.dev_page_inexistence_text(), second_failure_reason) # 关闭失败的弹窗 self.global_account_search_page.close_failure_windows() # 输入多个设备的IMEI,与列表中IMEI不重复,点击添加 self.global_account_search_page.add_imei_to_sale_dev_in_user_detail( fourth_imei + ',' + fifth_imei) total_dev_number = self.global_account_search_page.get_total_dev_number_after_add_in_sale_dev( ) self.assertEqual(5, total_dev_number)
class TestCase100GlobAccountSearch(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.driver.wait(1) self.connect_sql = ConnectSql() self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_global_account_search(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.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_account_search() # 度数据 csv_file = self.global_search_page_read_csv.read_csv('global_search_account_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_info': row[0] } self.global_dev_search_page.swith_to_search_frame() self.global_dev_search_page.account_easy_search(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 row in user_relation: user_relation_id = { "account": row[0], "userId": row[1], "fullParent": row[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.search_sql.search_account_sqls(lower_account_tuple, 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) print('本次查询数据库的条数为:%s' % total) web_total = self.global_account_search_page.easy_search_results() print('本次查询页面的条数是:%s' % web_total) self.assertEqual(total, web_total) self.driver.default_frame() cur.close() connect.close() csv_file.close() self.global_dev_search_page.close_search()
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 TestCase137SearchUserByTypeCreatNewUser(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.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_137_search_user_by_type_creat_new_user(self): # 打开途强在线首页-登录页 self.base_page.open_page() 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_user_search_buttons() self.global_dev_search_page.swith_to_search_frame() # 获取用户列表有多少页 user_account = '' total_page = self.global_dev_search_page.get_total_page_after_search_user() for n in range(total_page): self.global_dev_search_page.click_per_page(n) # 获取每页有多少条 number = self.global_dev_search_page.get_per_page_total_number_in_search_user() for i in range(number): # 获取各个用户的用户类型 user_type = self.global_dev_search_page.get_user_type_in_search_user(i) user_account = self.global_dev_search_page.get_user_account_in_search_user(i) if user_type == '销售': break # 搜索获取到的销售类型的用户,搜索 self.global_dev_search_page.search_user(user_account) # 点击新增下级用户 self.global_dev_search_page.click_add_next_user_in_search_user() # 获取新增下级用户时,下级的客户类型有几种 user_type_number = self.global_dev_search_page.get_user_type_number_in_search_user() self.assertEqual(3, user_type_number) self.global_dev_search_page.search_user('') user_account = '' total_page = self.global_dev_search_page.get_total_page_after_search_user() for n in range(total_page): self.global_dev_search_page.click_per_page(n) # 获取每页有多少条 number = self.global_dev_search_page.get_per_page_total_number_in_search_user() for i in range(number): # 获取各个用户的用户类型 user_type = self.global_dev_search_page.get_user_type_in_search_user(i) user_account = self.global_dev_search_page.get_user_account_in_search_user(i) if user_type == '代理商': break # 搜索获取到的销售类型的用户,搜索 self.global_dev_search_page.search_user(user_account) # 点击新增下级用户 self.global_dev_search_page.click_add_next_user_in_search_user() # 获取新增下级用户时,下级的客户类型有几种 user_type_number = self.global_dev_search_page.get_user_type_number_in_search_user() self.assertEqual(2, user_type_number) self.global_dev_search_page.search_user('') user_account = '' total_page = self.global_dev_search_page.get_total_page_after_search_user() for n in range(total_page): self.global_dev_search_page.click_per_page(n) # 获取每页有多少条 number = self.global_dev_search_page.get_per_page_total_number_in_search_user() for i in range(number): # 获取各个用户的用户类型 user_type = self.global_dev_search_page.get_user_type_in_search_user(i) user_account = self.global_dev_search_page.get_user_account_in_search_user(i) if user_type == '用户': break # 搜索获取到的销售类型的用户,搜索 self.global_dev_search_page.search_user(user_account) # 获取新增下级用户的display值 get_new_next_display = self.global_dev_search_page.get_new_next_display_in_search_user() self.assertEqual('display: none;', get_new_next_display) self.driver.default_frame()
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()