Exemple #1
0
class TestCase144SportStatisticalSpeedForm(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.base_page.open_page()
        self.assert_text = AssertText()
        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_sport_statistical_speed_form(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.statistical_form_page.click_over_speed_button()
        # 断言

        self.assertEqual(self.assert_text.statistical_form_over_speed_form(),
                         self.statistical_form_page.actual_text_after_click_over_speed_button())

        # 读取查询数据
        csv_file = self.statistical_form_page_read_csv.read_csv('sport_statistical_over_speed_search_dara.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],
                'speed': row[1],
                'choose_date': row[2],
                'begin_time': row[3],
                'end_time': row[4]
            }
            self.statistical_form_page.add_data_to_search_over_speed(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_over_speed_sql(all_dev, search_data)
            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)
            web_total = self.statistical_form_page.get_total_search_over_speed_number()
            self.assertEqual(total, web_total)

            # 点击导出
            self.driver.default_frame()
            cursor_02.close()
            connect_02.close()
        csv_file.close()
Exemple #2
0
class TestCase177SportStatisticalSpeedForm(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.seasrch_sql = SearchSql(self.driver, self.base_url)
        self.statistical_form_page3 = StatisticFormPage3(
            self.driver, self.base_url)
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.assert_text = AssertText()
        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_sport_statistical_speed_form(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.statistical_form_page.click_over_speed_button()
        # 断言

        self.assertEqual(
            self.assert_text.statistical_form_over_speed_form(),
            self.statistical_form_page.
            actual_text_after_click_over_speed_button())

        # 读取查询数据
        csv_file = self.statistical_form_page_read_csv.read_csv(
            'sport_statistical_over_speed_search_dara.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],
                'speed': row[1],
                'choose_date': row[2],
                'begin_time': row[3],
                'end_time': row[4]
            }
            self.statistical_form_page.add_data_to_search_over_speed(
                search_data)
            sleep(4)
            total_page = self.statistical_form_page3.get_total_page_in_over_speed_form(
            )
            print(total_page)
            begin_time = self.statistical_form_page3.get_over_speed_report_form_begin_time(
            )
            end_time = self.statistical_form_page3.get_over_speed_report_form_end_time(
            )
            all_dev = self.seasrch_sql.search_current_account_equipment(
                search_data['search_user'])
            imeis = self.statistical_form_page3.change_dev_imei_format(all_dev)
            get_current_userid = self.seasrch_sql.search_current_account_user_id(
                search_data['search_user'])

            if total_page == 0:
                # 连接接口
                request_url = request_base_url()
                request_params = {
                    '_method_': 'getOverSpeed',
                    'imeis': imeis,
                    'startTime': begin_time,
                    'endTime': end_time,
                    'speed': int(search_data['speed']),
                    'userIds': get_current_userid
                }
                res = requests.post(request_url, data=request_params)
                sleep(30)
                response = res.json()
                print(response)
                self.assertEqual(400, response['code'])
                self.assertEqual('没有找到数据', response['msg'])

            elif total_page == 1:
                total_number_per_page = self.statistical_form_page3.get_total_number_per_page_in_over_speed_form(
                )
                web_data = []
                for n in range(total_number_per_page):
                    web_data.append({
                        'imei':
                        self.statistical_form_page3.
                        get_imei_in_over_speed_form(n),
                        'speed':
                        self.statistical_form_page3.
                        get_speed_in_over_speed_form(n),
                        # 'addr': self.statistical_form_page3.get_addr_in_over_speed_form(n),
                        'time':
                        self.statistical_form_page3.
                        get_time_in_over_speed_form(n),
                        'lat':
                        self.statistical_form_page3.get_lat_in_over_speed_form(
                            n),
                        'lng':
                        self.statistical_form_page3.get_lng_in_over_speed_form(
                            n)
                    })
                print(web_data)
                # 连接接口
                request_url = request_base_url()
                request_params = {
                    '_method_': 'getOverSpeed',
                    'imeis': imeis,
                    'startTime': begin_time,
                    'endTime': end_time,
                    'speed': int(search_data['speed']),
                    'userIds': get_current_userid
                }
                res = requests.post(request_url, data=request_params)
                sleep(30)
                response = res.json()
                res_datas = response['data']
                for data in res_datas:
                    del data['status'], data['times'], data['addr']
                print(res_datas)
                self.assertEqual(web_data, res_datas)
            else:
                web_data = []
                for i in range(total_page):
                    # 循环点击每一页
                    self.statistical_form_page3.click_per_page_in_mile_report_form(
                        i)
                    total_number_per_page = self.statistical_form_page3.get_total_number_per_page_in_over_speed_form(
                    )
                    for n in range(total_number_per_page):
                        web_data.append({
                            'imei':
                            self.statistical_form_page3.
                            get_imei_in_over_speed_form(n),
                            'speed':
                            self.statistical_form_page3.
                            get_speed_in_over_speed_form(n),
                            # 'addr': self.statistical_form_page3.get_addr_in_over_speed_form(n),
                            'time':
                            self.statistical_form_page3.
                            get_time_in_over_speed_form(n),
                            'lat':
                            self.statistical_form_page3.
                            get_lat_in_over_speed_form(n),
                            'lng':
                            self.statistical_form_page3.
                            get_lng_in_over_speed_form(n)
                        })
                print(web_data)
                # 连接接口
                request_url = request_base_url()
                request_params = {
                    '_method_': 'getOverSpeed',
                    'imeis': imeis,
                    'startTime': begin_time,
                    'endTime': end_time,
                    'speed': int(search_data['speed']),
                    'userIds': get_current_userid
                }
                res = requests.post(request_url, data=request_params)
                sleep(30)
                response = res.json()
                res_datas = response['data']
                for data in res_datas:
                    del data['status'], data['times'], data['addr']
                print(res_datas)
                self.assertEqual(web_data, res_datas)
            self.driver.default_frame()
        csv_file.close()