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()
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()
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()
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()
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()
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()
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()
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()