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 TestCase19AccountCenterOverviewAlarm(unittest.TestCase): def setUp(self): self.driver = AutomateDriverServer(choose='chrome') self.base_url = self.driver.base_url self.base_page = BasePageServer(self.driver, self.base_url) self.login_page = LoginPage(self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage( self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.driver.set_window_max() self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.assert_text = AssertText() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_account_center_overview_set_up_landmark(self): # 打开途强在线首页-登录页 self.base_page.open_page() # 登录账号 self.log_in_base.log_in() self.account_center_page_navi_bar.click_account_center_button() sleep(2) account_center_handle = self.driver.get_current_window_handle() # 点击告警 self.account_center_page_details.account_center_iframe() self.account_center_page_details.account_overview('告警') self.driver.default_frame() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != account_center_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.driver.get_current_url() actual_url = self.base_url + '/deviceReport/statisticalReport?modularId=alarmDdetails' self.assertEqual(expect_url, actual_url, '点击告警后,实际的url和期望的不一样!') sleep(2) actual_text = self.account_center_page_details.get_actual_text_after_click_alarms( ) self.assertEqual( self.assert_text.account_center_page_alarm_details_text(), actual_text, '点击告警后,页面没有跳转到告警总览页面上') # 查看控制台告警设置能否打开 self.account_center_page_navi_bar.click_alarm_button_in_console( ) # 断言 get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button( ) self.assertEqual( self.assert_text.account_center_page_alarm_manager_text(), get_text) self.account_center_page_navi_bar.close_alarm_in_console() self.driver.close_current_page() # 回到账户中心窗口 self.driver.switch_to_window(account_center_handle) self.driver.wait()
class TestCase79DevManageDevOperationActiveAndStart(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.dev_manage_page = DevManagePages(self.driver, self.base_url) self.account_center_page_navi_bar = AccountCenterNaviBarPages( self.driver, self.base_url) self.log_in_base = LogInBase(self.driver, self.base_url) self.dev_manage_page_read_csv = DevManagePageReadCsv() self.connect_sql = ConnectSql() self.search_sql = SearchSql() self.assert_text = AssertText() self.driver.set_window_max() self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_dev_manage_dev_operation_active_and_start(self): '''测试设备管理-设备搜索-by imei+设备名称+设备型号+车牌号+车架号+SIM''' # 打开途强在线首页-登录页 self.base_page.open_page() # 登录 self.log_in_base.log_in() self.dev_manage_page.enter_dev_manage() # 选择已激活和开机的设备 self.dev_manage_page.choose_dev_active_and_statr() self.dev_manage_page.click_ensure() imei = self.dev_manage_page.get_imei_number() self.dev_manage_page.click_edit_button() self.dev_manage_page.click_close_edit_button() self.dev_manage_page.click_edit_button() csv_file = self.dev_manage_page_read_csv.read_csv( 'dev_operation_data.csv') csv_data = csv.reader(csv_file) for row in csv_data: self.data = { 'dev_name': row[0], 'sim': row[1], 'mark': row[2], 'd_name': row[3], 'd_phone': row[4], 'plate_numbers': row[5], 'iccid': row[6], 'sn': row[7], 'vin': row[8], 'engine_number': row[9], 'install_time': row[10], 'install_adress': row[11], 'install_comp': row[12], 'install_preson': row[13] } self.dev_manage_page.add_data_to_edit_dev_detila(self.data) # 验证是否修改成功 sleep(3) text = self.dev_manage_page.get_dev_name() self.assertEqual(self.data['dev_name'], text) csv_file.close() # 点击查看位置 current_handle = self.driver.get_current_window_handle() self.dev_manage_page.click_look_place_button() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.base_url + "/console" self.assertEqual(expect_url, self.driver.get_current_url()) # dev_name = self.dev_manage_page.get_dev_name_after_click_console() # self.assertEqual(self.data['dev_name'], dev_name) self.driver.close_current_page() self.driver.switch_to_window(current_handle) sleep(2) # 点击轨迹回放 self.dev_manage_page.click_track_playback_button() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.base_url + "/trackreplay/locus?imei=%s" % imei self.assertEqual(expect_url, self.driver.get_current_url()) text = self.dev_manage_page.click_track_playback_get_text() self.assertEqual(self.assert_text.dev_page_track_replay_text(), text) self.driver.close_current_page() self.driver.switch_to_window(current_handle) sleep(2) # 点行车记录 self.dev_manage_page.click_driving_recond_button() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.base_url + "/drivingrecord/driving?imei=%s" % imei self.assertEqual(expect_url, self.driver.get_current_url()) text = self.dev_manage_page.click_driving_recond_get_text() self.assertEqual( self.assert_text.dev_page_driving_record_text(), text) self.driver.close_current_page() self.driver.switch_to_window(current_handle) sleep(2) # 点街景 self.dev_manage_page.click_street_scape_button() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.base_url + "/trackpreset/tracking/%s?isTracking=1" % imei self.assertEqual(expect_url, self.driver.get_current_url()) text = self.dev_manage_page.click_street_scape_get_text() self.assertIn(self.assert_text.dev_page_track_preset_text(), text) self.driver.close_current_page() self.driver.switch_to_window(current_handle) sleep(2) # 点查看告警 self.dev_manage_page.click_look_alarm_button() all_handles = self.driver.get_all_window_handles() for handle in all_handles: if handle != current_handle: self.driver.switch_to_window(handle) sleep(2) expect_url = self.base_url + "/deviceReport/statisticalReport" self.assertEqual(expect_url, self.driver.get_current_url()) text = self.dev_manage_page.click_look_alarm_get_text() self.assertEqual( self.assert_text.account_center_page_alarm_details_text(), text) self.driver.close_current_page() self.driver.switch_to_window(current_handle) sleep(2)
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 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 TestCase140AlarmDetailSearch(unittest.TestCase): ''' 告警详情页面搜索 author:zhangAo ''' def setUp(self): # 前置条件 # 实例化对象 self.driver = AutomateDriver() self.base_url = self.driver.base_url self.base_page = BasePage(self.driver, self.base_url) self.alarm_info_page = AlarmInfoPage(self.driver, self.base_url) self.statistical_form_page_read_csv = StatisticalFormPageReadCsv() self.log_in_base = LogInBase(self.driver, self.base_url) self.statistical_form_page = StatisticalFormPage( self.driver, self.base_url) self.connect_sql = ConnectSql() self.search_sql = SearchSql(self.driver, self.base_url) # 打开页面,填写用户名、密码、点击登录 self.base_page.open_page() self.driver.set_window_max() self.driver.implicitly_wait(5) self.driver.clear_cookies() self.assert_text = AssertText() self.log_in_base.log_in_jimitest() # 登录之后点击控制台,然后点击指令管理 self.statistical_form_page.click_control_after_click_statistical_form_page( ) sleep(3) def tearDown(self): self.driver.quit_browser() def test_case_alarm_detail_search(self): # 断言url expect_url = self.base_url + '/deviceReport/statisticalReport' self.assertEqual(expect_url, self.alarm_info_page.actual_url_click_alarm()) # 点击告警详情 self.alarm_info_page.click_alarm_detail_list() # 断言 self.driver.switch_to_frame('x,//*[@id="alarmDdetailsFrame"]') self.assertEqual( self.assert_text.account_center_page_alarm_details_text(), self.alarm_info_page.actual_text_after_click_alarm_detail()) self.driver.default_frame() sleep(3) # 读数据 csv_file = self.statistical_form_page_read_csv.read_csv( 'alarm_detail_search_data.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue data = { 'user_name': row[0], 'type': row[1], 'status': row[2], 'alarm_begin_time': row[3], 'alarm_end_time': row[4], 'push_begin_time': row[5], 'push_end_time': row[6], 'next_user': row[7] } self.alarm_info_page.add_data_to_search_alarm_detail(data) self.driver.switch_to_frame('x,//*[@id="alarmDdetailsFrame"]') # 连接数据库 connect = self.connect_sql.connect_tuqiang_sql() # 创建游标 cursor = connect.cursor() # 查询搜索用户的uesrID get_user_id_sql = "SELECT userId FROM user_info WHERE account ='" + data[ 'user_name'] + "';" # 执行sql cursor.execute(get_user_id_sql) get_user_id = cursor.fetchall() user_id = get_user_id[0][0] # 当前用户下设置 get_current_user_all_equipment = "SELECT a.imei FROM equipment_mostly AS a WHERE a.status = 'NORMAL' and a.userId = " + user_id + " and a.expiration > CURDATE();" cursor.execute(get_current_user_all_equipment) all_equipment = cursor.fetchall() all_equipment_list = [] for range1 in all_equipment: for range2 in range1: all_equipment_list.append(range2) current_user_all_equipment = tuple(all_equipment_list) cursor.close() connect.close() # 连接另一个数据库 connect_02 = self.connect_sql.connect_tuqiang_sql() # 创建游标 cursor_02 = connect_02.cursor() # 判断查询条件 get_total_sql = self.search_sql.search_alarm_details_sql( user_id, current_user_all_equipment, data) # 执行sql print(get_total_sql) cursor_02.execute(get_total_sql) get_total = cursor_02.fetchall() total_list = [] for range1 in get_total: for range2 in range1: total_list.append(range2) total = len(total_list) print(total) web_total = self.alarm_info_page.get_search_total() self.assertEqual(total, web_total) self.driver.default_frame() cursor_02.close() connect_02.close() csv_file.close()
class TestCase159AlarmDetailSearchDev(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.alarm_info_page = AlarmInfoPage(self.driver, self.base_url) self.statistical_form_page_read_csv = StatisticalFormPageReadCsv() self.log_in_base = LogInBase(self.driver, self.base_url) self.statistical_form_page = StatisticalFormPage( self.driver, self.base_url) self.connect_sql = ConnectSql() self.search_sql = SearchSql(self.driver, self.base_url) self.statistical_form_page2 = StatisticalFormPage2( self.driver, self.base_url) # 打开页面,填写用户名、密码、点击登录 self.base_page.open_page() self.driver.set_window_max() self.driver.implicitly_wait(5) self.assert_text = AssertText() self.log_in_base.log_in_jimitest() # 登录之后点击控制台,然后点击指令管理 self.statistical_form_page.click_control_after_click_statistical_form_page( ) sleep(3) def tearDown(self): self.driver.quit_browser() def test_case_alarm_detail_search_dev(self): # 断言url expect_url = self.base_url + '/deviceReport/statisticalReport' self.assertEqual(expect_url, self.alarm_info_page.actual_url_click_alarm()) # 点击告警详情 self.alarm_info_page.click_alarm_detail_list() # 断言 self.driver.switch_to_frame('x,//*[@id="alarmDdetailsFrame"]') self.assertEqual( self.assert_text.account_center_page_alarm_details_text(), self.alarm_info_page.actual_text_after_click_alarm_detail()) # 验证搜索下级的imei可以搜索到 # 填写下级的imei搜索 sleep(2) self.statistical_form_page2.input_imei_to_search_in_alarm_detail_form( self.statistical_form_page2.get_imei()) # 断言 # 获取查询设备的imei search_imei = self.statistical_form_page2.get_search_imei_in_alarm_detail_forms( ) self.assertEqual(search_imei, self.statistical_form_page2.get_imei()) # 验证停机的设备无法搜索到 self.statistical_form_page2.input_imei_to_search_in_alarm_detail_form( self.statistical_form_page2.get_no_active_imei()) # 获取搜索的数量 get_number_after_search = self.statistical_form_page.get_number_after_search_in_alarm_detail_form( ) self.assertEqual(0, get_number_after_search) get_text_after_search = self.statistical_form_page.get_text_after_search_in_alarm_detail_form( ) self.assertIn(self.assert_text.account_center_page_no_data_text(), get_text_after_search) self.driver.default_frame()