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)
Exemplo n.º 2
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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()
Exemplo n.º 7
0
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()