class TestCase139RiskPointShare(unittest.TestCase): def setUp(self): self.driver = AutomateDriverServer() self.base_url = self.driver.base_url self.base_page = BasePageServer(self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_url) self.safe_area_page = SafeAreaPage(self.driver, self.base_url) self.base_page.open_page() self.base_page.click_chinese_button() self.driver.set_window_max() self.assert_text = AssertText() self.log_in_base.log_in_jimitest() self.connect_sql = ConnectSql() self.search_sql = SafeAreaSearchSql() self.safe_area_page_read_csv = SafeAreaPageReadCsv() def tearDown(self): self.driver.quit_browser() def test_case_139_risk_point_share(self): # 点击账号中心 sleep(5) self.safe_area_page.click_account_center() # 获取登录账号 account = self.log_in_base.get_log_in_account() # 断言url self.safe_area_page.click_control_after_click_safe_area() expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) self.safe_area_page.click_risk_point_share_button() csv_file = self.safe_area_page_read_csv.read_csv( 'risk_point_share.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue data = {'risk_name': row[0]} self.safe_area_page.add_data_to_search_risk_point_in_safe_area( data) # 获取查询出来的页面条数 web_total = self.safe_area_page.get_web_total_after_click_search_risk_share( ) sql_total = self.safe_area_page.get_sql_total_after_click_search_risk_share( data) self.assertEqual(web_total, sql_total) csv_file.close()
class TestCase49AccountCenterBillList(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_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage( self.driver, self.base_url) self.account_center_page_refill_card = AccountCenterRefillCardPage( self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.account_center_page = AccountCenterPage(self.driver, self.base_url) self.search_sql = SearchSql() self.assert_text = AssertText() self.assert_text2 = AssertText2() self.driver.set_window_max() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_case_account_center_bill_list(self): # 打开途强在线首页-登录页 self.base_page.open_page() # 登录账号 self.log_in_base.log_in_jimitest() self.account_center_page_navi_bar.click_account_center_button() account = self.log_in_base.get_log_in_account() # 点击账单按钮 self.account_center_page_navi_bar.switch_to_chongzhi_card() self.account_center_page.clcik_bill_button_in_account_info_page() csv_file = self.account_center_page_read_csv.read_csv('bill_list.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue search_data = { 'date_type': row[0], 'begin_time': row[1], 'end_time': row[2], 'imei': row[3], 'telephone': row[4], 'alarm_type': row[5], 'result': row[6] } self.account_center_page.add_data_to_search_bill_list_in_bill_list_page( search_data) ## 获取数据库查询的条数 sql_number = self.account_center_page.get_sql_number_after_click_search_button( account, search_data) # 获取页面上的条数 web_number = self.account_center_page.get_web_number_after_click_search_button( ) self.assertEqual(sql_number, web_number) csv_file.close()
class TestCase51AccountCenterManageAndTelephoneAlarm(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_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage( self.driver, self.base_url) self.account_center_page_refill_card = AccountCenterRefillCardPage( self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.account_center_page = AccountCenterPage(self.driver, self.base_url) self.search_sql = SearchSql() self.assert_text = AssertText() self.assert_text2 = AssertText2() self.driver.set_window_max() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_case_account_center_manage_and_telephone_alarm(self): # 打开途强在线首页-登录页 self.base_page.open_page() # 登录账号 self.log_in_base.log_in_jimitest() self.account_center_page_navi_bar.click_account_center_button() account = self.log_in_base.get_log_in_account() # 点击订单管理 self.account_center_page.clcik_massage_and_telephone_alarm_button_in_account_info_page( ) ## 进入账号详情的frame self.account_center_page.switch_to_massage_and_telephone_alarm_frame() csv_file = self.account_center_page_read_csv.read_csv( 'massage_and_telephone_alarm.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue search_data = {'alarm_name': row[0], 'alarm_type': row[1]} self.account_center_page.add_data_to_search_massage_and_telephone_alarm_in_set_page( search_data) ## 获取数据库查询的条数 sql_number = self.account_center_page.get_sql_number_after_click_massage_and_telephone_alarm_set_search_button( account, search_data) # 获取页面上的条数 web_number = self.account_center_page.get_web_number_after_click_massage_and_telephone_alarm_search_button( ) self.assertEqual(sql_number, web_number) csv_file.close() self.driver.default_frame()
class TestCase136SafeAreaRelevance(unittest.TestCase): """ jimitest账号,围栏关联设备 """ # author:邓肖斌 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.log_in_base = LogInBaseServer(self.driver, self.base_url) self.safe_area_page = SafeAreaPage(self.driver, self.base_url) self.base_page.open_page() self.base_page.click_chinese_button() self.assert_text = AssertText() self.driver.set_window_max() self.log_in_base.log_in_jimitest() self.safe_area_page.click_control_after_click_safe_area() def tearDown(self): self.driver.quit_browser() def test_case_safe_area_relevance(self): # 断言url expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) # 选择围栏 self.safe_area_page.click_select_fence_button() # 点击关联 self.safe_area_page.click_relevance_button() # 获取当前围栏关联的设备总数 dev_num = self.safe_area_page.get_total_num_of_dev_relation_fences() # 获取实际条数 cur_num = self.safe_area_page.get_all_num_of_dev_relation_fences() # 关闭 self.safe_area_page.click_close() self.assertEqual(dev_num, cur_num) # 点击关联 self.safe_area_page.click_relevance_button() # 取消 self.safe_area_page.click_cancel_edit() # 点击关联 self.safe_area_page.click_relevance_button() # 循环点击左侧的客户树 for n in range(5): self.safe_area_page.click_customer(n) # 获取右侧暂无数据的属性 attribute = self.safe_area_page.get_no_data_attribute() if 'display: none;' in attribute: text = self.safe_area_page.get_text_no_data() self.assertIn(self.assert_text.account_center_page_no_data_text(), text) else: # 点击收起默认组 self.safe_area_page.click_close_default_group() group_number = self.safe_area_page.get_total_group() for m in range(group_number): # 点击每一个分组 group_total_dev = self.safe_area_page.get_total_dev_in_per_group(m) self.safe_area_page.click_open_per_group(m) list_total_dev = self.safe_area_page.get_list_dev_in_per_group(m) self.assertEqual(group_total_dev, str(list_total_dev)) self.safe_area_page.click_open_per_group(m) # 验证已选中的设备数量和统计的是否一致 count_dev_number = self.safe_area_page.get_count_dev_number() get_list_total_number = self.safe_area_page.get_list_total_number() self.assertEqual(str(get_list_total_number), count_dev_number)
class TestCase137SafeAreaMarkPointException(unittest.TestCase): """ jimitest账号,标注点分页功能 author:邓肖斌 """ 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.log_in_base = LogInBaseServer(self.driver, self.base_url) self.safe_area_page = SafeAreaPage(self.driver, self.base_url) self.base_page.open_page() self.base_page.click_chinese_button() self.driver.set_window_max() self.log_in_base.log_in_jimitest() self.safe_area_page.click_control_after_click_safe_area() def tearDown(self): self.driver.quit_browser() def test_case_safe_area_mark_point_exception(self): # 断言url expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) # 点击标注点 self.safe_area_page.click_mark_button() # 循环点击下一页 page_number = self.safe_area_page.get_total_page_num_mark_page() if page_number == '0': text = self.safe_area_page.get_page_in_mark_page() self.assertEqual('0/0', text) elif page_number == '1': text = self.safe_area_page.get_page_in_mark_page() self.assertEqual('1/1', text) # 点击下一页 self.safe_area_page.click_next_page_in_mark_page() # 获取最后一页数量 number = self.safe_area_page.get_per_number_in_mark_page() self.assertNotEqual(0, number) # 点击上一页 self.safe_area_page.click_ago_page_in_mark_page() number = self.safe_area_page.get_per_number_in_mark_page() self.assertNotEqual(0, number) else: for n in range(int(page_number)): text = self.safe_area_page.get_page_in_mark_page() self.assertEqual('%s/%s' % (str(n + 1), page_number), text) self.safe_area_page.click_next_page_in_mark_page() # 点击下一页 self.safe_area_page.click_next_page_in_mark_page() # 获取最后一页数量 number = self.safe_area_page.get_per_number_in_mark_page() self.assertNotEqual(0, number) for n in range(int(page_number)): text = self.safe_area_page.get_page_in_mark_page() self.assertEqual( '%s/%s' % (str(int(page_number) - n), page_number), text) self.safe_area_page.click_ago_page_in_mark_page() # 点击上一页 self.safe_area_page.click_ago_page_in_mark_page() number = self.safe_area_page.get_per_number_in_mark_page() self.assertNotEqual(0, number)
class TestCase138SafeAreaMarkPointOperation(unittest.TestCase): """ 围栏编辑页面搜索关联设备 """ # author:邓肖斌 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.log_in_base = LogInBaseServer(self.driver, self.base_url) self.safe_area_page = SafeAreaPage(self.driver, self.base_url) self.safe_area_page_read_csv = SafeAreaPageReadCsv() self.assert_text = AssertText() self.connect_sql = ConnectSql() self.safe_area_search_sql = SafeAreaSearchSql() self.base_page.open_page() self.base_page.click_chinese_button() self.driver.set_window_max() self.log_in_base.log_in_jimitest() def tearDown(self): self.driver.quit_browser() def test_case_safe_area_mark_point_operation(self): self.log_in_base.click_account_center_button() # 获取登录账号的用户名 current_account = self.log_in_base.get_log_in_account() # 跳转到安全区域 self.safe_area_page.click_control_after_click_safe_area() # 断言url expect_url = self.base_url + "/safearea/geozonemap?flag=0" self.assertEqual(expect_url, self.driver.get_current_url()) # 点击围栏 self.safe_area_page.click_select_fence_button() # 点击编辑 self.safe_area_page.click_edit_fence() # 获取围栏名称 fence_name = self.safe_area_page.get_fence_name_of_cur_edit() print("当前围栏名称为:%s" % fence_name) i = 0 # 读csv csv_file = self.safe_area_page_read_csv.read_csv( 'safe_area_fences_relation_dev_data.csv') csv_data = csv.reader(csv_file) is_header = True for row in csv_data: if is_header: is_header = False continue data = { "account": row[0], "search_type": row[1], "search_content": row[2] } self.safe_area_page.fences_edit_page_search_dev(data) # 断言 # 连接数据库 connect = self.connect_sql.connect_tuqiang_sql() # 建立游标 cursor = connect.cursor() geo_id_sql = self.safe_area_search_sql.search_sql_in_test_case_138_01( fence_name) # 执行 cursor.execute(geo_id_sql) geo = cursor.fetchall() print(geo) for row1 in geo: geo_id = {"geo_id": row1[0]} # 判断搜索条件 get_sql = self.safe_area_search_sql. \ search_sql_in_test_case_138_02(geo_id["geo_id"], current_account, data) # 执行sql print(get_sql) cursor.execute(get_sql) current_total = cursor.fetchall() total_list = [] for range1 in current_total: for range2 in range1: total_list.append(range2) total_num = len(total_list) web_total = self.safe_area_page.get_fence_relation_dev_num() i += 1 print('第%s次查询页面的条数是:%s' % (i, web_total)) print('第%s次查询数据库的条数为:%s' % (i, total_num)) self.assertEqual(total_num, web_total) cursor.close() connect.close()
class TestCase212UserCenterCancelCommandLog(unittest.TestCase): # 测试个人中心 - 帮助 - 业务日志 - 取消指令日志 def setUp(self): self.driver = AutomateDriverServer() 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.help_page = HelpPage(self.driver, self.base_url) self.account_center_page_operation_log = AccountCenterOperationLogPage( self.driver, self.base_url) self.help_page_sql = HelpPageSql() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.connect_sql = ConnectSql() self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.user_center_page = UserCenterPage(self.driver, self.base_url) 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_user_center_cancel_command_log(self): self.base_page.open_page() self.log_in_base.log_in_jimitest() user_account = self.log_in_base.get_log_in_account() # 点击设置 - 指令管理 self.user_center_page.click_set_up_and_command_set_up() # 点击下发指令管理 self.user_center_page.click_issued_command_management() sleep(3) # 搜索待发送的指令记录 self.user_center_page.search_to_be_sent_command() # 获取第一条指令的信息 command_info = self.user_center_page.get_command_info_first_command_record( ) command_imei = self.user_center_page.get_command_imei_first_command_record( ) command_imei_user_account = self.user_center_page.get_command_imei_user_account( command_imei) # 选择第一条记录,选中取消指令 self.user_center_page.select_first_command_record_and_cancel() self.user_center_page.click_user_center_button() # 点击帮助 self.user_center_page.click_help_button() # 切换到业务日志的frame里面 self.user_center_page.switch_to_business_frame() # 搜索取消指令 self.user_center_page.select_cancel_command_log() # 点击搜索 self.user_center_page.click_search_button_in_business_log() sleep(5) # 获取第一条日志的记录 operation = self.user_center_page.get_operation_in_business_log() target_account = self.user_center_page.get_target_account_in_business_log( ) operation_platform = self.user_center_page.get_operation_platform_in_business_log( ) desc = self.user_center_page.get_desc_in_business_log() # 断言 self.assertEqual(operation + " ", ' ' + user_account) self.assertEqual(target_account, command_imei_user_account) self.assertEqual('网页端', operation_platform) desc_01 = "%s取消设备%s 指令%s" % (operation, command_imei, command_info) self.assertEqual(desc_01, " " + desc)
class TestCase48AccountCenterVerifyInfo(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_navi_bar = AccountCenterNaviBarPage( self.driver, self.base_url) self.account_center_page_details = AccountCenterDetailsPage( self.driver, self.base_url) self.account_center_page_refill_card = AccountCenterRefillCardPage( self.driver, self.base_url) self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.account_center_page = AccountCenterPage(self.driver, self.base_url) self.search_sql = SearchSql() self.assert_text = AssertText() self.assert_text2 = AssertText2() self.driver.set_window_max() self.account_center_page_read_csv = AccountCenterPageReadCsv() self.log_in_base = LogInBaseServer(self.driver, self.base_page) self.driver.wait(1) self.driver.clear_cookies() self.driver.wait(1) def tearDown(self): self.driver.quit_browser() def test_account_center_verify_info(self): # 打开途强在线首页-登录页 self.base_page.open_page() # 登录账号 self.log_in_base.log_in_jimitest() self.account_center_page_navi_bar.click_account_center_button() ## 进入账号详情的frame self.account_center_page.switch_to_account_info_frame() ## 获取到登录账号的信息 account = self.account_center_page.get_account_in_account_info_page() account_type = self.account_center_page.get_account_type_in_account_info_page( ) account_telephone = self.account_center_page.get_account_telephone_in_account_info_page( ) ## 获取最下方客户信息 account_01 = self.account_center_page.get_account_01_in_account_info_page( ) account_type_01 = self.account_center_page.get_account_type_01_in_account_info_page( ) account_telephone_01 = self.account_center_page.get_account_telephone_01_in_account_info_page( ) ## 断言 self.assertEqual(account, account_01) self.assertEqual(account_type, account_type_01) self.assertEqual(account_telephone, account_telephone_01) ## 获取电话、短信告警总数信息 telephone_alarm_number = self.account_center_page.get_telephone_alarm_number_in_account_info_page( ) massage_alarm_number = self.account_center_page.get_massage_alarm_number_in_account_info_page( ) ## 获取数据库剩余电话短信的条数 telephone_and_massage_alarm_number_in_mysql = self.account_center_page.get_telephone_and_massage_alarm_number_in_mysql( account) try: telephone_alarm_number_01 = str( telephone_and_massage_alarm_number_in_mysql[0][0]) massage_alarm_number_01 = str( telephone_and_massage_alarm_number_in_mysql[0][1]) self.assertEqual(telephone_alarm_number, telephone_alarm_number_01) self.assertEqual(massage_alarm_number, massage_alarm_number_01) except: self.assertEqual(telephone_alarm_number, '0') self.assertEqual(massage_alarm_number, '0') ## 获取充值卡剩余数量 year_card_number = self.account_center_page.get_year_card_number_in_account_info_page( ) life_card_number = self.account_center_page.get_life_card_number_in_account_info_page( ) ## 获取数据库剩余充值卡数量 try: year_and_life_card_number_in_mysql = self.account_center_page.get_year_and_life_card_number_in_mysql( account) year_card_number_01 = str(year_and_life_card_number_in_mysql[0][0]) life_card_number_01 = str(year_and_life_card_number_in_mysql[0][1]) self.assertEqual(year_card_number, year_card_number_01) self.assertEqual(life_card_number, life_card_number_01) except: self.assertEqual(year_card_number, '0') self.assertEqual(life_card_number, '0') ## 获取昨天消费统计数 consume_massage_alarm_number = self.account_center_page.get_consume_massage_alarm_number_in_account_info_page( ) consume_telephone_alarm_number = self.account_center_page.get_consume_telephone_alarm_number_in_account_info_page( ) consume_year_card_number = self.account_center_page.get_consume_year_card_number_in_account_info_page( ) consume_life_card_number = self.account_center_page.get_consume_life_card_number_in_account_info_page( ) # 分别获取昨天的短信、电话、年卡、终生卡消费情况 begin_time = self.account_center_page.get_bengin_time('昨天') end_time = self.account_center_page.get_end_time('昨天') try: consume_number = self.account_center_page.get_consume_number_in_mysql( begin_time, end_time, account) self.assertEqual(consume_massage_alarm_number, consume_number[0]) self.assertEqual(consume_telephone_alarm_number, consume_number[1]) self.assertEqual(consume_year_card_number, consume_number[2]) self.assertEqual(consume_life_card_number, consume_number[3]) except: self.assertEqual(consume_massage_alarm_number, '0') self.assertEqual(consume_telephone_alarm_number, '0') self.assertEqual(consume_year_card_number, '0') self.assertEqual(consume_life_card_number, '0') # 点击当月 self.account_center_page.click_this_month_in_account_page() ## 获取当月消费统计数 consume_massage_alarm_number = self.account_center_page.get_consume_massage_alarm_number_in_account_info_page_this_month( ) consume_telephone_alarm_number = self.account_center_page.get_consume_telephone_alarm_number_in_account_info_page_this_month( ) consume_year_card_number = self.account_center_page.get_consume_year_card_number_in_account_info_page_this_month( ) consume_life_card_number = self.account_center_page.get_consume_life_card_number_in_account_info_page_this_month( ) # 分别获取昨天的短信、电话、年卡、终生卡消费情况 begin_time = self.account_center_page.get_bengin_time('本月') end_time = self.account_center_page.get_end_time('本月') try: consume_number = self.account_center_page.get_consume_number_in_mysql( begin_time, end_time, account) self.assertEqual(consume_massage_alarm_number, consume_number[0]) self.assertEqual(consume_telephone_alarm_number, consume_number[1]) self.assertEqual(consume_year_card_number, consume_number[2]) self.assertEqual(consume_life_card_number, consume_number[3]) except: self.assertEqual(consume_massage_alarm_number, '0') self.assertEqual(consume_telephone_alarm_number, '0') self.assertEqual(consume_year_card_number, '0') self.assertEqual(consume_life_card_number, '0') # 点击上月 self.account_center_page.click_last_month_in_account_page() ## 获取上月消费统计数 consume_massage_alarm_number = self.account_center_page.get_consume_massage_alarm_number_in_account_info_page_last_month( ) consume_telephone_alarm_number = self.account_center_page.get_consume_telephone_alarm_number_in_account_info_page_last_month( ) consume_year_card_number = self.account_center_page.get_consume_year_card_number_in_account_info_page_last_month( ) consume_life_card_number = self.account_center_page.get_consume_life_card_number_in_account_info_page_last_month( ) # 分别获取昨天的短信、电话、年卡、终生卡消费情况 begin_time = self.account_center_page.get_bengin_time('上月') end_time = self.account_center_page.get_end_time('上月') try: consume_number = self.account_center_page.get_consume_number_in_mysql( begin_time, end_time, account) self.assertEqual(consume_massage_alarm_number, consume_number[0]) self.assertEqual(consume_telephone_alarm_number, consume_number[1]) self.assertEqual(consume_year_card_number, consume_number[2]) self.assertEqual(consume_life_card_number, consume_number[3]) except: self.assertEqual(consume_massage_alarm_number, '0') self.assertEqual(consume_telephone_alarm_number, '0') self.assertEqual(consume_year_card_number, '0') self.assertEqual(consume_life_card_number, '0') self.driver.default_frame()