class TestCase118LoginWithLogoutDismiss(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(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_login_and_logout_dismiss(self):
        '''测试成功登录的用户取消退出'''
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 输入用户信息进行登录
        self.log_in_base.log_in()
        # 点账户中心
        self.account_center_page_navi_bar.click_account_center_button()
        # 判断登录成功后跳转页面是否正确
        actual_url = self.driver.get_current_url()
        expect_url = self.base_url + "/customer/toAccountCenter"
        self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")
        # 成功退出系统
        self.account_center_page_navi_bar.usr_logout_dismiss()
        # 判断是否仍停留在当前账户首页,并未退出系统
        self.assertEqual(self.base_url + "/customer/toAccountCenter",
                         self.driver.get_current_url(), "取消退出系统失败")
class TestCase108LoginTester(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.driver.set_window_max()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_log_in_tester(self):
        # 打开页面
        self.base_page.open_page()
        # 点击体验账号
        self.login_page.click_tester_button()

        # 断言登录的账号
        user_account = self.login_page.get_user_account_tester()
        self.assertEqual('taste', user_account)

        # 点击个人中心
        self.login_page.click_user_center()
        # 点击退出系统
        self.login_page.click_log_out_system()
        # 点击确定
        self.login_page.click_ensure()

        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "退出系统失败")
Beispiel #3
0
class TestCase18AccountCenterOverviewSetUpLandmark(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.driver.set_window_max()
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_set_up_landmark(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()
        # 点击库存
        self.account_center_page_details.account_center_iframe()
        self.account_center_page_details.account_overview('地标设置')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                actual_url = self.base_url + '/safearea/geozonemap?flag=1'
                self.assertEqual(expect_url, actual_url, '点击地标设置后,实际的url和期望的不一样!')
                sleep(2)

                actual_text = self.account_center_page_details.get_actual_text_after_click_set_up_landmark()
                self.assertEqual(self.assert_text.account_center_page_mark_point_text(), actual_text,
                                 '点击地标设置后,页面没有跳转到地标设置页面上')

                self.assertEqual('active',
                                 self.driver.get_element('x,//*[@id="safemenu"]/li[2]').get_attribute('class'))

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console()
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button()
                self.assertEqual(self.assert_text.account_center_page_alarm_manager_text(), get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
Beispiel #4
0
class TestCase14AccountCenterOverviewAlarm(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_alarm(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()
        # 点击围栏
        self.account_center_page_details.account_center_iframe()
        self.account_center_page_details.account_overview('围栏')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                actual_url = self.base_url + '/safearea/geozonemap?flag=0'
                self.assertEqual(expect_url, actual_url, '点击围栏后,实际的url和期望的不一样!')
                actual_text = self.account_center_page_details.get_actual_text_after_click_alarm()
                self.assertEqual(self.assert_text.account_center_page_area_alarm_text(), actual_text,
                                 '点击围栏后,页面没有跳转到围栏设置页面')

                # 验证区域预警有没有被选中
                value = self.account_center_page_details.click_safearea_get_vaule()
                self.assertEqual('active', value)

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console()
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button()
                self.assertEqual(self.assert_text.account_center_page_alarm_manager_text(), get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
Beispiel #5
0
class TestCase406CustomerManagementOperationControl(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.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(
            self.driver, self.base_url)
        self.cust_manage_lower_account_page = CustManageLowerAccountPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text = AssertText()
        self.assert_text2 = AssertText2()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.close_window()
        self.driver.quit_browser()

    def test_user_operation_control(self):
        self.base_page.open_page()

        self.log_in_base.log_in()

        current_handle = self.driver.get_current_window_handle()
        self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()
        self.base_page.change_windows_handle(current_handle)

        # 搜索一个客户
        self.cust_manage_lower_account_page.input_search_info('bbb123')
        # 搜索
        self.cust_manage_lower_account_page.click_search_btn()

        # 点击控制台
        current_handle = self.driver.get_current_window_handle()
        # 点击控制台
        self.cust_manage_basic_info_and_add_cust_page.click_control_button()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                # 获取url
                except_url = self.driver.get_current_url()
                self.assertEqual(self.base_url + "/index", except_url)
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()
Beispiel #7
0
class TestCase132MarkPaging(unittest.TestCase):
    """ web_autotest账号,标注点页面分页功能 """

    # 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()
        self.safe_area_page.click_control_after_click_safe_area()
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()

    def tearDown(self):
        self.driver.quit_browser()

    def test_case_mark_paging(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()
        sleep(2)

        # 获取总页数
        total_number = self.safe_area_page.get_total_page_number_mark()
        if total_number == '0':
            print('无数据!')
        elif total_number == '1':
            print('就一页!')
        else:
            # 下一页
            self.safe_area_page.click_next_page_mark()
            self.assertEqual('2', self.safe_area_page.get_current_page_number_mark())
            # 点击上一页
            self.safe_area_page.click_ago_page_mark()
            self.assertEqual('1', self.safe_area_page.get_current_page_number_mark())

            # 点击尾页
            self.safe_area_page.click_last_page_mark()
            self.assertEqual(self.safe_area_page.get_current_page_number_mark(),
                             self.safe_area_page.get_total_page_number_mark())
            # 点击首页
            self.safe_area_page.clcik_first_page_mark()
            self.assertEqual('1', self.safe_area_page.get_current_page_number_mark())
Beispiel #8
0
class TestCase119LoginWithRememberMe(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.driver.set_window_max()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_login_with_remember_me(self):
        '''测试登录时勾选记住我'''
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        # 点账户中心
        self.account_center_page_navi_bar.click_account_center_button()
        # 判断登录成功后跳转页面是否正确
        actual_url = self.driver.get_current_url()
        expect_url = self.base_url + "/customer/toAccountCenter"
        self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")

        sleep(1)
        # 成功退出系统
        self.account_center_page_navi_bar.usr_logout()
        # 判断是否成功退出系统
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "退出系统失败")
        # 验证退出系统后“记住我”是否是已勾选状态
        box_status = self.login_page.check_remember_me()
        self.assertEqual(True, box_status, '记住密码失败')
class TestCase26AccountCenterDefaultHomePageNoSetting(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_home_page_setting = AccountCenterSettingHomePage(
            self.driver, self.base_url)
        self.assert_text2 = AssertText2()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.base_page.open_page()
        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_no_setting_default_home_page(self):
        '''没有设置默认首页验证'''

        self.log_in_base.log_in_with_csv("zcs001", "jimi123")
        self.account_center_page_navi_bar.click_account_center_button()
        # 点击默认首页设置
        self.account_center_page_home_page_setting.click_home_page_setting()

        # 取列表数据
        all_state = self.account_center_page_home_page_setting.get_home_page_list_all_state(
        )
        for i in all_state:
            self.assertEqual(
                self.assert_text2.account_center_home_page_no_setting_state(),
                i, "并不是全部为默认设置")

        sleep(2)
        # 退出
        self.account_center_page_navi_bar.usr_logout()
        # 登录
        self.log_in_base.log_in_with_csv("zcs001", "jimi123")
        expect_url = self.driver.get_current_url()
        actual_url = self.base_url + "/customer/toAccountCenter"
        self.assertEqual(expect_url, actual_url, "未设置默认首页,登陆后并不是进入账户中心页")
class TestCase124LoginSuccessWithphAppUser(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.log_in_read_csv = LogInPageReadCsv()
        self.connect_sql = ConnectSql()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_app_user_login_by_csv(self):
        '''通过csv测试app账户成功登录和成功退出功能'''
        data = ["首页", "设备管理", "操控台", "统计报表", "安全区域", "设备分布"]

        csv_file = self.log_in_read_csv.read_csv('login_with_app_user.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            user_to_login = {"account": row[0], "passwd": row[1]}
            # 打开途强在线首页-登录页
            self.base_page.open_page()
            # 输入用户信息进行登录
            self.login_page.user_login(user_to_login["account"],
                                       user_to_login["passwd"])
            # 点首页
            # self.login_page.click_home_page()
            # 判断登录成功后跳转页面是否正确
            actual_url = self.driver.get_current_url()
            expect_url = self.base_url + "/nomalUserCenter"
            self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")

            # 判断登录成功后招呼栏的用户名是否正确
            hello_usr = self.account_center_page_navi_bar.hello_user_account()
            expect_usr = user_to_login["account"]
            self.assertEqual(expect_usr, hello_usr, "登录成功后招呼栏账户名显示错误")

            # 验证模块
            module = self.account_center_page_navi_bar.get_page_module()
            for m in range(len(module)):
                self.assertIn(data[m], module[m], "用户账号登录,模块显示错误")

            # 获取当前app账号有几个服务商
            service_number = self.account_center_page_details.get_current_account_service_number(
            )

            # 获取数据库服务商的个数
            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()
            get_up_account_info_sql = "select userId from user_info where account = '%s';" % user_to_login[
                'account']

            cursor.execute(get_up_account_info_sql)
            get_up_user_info = cursor.fetchall()
            get_current_id = []
            for range1 in get_up_user_info:
                for range2 in range1:
                    get_current_id.append(range2)
            print(get_current_id)

            get_service_sql = "select userId from equipment_mostly where bindUserId = '" + get_current_id[
                0] + "' group by userId ;"
            cursor.execute(get_service_sql)
            get_service = cursor.fetchall()
            service_number_list = []
            for range1 in get_service:
                for range2 in range1:
                    service_number_list.append(range2)
            service_total = len(service_number_list)
            cursor.close()
            connect.close()
            # 断言
            # self.assertEqual(service_number - 1, service_total)
            self.assertEqual(service_number, service_total)

            # 成功退出系统
            sleep(2)
            self.account_center_page_navi_bar.app_usr_logout()
            # 判断是否成功退出到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "退出系统失败")
            break
        csv_file.close()
class TestCase11AccountCenterOverviewTotal(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.connect_sql = ConnectSql()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_total(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        # self.log_in_base.log_in_with_csv("kankan111","jimi123")
        self.account_center_page_navi_bar.click_account_center_button()
        self.account_center_page_details.account_center_iframe()
        # 获取登录账号的用户名
        # current_account = self.log_in_base.get_log_in_account()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()
        expect_total = self.account_center_page_details.get_current_account_total_equipment()

        # 点击库存
        self.account_center_page_details.account_overview('总进货数')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                # 执行sql脚本查询当前登录账号的userId,fullParent
                actual_url = self.base_url + '/device/toDeviceManage?lowerDevFlag=1'
                self.assertEqual(expect_url, actual_url, '点击总进货数后,实际的url和期望的不一样!')

                # 断言包涵下级是否被勾选上
                self.assertEqual(True, self.driver.get_element('x,//*[@id="lowerFlag"]/div/input').is_selected())

                sleep(3)
                dev_count = self.account_center_page_details.get_total_dev_number_after_ckick_all_dev_number()
                self.assertEqual(expect_total, str(dev_count), '当前总进货数和实际数据库不一致!')

                # 验证清空按钮
                self.account_center_page_details.click_clear_all_button()
                lower_user_input_value = self.account_center_page_details.get_lower_input_value()
                self.assertEqual(False, lower_user_input_value)
                # 点搜索
                self.account_center_page_details.click_search_button()
                lower_user_input_value_again = self.account_center_page_details.get_lower_input_value()
                self.assertEqual(False, lower_user_input_value_again)

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console()
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button()
                self.assertEqual(self.assert_text.account_center_page_alarm_manager_text(), get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
Beispiel #12
0
class TestCase7408171CustManagelResetPasswordVerify(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.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(
            self.driver, self.base_url)
        self.cust_manage_lower_account_page = CustManageLowerAccountPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.assert_text2 = AssertText2()
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_cancel_and_ascertain_reset_password(self):
        '''客户管理-取消和确定重置密码操作'''
        account = ["xin_121313"]

        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()
        self.driver.wait(1)
        # 进入客户管理页面
        self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()
        # 搜索账号
        self.cust_manage_lower_account_page.input_search_info(account[0])
        self.cust_manage_lower_account_page.click_search_btn()
        self.assertEqual(
            account[0],
            self.cust_manage_lower_account_page.get_search_result_account(),
            "搜索结果账号不一致")
        # 取消重置密码
        self.cust_manage_lower_account_page.click_reset_passwd_dismiss()

        # 取消重置密码后的验证
        self.log_in_base.click_account_center_button()
        sleep(2)
        self.account_center_page_navi_bar.usr_logout()
        self.log_in_base.log_in_with_csv(account[0], "jimi123")
        hello_usr = self.account_center_page_navi_bar.hello_user_account()
        self.assertIn(account[0], hello_usr, "登录成功后招呼栏账户名显示错误")
        sleep(1)
        self.account_center_page_navi_bar.usr_logout()

        #再次登录,重置密码
        self.log_in_base.log_in()
        self.driver.wait(1)
        # 进入客户管理页面
        self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()
        self.cust_manage_lower_account_page.input_search_info(account[0])
        self.cust_manage_lower_account_page.click_search_btn()
        # 点击单个用户的重置密码
        self.cust_manage_lower_account_page.acc_reset_passwd()

        # 获取重置密码弹框文本内容
        text = self.cust_manage_lower_account_page.reset_passwd_content()
        hint_password = text.split(":")[2]
        # 验证重密码是否正确显示
        self.assertEqual("888888", hint_password, "弹框中的重置密码显示的不是888888")

        # 确定重置密码
        self.cust_manage_lower_account_page.reset_passwd_ensure()
        # 获取重置状态
        reset_status = self.cust_manage_lower_account_page.reset_passwd_content(
        )
        # 验证操作状态是否成功
        self.assertIn(self.assert_text.account_center_page_operation_done(),
                      reset_status, "操作失败")
        # 退出登录
        sleep(1)
        self.log_in_base.click_account_center_button()
        sleep(2)
        self.account_center_page_navi_bar.usr_logout()

        # 修改用户的默认密码
        self.log_in_base.log_in_with_csv(account[0], hint_password)
        sleep(2)
        # 修改用户默认密码(jimi123)
        self.cust_manage_basic_info_and_add_cust_page.user_default_password_edit(
            "jimi123")
        sleep(2)
        # 获取密码修改成功
        self.driver.click_element("x,/html/body/div[16]/div[3]/a")
        # status = self.cust_manage_basic_info_and_add_cust_page.user_default_password_edit_prompt()
        # self.assertIn(self.assert_text2.home_page_edit_password_success(), status, "修改密码失败!")
        sleep(2)
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "修改默认密码后,没有返回到登录页")
Beispiel #13
0
class TestCase122LoginEnterThirdWebsite(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.driver.set_window_max()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_third_website(self):
        '''测试登录页底部第三方链接'''

        websites = ["可信网站", "网络警察", "公共信息网络安全监察", "不良信息举报中心", "工商网监"]

        # 打开途强在线首页-登录页
        self.base_page.open_page()

        # 获取网站个数
        url = self.base_url
        count = self.login_page.get_login_page_website_count(url)

        # 获取当前窗口句柄
        tuqiang_handle = self.driver.get_current_window_handle()
        try:
            # 点击底部第三方链接-可信网站
            expect_url_00 = "https://ss.knet.cn/verifyseal.dll?sn=e16112844030065399aooh000000&ct=df&a=1&pa=0.5438364866062911"
            self.login_page.enter_third_party_website(websites[0], count)
            self.driver.wait()
            # 获取当前所有窗口句柄
            all_handles = self.driver.get_all_window_handles()
            for handle in all_handles:
                if handle != tuqiang_handle:
                    self.driver.switch_to_window(handle)
                    self.driver.wait(1)
                    web_url_00 = self.driver.get_current_url()
                    # 判断当前第三方链接跳转是否正确
                    self.assertEqual(expect_url_00, web_url_00, "当前第三方链接跳转错误")

                    self.driver.close_window()
                    self.driver.switch_to_window(tuqiang_handle)
                    print("有可信网站")
        except:
            print("没有可信网站############")

        # 点击底部第三方链接-01
        expect_url_01 = "http://www.cyberpolice.cn/wfjb/"
        self.login_page.enter_third_party_website(websites[1], count)
        self.driver.wait()
        # 获取当前所有窗口句柄
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != tuqiang_handle:
                self.driver.switch_to_window(handle)
                self.driver.wait(1)
                web_url_01 = self.driver.get_current_url()
                # 判断当前第三方链接跳转是否正确
                self.assertEqual(expect_url_01, web_url_01, "当前第三方链接跳转错误")
                self.driver.wait()

                self.driver.close_window()
                self.driver.switch_to_window(tuqiang_handle)

        # 点击底部第三方链接-02
        self.driver.switch_to_window(tuqiang_handle)
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "回到原窗口失败")

        expect_url_02 = "http://www.500wan.com/pages/info/about/wangan/index.htm"
        self.login_page.enter_third_party_website(websites[2], count)
        self.driver.wait()
        # 获取当前所有窗口句柄
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != tuqiang_handle:
                self.driver.switch_to_window(handle)
                self.driver.wait(1)
                web_url_02 = self.driver.get_current_url()
                # 判断当前第三方链接跳转是否正确
                self.assertEqual(expect_url_02, web_url_02, "当前第三方链接跳转错误")
                self.driver.wait()

                self.driver.close_window()
                self.driver.switch_to_window(tuqiang_handle)

        # 点击底部第三方链接-03
        self.driver.switch_to_window(tuqiang_handle)
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "回到原窗口失败")

        expect_url_03 = "http://www.12377.cn/"
        self.login_page.enter_third_party_website(websites[3], count)
        self.driver.wait()
        # 获取当前所有窗口句柄
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != tuqiang_handle:
                self.driver.switch_to_window(handle)
                self.driver.wait(1)
                web_url_03 = self.driver.get_current_url()
                # 判断当前第三方链接跳转是否正确
                self.assertEqual(expect_url_03, web_url_03, "当前第三方链接跳转错误")
                self.driver.wait()

                self.driver.close_window()
                self.driver.switch_to_window(tuqiang_handle)

        self.driver.switch_to_window(tuqiang_handle)
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "回到原窗口失败")

        expect_url_04 = "http://szcert.ebs.org.cn/2a950f00-00fb-495c-8e30-5a04100f9b17"
        self.login_page.enter_third_party_website(websites[4], count)
        self.driver.wait()
        # 获取当前所有窗口句柄
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != tuqiang_handle:
                self.driver.switch_to_window(handle)
                self.driver.wait(1)
                web_url_04 = self.driver.get_current_url()
                # 判断当前第三方链接跳转是否正确
                self.assertEqual(expect_url_04, web_url_04, "当前第三方链接跳转错误")
                self.driver.wait()

                self.driver.close_window()
                self.driver.switch_to_window(tuqiang_handle)

        self.driver.switch_to_window(tuqiang_handle)
        self.assertEqual(self.base_url + "/", self.driver.get_current_url(),
                         "回到原窗口失败")
Beispiel #14
0
class TestCase117LoginSuccessWithOrdinaryUser(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.log_in_page_read_csv = LogInPageReadCsv()
        self.driver.set_window_max()
        self.connect_sql = ConnectSql()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_ordinary_user_login_by_csv(self):
        '''通过csv测试普通用户账户成功登录和成功退出功能'''
        data = ["首页", "设备管理", "操控台", "统计报表", "安全区域", "设备分布"]

        csv_file = self.log_in_page_read_csv.read_csv(
            'login_with_ordinary_user.csv')
        csv_data = csv.reader(csv_file)

        for row in csv_data:
            user_to_login = {"account": row[0], "passwd": row[1]}

            # 打开途强在线首页-登录页
            self.base_page.open_page()
            # 输入用户信息进行登录
            self.login_page.user_login(user_to_login["account"],
                                       user_to_login["passwd"])
            self.driver.wait(1)
            # 点首页
            self.login_page.click_home_page()
            # 判断登录成功后跳转页面是否正确
            actual_url = self.driver.get_current_url()
            expect_url = self.base_url + "/nomalUserCenter"
            self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")

            # 判断登录成功后招呼栏的用户名是否正确
            hello_usr = self.account_center_page_navi_bar.hello_user_account()
            expect_usr = user_to_login["account"]
            self.assertIn(expect_usr, hello_usr, "登录成功后招呼栏账户名显示错误")

            # 验证模块
            '''module = self.account_center_page_navi_bar.get_page_module()
            for m in range(len(module)):
                self.assertIn(data[m], module[m], "用户账号登录,模块显示错误")'''

            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()
            get_account_user_info_sql = "SELECT o.parentId from user_info o WHERE o.account = '" + \
                                        user_to_login['account'] + "'"
            cursor.execute(get_account_user_info_sql)
            get_account_user_info = cursor.fetchall()
            current_user_info = []
            for range1 in get_account_user_info:
                for range2 in range1:
                    current_user_info.append(range2)
            print(current_user_info)
            # get_up_account_info_sql = "SELECT o.account,o.nickName,o.phone FROM user_info o WHERE o.userId = '" + \
            # current_user_info[0] + "';"
            get_up_account_info_sql = "SELECT o.account,o.contact,o.phone FROM user_info o WHERE o.userId = '" + \
                                      current_user_info[0] + "';"
            cursor.execute(get_up_account_info_sql)
            get_up_user_info = cursor.fetchall()
            up_user_info = []
            for range1 in get_up_user_info:
                for range2 in range1:
                    up_user_info.append(range2)
            print(up_user_info)
            usr_service_provider = self.account_center_page_navi_bar.ordinary_usr_service_provider(
            )
            expect_usr_service_provider = up_user_info[0]
            self.assertIn(expect_usr_service_provider, usr_service_provider,
                          "服务商显示错误")
            if up_user_info[1] != '':
                service_provider_connect = self.account_center_page_navi_bar.ordinary_usr_service_provider_connect(
                )
                expect_service_provider_connect = up_user_info[1]
                self.assertIn(expect_service_provider_connect,
                              service_provider_connect, "联系人显示错误")

            service_provider_phone = self.account_center_page_navi_bar.ordinary_usr_service_provider_phone(
            )
            expect_service_provider_phone = up_user_info[2]
            self.assertIn(expect_service_provider_phone,
                          service_provider_phone, "电话显示错误")

            # 成功退出系统
            sleep(2)
            self.account_center_page_navi_bar.usr_log_out()

            # 判断是否成功退出到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "退出系统失败")

            # 验证退出系统后“记住我”是否是未勾选状态
            box_status = self.login_page.check_remember_me()
            self.assertEqual(False, box_status, '记住密码为勾选状态!')

        csv_file.close()
Beispiel #15
0
class TestCase40AccountCenterOperLoginLog(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.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_account_center_login_log(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.log_in_base.click_account_center_button()
        # 获取登录账号的用户名
        current_account = self.log_in_base.get_log_in_account()

        # 点击招呼栏-业务日志
        self.account_center_page_operation_log.click_help_button()
        self.help_page.click_log_in_log()
        # 判断当前页面是否正确跳转至业务日志页面
        expect_url = self.base_url + "/userFeedback/toHelp"
        self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误")

        i = 0

        csv_file = self.account_center_page_read_csv.read_csv('search_log_in_log_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 = {
                'account': row[0],
                'begin_time': row[1],
                'end_time': row[2]
            }
            self.help_page.search_login_log(search_data)

            connect = self.connect_sql.connect_tuqiang_sql()
            # 创建数据库游标
            cur = connect.cursor()

            # 执行sql脚本查询当前登录账号的userId,fullParent
            get_id_sql = "select o.userId from user_info o where o.account = '" + current_account + "' ;"
            cur.execute(get_id_sql)
            # 读取数据
            user_relation = cur.fetchall()
            # 遍历数据
            for row1 in user_relation:
                user_relation_id = {
                    "userId": row1[0]
                }
                get_total_sql = self.help_page_sql.search_log_in_sql(user_relation_id['userId'], search_data)
                print(get_total_sql)
                cur.execute(get_total_sql)
                # 读取数据
                total_data = cur.fetchall()
                # 从数据tuple中获取最终查询记录统计条数
                total_list = []
                for range1 in total_data:
                    for range2 in range1:
                        total_list.append(range2)
                total = len(total_list)
                i += 1
                print('第%s次查询数据库的条数为:%s' % (i, total))
                web_total = self.help_page.get_current_login_log()
                print('第%s次查询页面的条数是:%s' % (i, web_total))
                self.assertEqual(total, web_total)

            cur.close()
            connect.close()

        csv_file.close()
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 TestCase25AccountCenterDefaultHomePageSetting(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.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url)
        self.account_center_page_home_page_setting = AccountCenterSettingHomePage(self.driver, self.base_url)
        self.assert_text2 = AssertText2()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.base_page.open_page()
        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_setting_default_home_page_success(self):
        '''默认设置首页成功'''

        self.log_in_base.log_in_with_csv("dzltest", "jimi123")
        self.account_center_page_navi_bar.click_account_center_button()
        # 点击默认首页设置
        self.account_center_page_home_page_setting.click_home_page_setting()
        # 取列表数据
        all_state = self.account_center_page_home_page_setting.get_home_page_list_all_state()
        self.driver.default_frame()

        for i in range(len(all_state)):
            # 点击账户中心
            self.account_center_page_navi_bar.click_account_center_button()
            self.account_center_page_navi_bar.click_account_center_button()
            # 点击默认首页设置
            self.account_center_page_home_page_setting.click_home_page_setting()
            # 已默认
            is_default = self.assert_text2.account_center_home_page_setting_state()

            text = self.account_center_page_home_page_setting.get_default_setting_text(i + 1)
            if text["state"] == is_default:
                self.driver.default_frame()
                continue
            else:

                # 点击设置默认页面、获取状态
                prompt = self.account_center_page_home_page_setting.click_setting_default(i + 1)
                self.assertEqual(self.assert_text2.account_center_home_page_setting_prompt(), prompt,
                                 "预期设置默认后的提示语与实际提示语不一致")

                print(prompt)
                self.driver.wait()
                setting_text = self.account_center_page_home_page_setting.get_default_setting_text(i + 1)
                self.assertEqual(is_default, setting_text["state"],
                                 "设置默认后,状态未改变")

                default_list = []
                for a in all_state:
                    if a == is_default:
                        default_list.append(a)
                self.assertEqual(1, len(default_list), "列表设置默认中存在多个已默认")
                del (default_list[:])
                print("删除后:", default_list)

                self.driver.default_frame()
                # 退出
                sleep(2)
                self.account_center_page_navi_bar.usr_logout()
                # 登录
                self.log_in_base.log_in_with_csv("dzltest", "jimi123")
                actual_url = self.driver.get_current_url()
                # 获取默认设置的首页地址
                expect_url = self.account_center_page_home_page_setting.get_expect_url(setting_text["page_name"])
                self.assertEqual(expect_url, actual_url, "登录后,默认主页显示错误")
                sleep(2)
            break
        sleep(2)
class TestCase24AccountCenterOverviewAttention(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.connect_sql = ConnectSql()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_attention(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        current_account = self.log_in_base.get_log_in_account()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()

        self.account_center_page_details.account_center_iframe()
        actual_total_attention = self.account_center_page_details.get_actual_total_attention(
        )
        # 点击库存
        self.account_center_page_details.account_overview('重点关注车辆')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                connect = self.connect_sql.connect_tuqiang_sql()
                # 创建数据库游标
                cur = connect.cursor()
                # 执行sql脚本查询当前登录账号的userId,fullParent
                get_id_sql = "select userId from user_info where account = '" + current_account + "' ;"
                cur.execute(get_id_sql)
                # 读取数据
                user_relation = cur.fetchall()
                print(user_relation)
                user_id = user_relation[0][0]
                # actual_url = self.base_url + '/console?userId=%s&viewFlag=4' % user_id
                actual_url = self.base_url + '/console?viewFlag=4'
                cur.close()
                connect.close()
                self.assertEqual(expect_url, actual_url,
                                 '点击重点关注车辆后,实际的url和期望的不一样!')
                sleep(2)

                # 断言已关注被选中
                self.assertEqual(
                    'active',
                    self.driver.get_element(
                        'x,//*[@id="FOLLOW"]').get_attribute('class'))

                expect_total_inactive = self.account_center_page_details.get_total_all_attention_equipment(
                )
                self.assertEqual(actual_total_attention, expect_total_inactive,
                                 '账号重点关注车辆数量错误')

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console(
                )
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_manager_text(),
                    get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
Beispiel #19
0
class TestCase19AccountCenterOverviewAlarm(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_set_up_landmark(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()
        # 点击告警
        self.account_center_page_details.account_center_iframe()
        self.account_center_page_details.account_overview('告警')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                actual_url = self.base_url + '/deviceReport/statisticalReport?modularId=alarmDdetails'
                self.assertEqual(expect_url, actual_url,
                                 '点击告警后,实际的url和期望的不一样!')
                sleep(2)

                actual_text = self.account_center_page_details.get_actual_text_after_click_alarms(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_details_text(),
                    actual_text, '点击告警后,页面没有跳转到告警总览页面上')

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console(
                )
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_manager_text(),
                    get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
Beispiel #20
0
class TestCase116LoginSuccessWithSalesAndAgent(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.log_in_read_csv = LogInPageReadCsv()
        self.connect_sql = ConnectSql()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_sales_and_agent_login_by_csv(self):
        '''通过csv测试销售和代理商账户成功登录和成功退出功能'''

        csv_file = self.log_in_read_csv.read_csv(
            'login_with_sales_and_agent_user.csv')
        csv_data = csv.reader(csv_file)
        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            user_to_login = {"account": row[0], "passwd": row[1]}
            # 打开途强在线首页-登录页
            self.base_page.open_page()
            # 输入用户信息进行登录
            self.login_page.user_login(user_to_login["account"],
                                       user_to_login["passwd"])
            # 点账户中心
            self.account_center_page_navi_bar.click_account_center_button()
            # self.account_center_page_navi_bar.click_account_center_button()
            # 判断登录成功后跳转页面是否正确
            actual_url = self.driver.get_current_url()
            expect_url = self.base_url + "/customer/toAccountCenter"
            self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")
            sleep(1)
            # 断言当前登录账号的用户名
            usr_info_account = self.account_center_page_navi_bar.usr_info_account(
            )
            expect_usr_info_account = user_to_login["account"]
            self.assertIn(expect_usr_info_account, usr_info_account,
                          "账户总览左下方显示的账户错误")

            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()
            get_account_user_info_sql = "SELECT o.type,o.phone,o.parentId,o.nickName from user_info o WHERE o.account = '" + \
                                        user_to_login['account'] + "'"
            cursor.execute(get_account_user_info_sql)
            get_account_user_info = cursor.fetchall()
            current_user_info = []
            for range1 in get_account_user_info:
                for range2 in range1:
                    current_user_info.append(range2)
            print("当前号", current_user_info)
            type = self.assert_text.log_in_page_account_type(
                current_user_info[0])
            usr_info_type = self.login_page.get_account_user_type()
            self.assertEqual(type, usr_info_type, "账户总览左下方显示的客户类型错误")

            #电话
            usr_info_phone = self.login_page.get_account_user_telephone()
            expect_usr_info_phone = current_user_info[1]
            if expect_usr_info_phone == None:
                self.assertEqual("", usr_info_phone, "账户总览左下方显示的客户电话错误")
            else:
                self.assertEqual(expect_usr_info_phone, usr_info_phone,
                                 "账户总览左下方显示的客户电话错误")
            # 成功退出系统
            sleep(2)
            self.account_center_page_navi_bar.usr_logout()
            # 判断是否成功退出到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "退出系统失败")
        csv_file.close()
Beispiel #21
0
class TestCase102LoginSuccessWithOrdinaryUser(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.log_in_page_read_csv = LogInPageReadCsv()
        self.driver.set_window_max()
        self.assert_text = AssertText()
        self.connect_sql = ConnectSql()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_ordinary_user_login_by_csv(self):
        '''通过csv测试普通用户账户成功登录和成功退出功能'''
        data = [" 首页", " 设备管理", " 控制台", " 统计报表", " 安全区域", " 设备分布"]

        csv_file = self.log_in_page_read_csv.read_csv(
            'login_with_ordinary_user.csv')
        csv_data = csv.reader(csv_file)

        for row in csv_data:
            user_to_login = {"account": row[0], "passwd": row[1]}

            # 打开途强在线首页-登录页
            self.base_page.open_page()
            # 输入用户信息进行登录
            self.login_page.user_login(user_to_login["account"],
                                       user_to_login["passwd"])
            self.driver.wait(1)
            # 点首页
            self.login_page.click_home_page()
            current_handle = self.driver.get_current_window_handle()
            self.base_page.change_windows_handle(current_handle)
            # 判断登录成功后跳转页面是否正确
            actual_url = self.driver.get_current_url()
            expect_url = self.base_url + "/nomalUserCenter"
            self.assertEqual(expect_url, actual_url, "登录成功后页面跳转错误")

            # 验证模块
            module = self.account_center_page_navi_bar.get_page_module()
            self.assertEqual(data, module, "用户账号登录,模块显示错误")

            # 判断登录成功后招呼栏的用户名是否正确
            usr_info_account = self.account_center_page_navi_bar.usr_info_account(
            )
            company_name = self.login_page.get_company_name()
            user_account = self.login_page.get_user_account()
            user_type = self.login_page.get_user_type()
            user_phone = self.login_page.get_user_phone()
            expect_usr = user_to_login["account"]
            self.assertEqual(expect_usr, usr_info_account)
            self.assertEqual(expect_usr, user_account)
            # 数据库获取登录账号信息
            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()

            sql = "SELECT o.account,o.type,o.phone,o.companyName FROM user_info o WHERE o.account = '" + user_to_login[
                "account"] + "';"
            cursor.execute(sql)
            user_info = cursor.fetchall()
            current_user_info = []
            for range1 in user_info:
                for range2 in range1:
                    current_user_info.append(range2)
            print(current_user_info)
            # 当前客户类型
            type = self.assert_text.log_in_page_account_type(
                current_user_info[1])
            self.assertEqual(type, user_type)
            # 当前客户公司名
            if current_user_info[3] == '':
                self.assertEqual('', company_name)
            else:
                self.assertEqual(current_user_info[3], company_name)
            # 当前客户电话
            if current_user_info[2] == '':
                self.assertEqual('', user_phone)
            else:
                self.assertEqual(current_user_info[2], user_phone)

            get_account_user_info_sql = "SELECT o.parentId from user_info o WHERE o.account = '" + user_to_login[
                "account"] + "';"
            cursor.execute(get_account_user_info_sql)
            get_account_user_info = cursor.fetchall()
            current_user_info = []
            for range1 in get_account_user_info:
                for range2 in range1:
                    current_user_info.append(range2)

            get_up_account_info_sql = "SELECT o.account,o.contact,o.phone FROM user_info o WHERE o.userId = '" + \
                                      current_user_info[0] + "';"
            cursor.execute(get_up_account_info_sql)
            get_up_user_info = cursor.fetchall()
            up_user_info = []
            for range1 in get_up_user_info:
                for range2 in range1:
                    up_user_info.append(range2)
            print(up_user_info)

            # 获取上级客户的信息
            up_user_account = self.login_page.get_up_user_account()
            up_user_contact = self.login_page.get_up_user_contact()
            up_user_phone = self.login_page.get_up_user_phone()
            self.assertEqual(up_user_info[0], up_user_account)
            self.assertEqual(up_user_info[1], up_user_contact)
            self.assertEqual(up_user_info[2], up_user_phone)

            # 成功退出系统
            sleep(2)
            self.account_center_page_navi_bar.usr_log_out()

            # 判断是否成功退出到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "退出系统失败")
            cursor.close()
            connect.close()
        csv_file.close()
Beispiel #22
0
class TestCase010AccountCenterModifyPasswd(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.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_modify_info(self):
        '''通过csv测试修改密码功能'''
        csv_file = self.account_center_page_read_csv.read_csv(
            'user_to_modify_passwd.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            user_to_modify_passwd = {
                "account": row[0],
                "old_passwd": row[1],
                "new_passwd": row[2],
            }

            # 打开途强在线首页-登录页
            self.base_page.open_page()
            # 登录账号
            self.login_page.user_login(user_to_modify_passwd["account"],
                                       user_to_modify_passwd["old_passwd"])
            self.driver.wait()
            self.account_center_page_navi_bar.click_account_center_button()
            # 招呼栏修改资料
            modify_status = self.account_center_page_navi_bar.modify_user_passwd(
                user_to_modify_passwd["old_passwd"],
                user_to_modify_passwd["new_passwd"])
            # 判断是否修改成功
            # self.assertEqual("密码修改成功", modify_status, "密码修改失败")
            # 点击确定
            self.account_center_page_navi_bar.modify_passwd_success_comfrim()
            # 判断点击确定后是否关闭弹框并回到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "修改成功后页面跳转错误")

            # 使用旧密码登录
            self.login_page.user_login(user_to_modify_passwd["account"],
                                       user_to_modify_passwd["old_passwd"])
            self.assertEqual(self.assert_text.log_in_page_password_error(),
                             self.login_page.get_exception_text(),
                             "旧密码登录,提示不一致")

            # 新密码登录账号
            self.login_page.user_login(user_to_modify_passwd["account"],
                                       user_to_modify_passwd["new_passwd"])

            self.driver.wait()
            self.account_center_page_navi_bar.click_account_center_button()
            # 招呼栏修改资料
            modify_status = self.account_center_page_navi_bar.modify_user_passwd(
                user_to_modify_passwd["new_passwd"],
                user_to_modify_passwd["old_passwd"])
            # 判断是否修改成功
            # self.assertEqual("密码修改成功", modify_status, "密码修改失败")
            # 点击确定
            self.account_center_page_navi_bar.modify_passwd_success_comfrim()
            # 判断点击确定后是否关闭弹框并回到登录页
            self.assertEqual(self.base_url + "/",
                             self.driver.get_current_url(), "修改成功后页面跳转错误")
        csv_file.close()
class TestCase210UserCenterLoginLog(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.connect_es = ConnectEs()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        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_login_log(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        sleep(3)
        current_handle = self.driver.get_current_window_handle()
        self.log_in_base.click_account_center_button()
        self.base_page.change_windows_handle(current_handle)

        # 获取登录账号的用户名
        current_account = self.log_in_base.get_log_in_account()

        # 点击招呼栏-业务日志
        self.account_center_page_operation_log.click_help_button()
        self.help_page.click_log_in_log()
        # 判断当前页面是否正确跳转至业务日志页面
        expect_url = self.base_url + "/userFeedback/toHelp"
        self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误")

        i = 0
        csv_file = self.account_center_page_read_csv.read_csv(
            'search_log_in_log_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 = {
                'account': row[0],
                'begin_time': row[1],
                'end_time': row[2]
            }
            self.help_page.search_login_log(search_data)

            # 获取当前登录账号和下级账号全部的userid
            all_user_id = self.help_page.get_all_user_id(current_account)
            print(all_user_id)
            '''connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()
            get_total_sql = self.help_page_sql.search_log_in_sql(all_user_id, search_data)
            cursor.execute(get_total_sql)
            total_list = cursor.fetchall()
            cursor.close()
            connect.close()'''
            # 连接Elastic search
            es = self.connect_es.connect_es()
            # 搜索的数据
            query_data = self.help_page.get_search_log_in_log_query_data(
                all_user_id, search_data)
            res_01 = es.search(index='userlogin_log_2',
                               body={
                                   'query': query_data,
                                   'size': 20000
                               })
            res_02 = es.search(index='userlogin_log_12',
                               body={
                                   'query': query_data,
                                   'size': 20000
                               })
            res_03 = es.search(index='userlogin_log_1',
                               body={
                                   'query': query_data,
                                   'size': 20000
                               })
            total = len(res_01['hits']['hits']) + len(
                res_02['hits']['hits']) + len(res_03['hits']['hits'])
            i += 1
            print('第%s次查询数据库的条数为:%s' % (i, total))
            web_total = self.help_page.get_current_login_log()
            print('第%s次查询页面的条数是:%s' % (i, web_total))
            if total != 0:
                total += 10
            self.assertEqual(total, web_total)

        csv_file.close()
class TestCase39AccountCenterOperCustLog(unittest.TestCase):
    """ 帮助--业务日志 """

    # author:邓肖斌
    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.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_account_center_oper_cust_log(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.log_in_base.click_account_center_button()
        # 获取登录账号的用户名
        current_account = self.log_in_base.get_log_in_account()

        # 点击招呼栏-业务日志
        self.account_center_page_operation_log.click_help_button()
        self.help_page.click_business_log()
        # 判断当前页面是否正确跳转至业务日志页面
        expect_url = self.base_url + "/userFeedback/toHelp"
        self.assertEqual(expect_url, self.driver.get_current_url(), "当前页面跳转错误")

        i = 0

        csv_file = self.account_center_page_read_csv.read_csv(
            'search_cus_manager_log_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_type': row[0],
                'begin_time': row[1],
                'end_time': row[2],
                'more': row[3]
            }
            self.help_page.search_business_log(search_data)

            connect = self.connect_sql.connect_tuqiang_sql()
            # 创建数据库游标
            cur = connect.cursor()

            # 执行sql脚本查询当前登录账号的userId,fullParent
            get_id_sql = \
                "select o.account,o.userId,o.fullParentId from user_info o where o.account = " \
                "'" + current_account + "' ;"
            cur.execute(get_id_sql)
            # 读取数据
            user_relation = cur.fetchall()
            # 遍历数据
            for row1 in user_relation:
                user_relation_id = {
                    "account": row1[0],
                    "userId": row1[1],
                    "fullParent": row1[2]
                }

                # 执行sql脚本,根据当前登录账号的userId,fullParent查询出当前账户的所有下级账户
                get_lower_account_sql = "select userId from user_info where fullParentId like" + \
                                        "'" + user_relation_id["fullParent"] + user_relation_id["userId"] + "%'" + ";"
                cur.execute(get_lower_account_sql)
                # 读取数据
                lower_account = cur.fetchall()
                lower_account_list = [user_relation_id["userId"]]
                for range1 in lower_account:
                    for range2 in range1:
                        lower_account_list.append(range2)
                lower_account_tuple = tuple(lower_account_list)
                get_total_sql = self.help_page_sql.business_log_sql(
                    lower_account_tuple, search_data)
                print(get_total_sql)
                cur.execute(get_total_sql)
                # 读取数据
                total_data = cur.fetchall()
                # 从数据tuple中获取最终查询记录统计条数
                total_list = []
                for range3 in total_data:
                    for range4 in range3:
                        total_list.append(range4)
                total = len(total_list)
                i += 1
                print('第%s次查询数据库的条数为:%s' % (i, total))
                web_total = self.help_page.get_current_customer_log()
                print('第%s次查询页面的条数是:%s' % (i, web_total))
                self.assertEqual(total, web_total)

            cur.close()
            connect.close()

        csv_file.close()
Beispiel #25
0
class TestCase23AccountCenterOverviewInactive(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_inactive(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()

        self.account_center_page_details.account_center_iframe()
        actual_total_inctive = self.account_center_page_details.get_actual_total_inactve(
        )
        # 点击未激活
        self.account_center_page_details.account_overview('未激活')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                actual_url = self.base_url + '/device/toDeviceManage?statusFlag=inactive&lowerDevFlag=1'
                self.assertEqual(expect_url, actual_url,
                                 '点击未激活后,实际的url和期望的不一样!')
                sleep(3)
                self.account_center_page_details.click_more_in_dev_manage()
                self.assertEqual(
                    self.assert_text.account_center_page_activing_text(),
                    self.driver.get_text(
                        'x,//*[@id="allDev"]/div[2]/div[1]/div/div[6]/div[6]/div[2]/div/div/span[2]'
                    ))
                self.assertEqual(
                    True,
                    self.driver.get_element(
                        'x,//*[@id="lowerFlag"]/div/input').is_selected())

                expect_total_inactive = self.account_center_page_details.get_total_dev_number_after_ckick_all_dev_number(
                )
                self.assertEqual(actual_total_inctive,
                                 str(expect_total_inactive), '账号总览统计未激活数量错误')

                # 验证清空按钮
                self.account_center_page_details.click_clear_all_button()
                lower_user_input_value = self.account_center_page_details.get_lower_input_value(
                )
                self.assertEqual(False, lower_user_input_value)
                get_text = self.account_center_page_details.click_active_get_text(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_active_status_text(),
                    get_text)
                # 点搜索
                self.account_center_page_details.click_search_button()
                lower_user_input_value_again = self.account_center_page_details.get_lower_input_value(
                )
                self.assertEqual(False, lower_user_input_value_again)
                get_text = self.account_center_page_details.click_active_get_text(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_active_status_text(),
                    get_text)

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console(
                )
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_manager_text(),
                    get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()
class 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()
Beispiel #27
0
class TestCase131MarkOperation(unittest.TestCase):
    """ web_autotest账号,标注点页面操作 """

    # 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()
        self.safe_area_page.click_control_after_click_safe_area()
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()
        self.assert_text = AssertText()
        self.connect_sql = ConnectSql()
        self.search_sql = SafeAreaSearchSql()

    def tearDown(self):
        self.driver.quit_browser()

    def test_case_mark_operation(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()
        sleep(2)

        # 全选
        self.safe_area_page.click_all_select_button_with_mark()
        # 点击删除
        self.safe_area_page.click_detele_button_with_mark()
        # 点击取消
        self.safe_area_page.click_cancel_detele_button()
        # 点击删除
        self.safe_area_page.click_detele_button_with_mark()
        # 点击关闭
        self.safe_area_page.click_close_detele_button()

        # 点击新建按钮
        self.safe_area_page.click_create_mark_point()
        text = self.safe_area_page.get_text_after_create_map()
        self.assertEqual(self.assert_text.safe_area_page_map_text(), text)

        # 获取第一个地标的名称
        mark_name = self.safe_area_page.get_first_mark_name_text()
        # 点击列表的编辑
        self.safe_area_page.click_edit_button_in_list()
        # 点击保存
        self.safe_area_page.click_ensure_edit_in_list('名称1', '描述1')
        # 获取保存之后的地标名称
        mark_name_after_save = self.safe_area_page.get_first_mark_name_text()

        # 断言1:网页上名称的变化
        self.assertNotEqual(mark_name, mark_name_after_save)
        # 断言2:用修改之前的名称在数据库搜索
        # 创建数据库连接
        connect = self.connect_sql.connect_tuqiang_sql()
        # 创建游标
        cursor = connect.cursor()
        get_total_count_sql = self.search_sql.search_sql_in_test_case_131(
            '%s') % mark_name
        print(get_total_count_sql)
        cursor.execute(get_total_count_sql)
        current_total = cursor.fetchall()
        total_list1 = []
        for range1 in current_total:
            for range2 in range1:
                total_list1.append(range2)
        total = len(total_list1)
        self.assertEqual(0, total)
        # 断言3:用修改之后的名称在数据库搜索
        get_total_count_sql = self.search_sql.search_sql_in_test_case_131(
            '%s') % mark_name_after_save
        print(get_total_count_sql)
        cursor.execute(get_total_count_sql)
        current_total = cursor.fetchall()
        total_list2 = []
        for range1 in current_total:
            for range2 in range1:
                total_list2.append(range2)
        total = len(total_list2)
        self.assertEqual(1, total)
        self.assertEqual('描述1', total_list2[0])

        # 点击列表的编辑
        self.safe_area_page.click_edit_button_in_list()
        # 点击保存
        self.safe_area_page.click_ensure_edit_in_list('名称', '描述')

        # 点击列表的编辑
        self.safe_area_page.click_edit_button_in_list()
        # 点击取消
        self.safe_area_page.click_cancel_edit_in_list()

        # 点击列表中的删除
        self.safe_area_page.click_delete_button_in_list()
        self.safe_area_page.click_cancel_detele_button()

        # 点击关闭
        self.safe_area_page.click_delete_button_in_list()
        self.safe_area_page.click_close_detele_button()
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)
Beispiel #29
0
class TestCase57CustManageCheckAccount(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.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(
            self.driver, self.base_url)
        self.cust_manage_cust_list_page = CustManageCustListPage(
            self.driver, self.base_url)
        self.cust_manage_my_dev_page = CustManageMyDevPage(
            self.driver, self.base_url)
        self.cust_manage_lower_account_page = CustManageLowerAccountPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_cust_manage_check_account(self):
        '''测试客户管理-新增用户'''

        # 打开途强在线首页-登录页
        self.base_page.open_page()

        # 登录
        self.log_in_base.log_in()

        # 进入客户管理页面
        self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()

        csv_file = self.cust_manage_page_read_csv.read_csv(
            'check_account_data.csv')
        csv_data = csv.reader(csv_file)

        for row in csv_data:
            data = {'account': row[0]}
            self.cust_manage_basic_info_and_add_cust_page.add_data_to_search_account(
                data)

            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()

            get_account_sql = "SELECT o.type,o.phone,o.nickName from user_info o WHERE o.account = '" + data[
                'account'] + "';"

            cursor.execute(get_account_sql)
            get_account_user_info = cursor.fetchall()
            current_user_info = []
            for range1 in get_account_user_info:
                for range2 in range1:
                    current_user_info.append(range2)
            print(current_user_info)
            type = self.assert_text.log_in_page_account_type(
                current_user_info[0])
            # 断言客户类型
            account_type = self.cust_manage_basic_info_and_add_cust_page.get_account_type(
            )
            self.assertEqual(type, account_type)

            # 断言账号
            account = self.cust_manage_basic_info_and_add_cust_page.get_account(
            )
            self.assertEqual(data['account'], account)

            # 断言电话
            account_phone = self.cust_manage_basic_info_and_add_cust_page.get_account_phone(
            )
            if current_user_info[1] == None:
                self.assertEqual("", account_phone, "手机号不一致")
            else:
                self.assertEqual(current_user_info[1], account_phone)

            # 断言昵称
            account_name = self.cust_manage_basic_info_and_add_cust_page.get_account_name(
            )
            if current_user_info[2] == None:
                self.assertEqual("", account_name, "昵称不一致")
            else:
                self.assertEqual(current_user_info[2], account_name)

            # 点击监控用户
            current_window = self.driver.get_current_window_handle()
            self.cust_manage_basic_info_and_add_cust_page.click_monitoring_account_button(
            )
            all_handles = self.driver.get_all_window_handles()
            for handle in all_handles:
                if handle != current_window:
                    self.driver.switch_to_window(handle)

                    expect_url = self.base_url + '/index'
                    self.assertEqual(expect_url, self.driver.get_current_url())

                    self.driver.close_current_page()
                    sleep(2)
                    self.driver.switch_to_window(current_window)

            # 点击编辑用户
            style_value = self.cust_manage_basic_info_and_add_cust_page.edit_button_style_value(
            )
            if style_value == 'display: inline;':
                self.cust_manage_basic_info_and_add_cust_page.click_edit_account_button(
                )
                # 点击关闭
                self.cust_manage_basic_info_and_add_cust_page.click_close_edit_accunt_button(
                )

                # 点击编辑
                self.cust_manage_basic_info_and_add_cust_page.click_edit_account_button(
                )

                # 查询用户上一级信息
                connect_02 = self.connect_sql.connect_tuqiang_sql()
                cursor_02 = connect_02.cursor()
                get_id_sql = "SELECT o.parentId from user_info o WHERE o.account = '" + account + "';"
                cursor_02.execute(get_id_sql)
                get_id_info = cursor_02.fetchall()
                current_user = []
                for range1 in get_id_info:
                    for range2 in range1:
                        current_user.append(range2)
                print(current_user)

                get_up_account_info_sql = "SELECT o.nickName FROM user_info o WHERE o.userId = '" + current_user[
                    0] + "';"
                cursor_02.execute(get_up_account_info_sql)
                get_up_user_info = cursor_02.fetchall()
                up_user_info = []
                for range1 in get_up_user_info:
                    for range2 in range1:
                        up_user_info.append(range2)
                account_name = up_user_info[0]
                get_web_account_name = self.cust_manage_basic_info_and_add_cust_page.get_account_name_after_click_edit(
                )
                self.assertEqual(account_name, get_web_account_name,
                                 '用户上级显示错误!')
                self.cust_manage_basic_info_and_add_cust_page.click_close_edit_accunt_button(
                )

                # 断言账号类型
                cursor_02.close()
                connect_02.close()
            cursor.close()
            connect.close()
        csv_file.close()
class TestCase13AccountCenterOverviewForm(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def tearDown(self):
        self.driver.quit_browser()

    def test_account_center_overview_form(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(2)
        account_center_handle = self.driver.get_current_window_handle()
        # 点击统计报表
        self.account_center_page_details.account_center_iframe()
        self.account_center_page_details.account_overview('统计报表')
        self.driver.default_frame()

        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != account_center_handle:
                self.driver.switch_to_window(handle)
                sleep(2)
                expect_url = self.driver.get_current_url()
                actual_url = self.base_url + '/deviceReport/statisticalReport'
                self.assertEqual(expect_url, actual_url,
                                 '点击统计报表后,实际的url和期望的不一样!')

                # 验证文本
                actual_text = self.account_center_page_details.click_report_after_text(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_statistical_form_text(
                    ), actual_text)

                # 验证运动统计是否被选中
                # get_value_sport_statistion = self.account_center_page_navi_bar.get_value_sport_statistiacl_value()
                # self.assertEqual('active', get_value_sport_statistion)

                # 验证运动总览
                get_value_sport_overview = self.account_center_page_navi_bar.get_value_sport_overview_value(
                )
                self.assertEqual('active', get_value_sport_overview)

                # 验证右侧区域是否为运动总览
                get_text = self.account_center_page_navi_bar.get_text_after_report(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_sport_overview_text(),
                    get_text)

                # 查看控制台告警设置能否打开
                self.account_center_page_navi_bar.click_alarm_button_in_console(
                )
                # 断言
                get_text = self.account_center_page_navi_bar.get_text_after_click_alarm_button(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_manager_text(),
                    get_text)
                self.account_center_page_navi_bar.close_alarm_in_console()

                self.driver.close_current_page()
                # 回到账户中心窗口
                self.driver.switch_to_window(account_center_handle)
                self.driver.wait()