class TestCase197OilVerifyTheDisplayLine(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page3 = StatisticFormPage3(
            self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.form_page = FormPage(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.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_197_oil_verify_the_display_line(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))
        self.statistical_form_page.click_oil_reoport()
        self.statistical_form_page.switch_to_oil_report()
        # 点击展示列
        self.form_page.click_display_line_button_oil()
        # 获取有多少个展示列
        display_line_number = self.form_page.get_display_line_number_oil()
        self.form_page.click_display_line_button_oil()
        for n in range(display_line_number):
            # 获取每一个展示列是否被勾选
            self.form_page.click_display_line_button_oil()
            display_style = self.form_page.get_per_display_style_oil(n)
            display_style_list = []
            for n1 in range(display_line_number):
                display_styles = self.form_page.get_per_display_style_oil(n1)
                if display_styles == True:
                    display_style_list.append(display_styles)
            display_line_name = self.form_page.get_per_display_name_oil(n)
            # 点击
            self.form_page.click_per_display_input_button_oil(n)
            # 点击展示列
            self.form_page.click_display_line_button_oil()
            # 获取展示列数量
            display_line_name_list = []
            display_line_name_number = self.form_page.get_display_line_name_number_oil(
            )
            for m in range(display_line_name_number):
                display_name = self.form_page.get_per_display_name_on_line_oil(
                    m)
                display_line_name_list.append(display_name)
            if len(display_style_list) == 1:
                self.assertIn(display_line_name, display_line_name_list)
            else:
                if display_style == True:
                    self.assertNotIn(display_line_name, display_line_name_list)
                elif display_style == False:
                    self.assertIn(display_line_name, display_line_name_list)

        self.driver.default_frame()
示例#2
0
class TestCase713FormExportOBDTroubleFormExport(unittest.TestCase):
    # 测试 obd报表 故障报表 - 导出
    def setUp(self):
        # 前置条件
        # 实例化对象
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.statistical_form_page3 = StatisticFormPage3(
            self.driver, self.base_url)
        self.assert_text = AssertText()
        self.form_page = FormPage(self.driver, self.base_url)
        self.page = Page(self.driver, self.base_url)
        self.form_export_page = FormExportPage(self.driver, self.base_url)
        self.statistical_form_page4 = StatisticFormPage4(
            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.log_in_base.log_in_jimitest()

        current_handle = self.driver.get_current_window_handle()
        self.statistical_form_page.click_control_after_click_statistical_form_page(
        )
        sleep(3)
        self.base_page.change_windows_handle(current_handle)

    def tearDown(self):
        self.driver.close_window()
        # 退出浏览器
        self.driver.quit_browser()

    def test_case_obd_trouble_form_export(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))

        # 切换到里程报表的frame
        self.statistical_form_page.click_obd_trouble_form()
        self.statistical_form_page.switch_to_obd_trouble_frame()
        # 搜索数据
        self.form_export_page.search_obd_trouble_data()

        # 让其展示所有列
        # 点击展示列
        self.form_page.click_display_line_button_obd_failure()
        # 获取有多少个展示列
        display_line_number = self.form_page.get_display_line_name_number_obd_failure(
        )
        print(display_line_number)
        for n in range(display_line_number):
            # 获取每一个展示列是否被勾选
            display_style = self.form_page.get_per_display_style_obd_failure(n)
            if display_style == False:
                self.form_page.click_per_display_input_button_obd_failure(n)
        self.form_page.click_display_line_button_obd_failure()
        # 获取页面中的数据
        web_data = []
        total_page = self.statistical_form_page4.get_total_page_in_obd_car_condition(
        )
        if total_page == 0:
            pass
        else:
            if total_page == 1:
                total_number_per_page = self.statistical_form_page4.get_total_number_per_page_in_obd_car_condition(
                )
                for a in range(total_number_per_page):
                    web_data.append(
                        self.form_export_page.get_per_line_data_obd_trouble(a))

            else:
                for x in range(total_page):
                    self.statistical_form_page3.click_per_page_in_mile_report_form(
                        x)
                    total_number_per_page = self.statistical_form_page4.get_total_number_per_page_in_obd_car_condition(
                    )
                    for a in range(total_number_per_page):
                        web_data.append(
                            self.form_export_page.
                            get_per_line_data_obd_trouble(a))

            # 点击导出所有列
            self.form_export_page.click_export_button_in_mileage()
            # 切换到导出的frame中
            self.form_export_page.switch_export_frame()
            # 判断有多少个div的标签
            export_div_number = self.form_export_page.get_sport_overview_export_div_number(
            )
            for m in range(export_div_number - 2):
                # 获取基本信息和客户信息是否被勾选
                input_style = self.form_export_page.get_input_style_select_in_sport_overview_export(
                    m)
                if input_style == False:
                    self.form_export_page.click_per_in_sport_overview_export(m)
            # 点击生成任务按钮
            self.form_export_page.click_create_task_button_in_sport_overview_export_stay(
            )
            # 查找刚刚导出的文件
            file = self.form_export_page.find_expect_file()
            print(file)
            # 读excel文件
            excel_data = self.form_export_page.read_excel_file_by_index(file,
                                                                        n=0)
            del excel_data[0]
            print('excel', excel_data)
            print('web', web_data)

            self.assertEqual(web_data, excel_data)

        self.driver.default_frame()
示例#3
0
class TestCase148SportStatisticalOverview(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        self.driver.clear_cookies()
        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_sport_statistical_sport_overview(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))
        # 读数据
        csv_file = self.statistical_form_page_read_csv.read_csv(
            'sport_statistical_sport_overview_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 = {
                'search_user': row[0],
                'choose_date': row[1],
                'begin_time': row[2],
                'end_time': row[3]
            }
            self.statistical_form_page.add_data_to_search_sport_overview(
                search_data)

            # 连接数据库
            all_dev = self.search_sql.search_current_account_equipment(
                search_data['search_user'])

            # 连接另一个数据库
            connect_02 = self.connect_sql.connect_tuqiang_form()
            # 创建游标
            cursor_02 = connect_02.cursor()
            # 判断查询的条件
            get_total_sql = self.search_sql.search_sport_overview_sql(
                all_dev, search_data)
            get_sum_total = self.search_sql.search_sum_sport_overview_sql(
                all_dev, search_data)
            print(get_sum_total)
            # 计算多少条数据
            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)

            # 计算总里程,超速,停留次数
            cursor_02.execute(get_sum_total)
            get_sum_total = cursor_02.fetchall()
            data_list = []
            for range1 in get_sum_total:
                for range2 in range1:
                    data_list.append(range2)
            # 拆分列表
            sum_mlie_list = []
            sum_over_speed_list = []
            sum_stay_list = []
            for n in range(len(data_list)):
                if n % 3 == 0:
                    sum_mlie_list.append(data_list[n])
                elif n % 3 == 1:
                    sum_over_speed_list.append(data_list[n])
                elif n % 3 == 2:
                    sum_stay_list.append(data_list[n])
            # sql的总里程数
            total_mlie = sum(sum_mlie_list)

            new_over_speed_list = []
            for n in range(len(sum_over_speed_list)):
                if sum_over_speed_list[n] == None:
                    pass
                else:
                    new_over_speed_list.append(sum_over_speed_list[n])
            # sql的总超速数
            total_over_speed = sum(new_over_speed_list)
            # sql的总停留次数
            total_stay = sum(sum_stay_list)

            # 断言的部分
            # 断言查询条数
            web_total = self.statistical_form_page.get_total_search_sport_overview(
            )
            # self.assertEqual(total, web_total)

            # 断言总里程数
            web_mlie_total = self.statistical_form_page.get_total_search_mile_total(
            )
            #  self.assertAlmostEqual(total_mlie / 1000, float(web_mlie_total))

            # 断言总的超速数
            web_over_speed_total = self.statistical_form_page.get_total_search_over_speed_total(
            )
            # self.assertEqual(str(total_over_speed), web_over_speed_total)

            # 断言总的停留次数
            web_stay_total = self.statistical_form_page.get_total_search_stay_total(
            )
            # self.assertEqual(str(total_stay), web_stay_total)
            # 导出
            self.driver.default_frame()
            cursor_02.close()
            connect_02.close()
        csv_file.close()
示例#4
0
class TestCase701FormExportSportOverviewExport(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.form_page = FormPage(self.driver, self.base_url)
        self.page = Page(self.driver, self.base_url)
        self.form_export_page = FormExportPage(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.log_in_base.log_in_jimitest()

        # 登录之后点击控制台,然后点击设置
        current_handle = self.driver.get_current_window_handle()
        self.statistical_form_page.click_control_after_click_statistical_form_page(
        )
        sleep(3)
        self.base_page.change_windows_handle(current_handle)

    def tearDown(self):
        self.driver.close_window()
        # 退出浏览器
        self.driver.quit_browser()

    def test_case_sport_overview_export(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))

        # 切换到运动总览的frame
        self.statistical_form_page.switch_to_sport_overview_form_frame()
        # 点击搜索按钮
        self.form_export_page.click_search_button_in_sport_overview()

        # 让其展示所有列
        # 点击展示列
        self.form_page.click_display_line_button_sport_overview()
        # 获取有多少个展示列
        display_line_number = self.form_page.get_display_line_number_sport_overview(
        )
        for n in range(display_line_number):
            # 获取每一个展示列是否被勾选
            display_style = self.form_page.get_per_display_style_sport_overview(
                n)
            if display_style == False:
                self.form_page.click_per_display_input_button(n)
        self.form_page.click_display_line_button_sport_overview()

        # 获取页面中的数据
        data_total_number = self.form_export_page.get_data_total_number_in_sport_overview(
        )
        web_data = []
        for i in range(data_total_number):
            web_data.append(self.form_export_page.get_per_line_data(i))

        print('web', web_data)

        # 点击导出所有列
        self.form_export_page.click_export_button_in_sport_overview()
        # 判断有多少个div的标签
        export_div_number = self.form_export_page.get_sport_overview_export_div_number(
        )
        for m in range(export_div_number - 2):
            # 获取基本信息和客户信息是否被勾选
            input_style = self.form_export_page.get_input_style_select_in_sport_overview_export(
                m)
            if input_style == False:
                self.form_export_page.click_per_in_sport_overview_export(m)
        # 点击生成任务按钮
        self.form_export_page.click_create_task_button_in_sport_overview_export(
        )
        # 查找刚刚导出的文件
        file = self.form_export_page.find_expect_file()
        print(file)
        # 读excel文件
        excel_data = self.form_export_page.read_excel_file_by_index(
            file, col_name_index=1)
        del excel_data[0]
        print('excel', excel_data)

        self.assertEqual(web_data, excel_data)

        self.driver.default_frame()
示例#5
0
class TestCase173MovingDetailTest(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        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_moving_detail_test(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))

        self.statistical_form_page.click_alarm_detail_list()
        self.statistical_form_page.switch_to_alarm_detail_frame()
        # 查询当前用户全部设备的告警信息
        self.statistical_form_page.search_current_account_alarms_in_alarm_detail(
        )

        # 获取查询结果的所有imei
        # 获取查询总共有多少页
        page_number = self.statistical_form_page.get_total_page_after_search()
        dev_list = []
        if page_number == 0:
            pass
        elif page_number == 1:
            # 获取本页总共有多少条记录
            number = self.statistical_form_page.get_page_number_data_in_alarm_detail(
            )
            for n in range(number):
                dev_imei = self.statistical_form_page.get_per_dev_imei_in_dev_alarm_detail(
                    n)
                dev_list.append(dev_imei)
        else:
            for m in range(page_number):
                self.statistical_form_page.cilck_per_page_in_alarm_detail(m)
                number = self.statistical_form_page.get_page_number_data_in_alarm_detail(
                )
                for n in range(number):
                    dev_imei = self.statistical_form_page.get_per_dev_imei_in_dev_alarm_detail(
                        n)
                    dev_list.append(dev_imei)
        print(dev_list)
        dev_lists = list(set(dev_list))
        dev_lists.sort(key=dev_list.index)
        print(dev_lists)
        # 搜索当前用户的下级,并搜索
        self.statistical_form_page.search_next_account_in_alarm_detail()
        self.statistical_form_page.search_current_account_alarms_in_alarm_detail(
        )

        page_numbers = self.statistical_form_page.get_total_page_after_search()
        dev_list_again = []
        if page_numbers == 0:
            pass
        elif page_numbers == 1:
            # 获取本页总共有多少条记录
            number = self.statistical_form_page.get_page_number_data_in_alarm_detail(
            )
            for n in range(number):
                dev_imei = self.statistical_form_page.get_per_dev_imei_in_dev_alarm_detail(
                    n)
                dev_list_again.append(dev_imei)
        else:
            for m in range(page_numbers):
                self.statistical_form_page.cilck_per_page_in_alarm_detail(m)
                number = self.statistical_form_page.get_page_number_data_in_alarm_detail(
                )
                for n in range(number):
                    dev_imei = self.statistical_form_page.get_per_dev_imei_in_dev_alarm_detail(
                        n)
                    dev_list_again.append(dev_imei)
        print(dev_list_again)
        dev_lists_again = list(set(dev_list_again))
        dev_lists_again.sort(key=dev_list_again.index)
        print(dev_lists_again)
        # for i in range(len(dev_lists)):
        #     self.assertIn(dev_lists[i], dev_lists_again)
        for dev in dev_list:
            self.assertIn(dev, dev_lists_again)
        self.driver.default_frame()
class TestCase174SportStatisticalOverview(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.statistical_form_page3 = StatisticFormPage3(
            self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        self.driver.clear_cookies()
        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_sport_statistical_sport_overview(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))
        # 读数据
        csv_file = self.statistical_form_page_read_csv.read_csv(
            'sport_statistical_sport_overview_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 = {
                'search_user': row[0],
                'choose_date': row[1],
                'begin_time': row[2],
                'end_time': row[3]
            }
            self.statistical_form_page.add_data_to_search_sport_overview(
                search_data)

            # 处理搜索出来的数据
            web_total_number = self.statistical_form_page3.get_web_search_total_number_sport_overview(
            )
            data_web = []
            for n in range(web_total_number):
                data_web.append({
                    'imei':
                    self.statistical_form_page3.get_imei_in_sport_overview(n),
                    'mileage':
                    self.statistical_form_page3.get_mileage_in_sport_overview(
                        n),
                    'overSpeedTimes':
                    self.statistical_form_page3.
                    get_over_speed_times_in_sport_overview(n),
                    'stopTimes':
                    self.statistical_form_page3.
                    get_stop_times_in_sport_overview(n)
                })
            print('web', data_web)
            # 连接数据库
            all_dev = self.search_sql.search_current_account_equipment(
                search_data['search_user'])
            imeis = self.statistical_form_page3.change_dev_imei_format(all_dev)
            print(imeis)
            begin_time = self.statistical_form_page3.get_sport_overview_form_begin_time(
            )
            end_time = self.statistical_form_page3.get_sport_overview_form_end_time(
            )
            get_current_userid = self.search_sql.search_current_account_user_id(
                search_data['search_user'])
            # 连接接口
            request_url = request_base_url()
            request_params = {
                '_method_': 'getRunSummary',
                'imeis': imeis,
                'startTime': begin_time,
                'endTime': end_time,
                'userIds': get_current_userid
            }
            res = requests.post(request_url, data=request_params)
            sleep(30)
            response = res.json()
            res_data = response['data']
            for data in res_data:
                # if data['stopTimes'] != 0 or data['mileage'] != 0 or data['overSpeedTimes'] != 0:
                try:
                    del data['atDay']
                except:
                    pass
            print('res', res_data)
            self.assertEqual(len(data_web), len(res_data))

            for datas in data_web:
                self.assertIn(datas, res_data)
            for datas2 in res_data:
                self.assertIn(datas2, data_web)
            self.driver.default_frame()
        csv_file.close()
示例#7
0
class TestCase172MovingOverviewTest(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        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_moving_overview_statistical(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))

        # 查询当前登录用户下设备当月的告警
        self.statistical_form_page.click_alarm_overview_list()
        self.statistical_form_page.switch_to_alarm_overview_form_frame()
        self.statistical_form_page.get_this_month_and_current_account_alarms()

        # 获取查询出来存在告警的设备imei
        current_dev = []
        get_number_in_search = self.statistical_form_page.get_total_number_in_search(
        )
        for n in range(get_number_in_search):
            dev_imei = self.statistical_form_page.get_per_dev_imei_in_list(n)
            current_dev.append(dev_imei)
        print(current_dev)

        # 搜索下级用户
        self.statistical_form_page.search_next_account_in_alarm_overview()
        # 添加下级的设备
        self.statistical_form_page.add_next_dev_imei_in_alarm_overview()

        # 获取查询出来存在告警的设备imei
        current_dev_again = []
        get_number_in_search = self.statistical_form_page.get_total_number_in_search(
        )
        for n in range(get_number_in_search):
            dev_imei = self.statistical_form_page.get_per_dev_imei_in_list(n)
            current_dev_again.append(dev_imei)
        print(current_dev_again)
        for i in range(len(current_dev)):
            self.assertIn(current_dev[i], current_dev_again)
        self.driver.default_frame()
示例#8
0
class TestCase701FormExportSportOverviewExport(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.form_page = FormPage(self.driver, self.base_url)
        self.page = Page(self.driver, self.base_url)
        self.form_export_page = FormExportPage(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.log_in_base.log_in_jimitest()

        # 登录之后点击控制台,然后点击设置
        current_handle = self.driver.get_current_window_handle()
        self.statistical_form_page.click_control_after_click_statistical_form_page(
        )
        sleep(3)
        self.base_page.change_windows_handle(current_handle)

    def tearDown(self):
        self.driver.close_window()
        # 退出浏览器
        self.driver.quit_browser()

    def test_case_sport_overview_export(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))

        # 切换到运动总览的frame
        self.statistical_form_page.switch_to_sport_overview_form_frame()
        # 点击搜索按钮
        self.form_export_page.click_search_button_in_sport_overview()

        # 让其展示所有列
        # 点击展示列
        self.form_page.click_display_line_button_sport_overview()
        # 获取有多少个展示列
        display_line_number = self.form_page.get_display_line_number_sport_overview(
        )
        for n in range(display_line_number):
            # 获取每一个展示列是否被勾选
            display_style = self.form_page.get_per_display_style_sport_overview(
                n)
            if display_style == False:
                self.form_page.click_per_display_input_button(n)
        self.form_page.click_display_line_button_sport_overview()

        # 获取页面中的数据
        data_total_number = self.form_export_page.get_data_total_number_in_sport_overview(
        )
        web_data = []
        for i in range(data_total_number):
            web_data.append(self.form_export_page.get_per_line_data(i))

        print('web', web_data)

        l_data = [[
            '序号', '所属账号', '客户名称', '设备名称', 'imei', '型号', '设备分组', '总里程(KM)',
            '超速(次)', '停留(次)', '司机名称', '电话', '车牌号', '身份证号', '车架号', '电动机/发动机号'
        ]]
        for m in web_data:
            l_data.append([
                m['序号'], m['所属账号'], m['客户名称'], m['设备名称'], m['IMEI'], m['型号'],
                m['设备分组'], m['总里程(KM)'], m['超速(次)'], m['停留(次)'], m['司机名称'],
                m['电话'], m['车牌号'], m['身份证号'], m['车架号'], m['电动机/发动机号']
            ])
        print(l_data)
        write_excel('add', l_data)

        self.driver.default_frame()
示例#9
0
class TestCase148SportStatisticalOverview(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.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.page = Page(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.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_sport_statistical_sport_overview(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_sport_overview_form(),
            self.statistical_form_page.actual_text_after_click_sport_overview(
            ))
        # 读数据
        csv_file = self.statistical_form_page_read_csv.read_csv(
            'sport_statistical_sport_overview_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 = {
                'search_user': row[0],
                'choose_date': row[1],
                'begin_time': row[2],
                'end_time': row[3]
            }
            self.statistical_form_page.add_data_to_search_sport_overview(
                search_data)
            # 点击导出
            self.page.click_expect_button()
            # 查找刚刚导出的文件
            file = self.page.find_expect_file_after_click_expect_button()
            print(file)
            # 读excel文件
            excel_data = self.page.read_excel_file_by_index(file,
                                                            col_name_index=1)
            del excel_data[0]
            print(len(excel_data))
            number = self.page.get_number_in_sport_overview_form()
            web_data = []
            for n in range(number):
                web_data.append({
                    '序号': self.page.get_xuhao(n),
                    '型号': self.page.get_dev_type(n),
                    '停留(次)': self.page.get_stay_times(n),
                    '总里程(KM)': self.page.get_total_mile(n),
                    '超速(次)': self.page.get_over_speed_times(n),
                    '设备IMEI': self.page.get_imei(n),
                    '设备名称': self.page.get_dev_name(n)
                })
            self.assertEqual(web_data, excel_data)
            self.driver.default_frame()
            break
        csv_file.close()