class TestCase414CustomerManagementEditDelete(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_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.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text2 = AssertText2()
        self.connect_sql = ConnectSql()
        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_customer_management_edit_user_delete(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('abc12344')
        # 搜索
        self.cust_manage_lower_account_page.click_search_btn()
        user_account = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page()
        user_type = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page()
        user_name = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page()
        user_phone = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page()
        user_contact = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page()

        # 点击删除
        self.cust_manage_basic_info_and_add_cust_page.click_delete_user_button()
        # 点击取消
        self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
        user_account_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page()
        user_type_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page()
        user_name_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page()
        user_phone_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page()
        user_contact_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page()

        self.assertEqual(user_account, user_account_01)
        self.assertEqual(user_type, user_type_01)
        self.assertEqual(user_name, user_name_01)
        self.assertEqual(user_phone, user_phone_01)
        self.assertEqual(user_contact, user_contact_01)

        # 点击删除
        self.cust_manage_basic_info_and_add_cust_page.click_delete_user_button()
        # 点击取消
        self.cust_manage_basic_info_and_add_cust_page.click_close_edit_accunt_button()
        user_account_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page()
        user_type_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page()
        user_name_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page()
        user_phone_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page()
        user_contact_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page()

        self.assertEqual(user_account, user_account_02)
        self.assertEqual(user_type, user_type_02)
        self.assertEqual(user_name, user_name_02)
        self.assertEqual(user_phone, user_phone_02)
        self.assertEqual(user_contact, user_contact_02)
class TestCase30AccountCenterVisualEditException(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.visual_account_page = AccountCenterVisualAccountPage(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.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.base_page.open_page()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def test_visual_account_edit_exception(self):
        '''虚拟账户修改,异常错误提示'''

        # 登录
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        sleep(1)
        # 进入虚拟账户管理
        self.visual_account_page.enter_visual_account()
        # 添加虚拟账号、保存
        self.visual_account_page.add_visual_account("xnhtj001", "jimi123")
        self.visual_account_page.save_add_info()

        # 点击编辑
        self.visual_account_page.click_editor()

        # 虚拟账号添加与编辑方法
        # 长度不够
        prompt = self.visual_account_page.get_visu_account_error_prompt("edit", "12", "")
        self.assertEqual(self.assert_text.account_center_page_password_len_text(), prompt["pwd_error_prompt"],
                         "修改虚拟账号密码,提示不一致")
        self.assertEqual(self.assert_text.account_center_page_password_unlike(), prompt["pwd2_error_prompt"],
                         "虚拟账号的确认密码,提示不一致")

        # 格式错误
        prompt = self.visual_account_page.get_visu_account_error_prompt("edit", "abcdefgh", "")
        self.assertEqual(self.assert_text.account_center_page_password_formart_text(), prompt["pwd_error_prompt"],
                         "修改虚拟账号密码,提示不一致")
        self.assertEqual(self.assert_text.account_center_page_password_unlike(), prompt["pwd2_error_prompt"],
                         "虚拟账号的确认密码,提示不一致")

        # 密码相同,长度不够
        prompt = self.visual_account_page.get_visu_account_error_prompt("edit", "123", "123")
        self.assertEqual(self.assert_text.account_center_page_password_len_text(), prompt["pwd_error_prompt"],
                         "修改虚拟账号密码,提示不一致")
        self.assertEqual(self.assert_text.account_center_page_password_len_text(), prompt["pwd2_error_prompt"],
                         "虚拟账号的确认密码,提示不一致")

        # 密码不一致
        prompt = self.visual_account_page.get_visu_account_error_prompt("edit", "jimi123", "123")
        self.assertEqual("", prompt["pwd_error_prompt"], "修改虚拟账号密码,提示不一致")
        self.assertEqual(self.assert_text.account_center_page_password_unlike(), prompt["pwd2_error_prompt"],
                         "虚拟账号的确认密码,提示不一致")

        # 验证密码输入长度
        self.assertEqual(16, self.visual_account_page.get_visual_add_and_edit_len(), "密码限制长度显示不一致")
        # 点取消
        self.visual_account_page.dis_save_add_info()
        self.driver.wait(1)
        # 删除
        self.visual_account_page.del_visu_account()
        self.driver.wait()
        # 退出登录
        # self.account_center_page_navi_bar.usr_logout()

    def tearDown(self):
        self.driver.quit_browser()
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()
Пример #5
0
class TestCase201UserCenterModifyInfo(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_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.user_center_page = UserCenterPage(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.clear_cookies()
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        sleep(1)
        # 登录账号
        self.log_in_base.log_in()

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

    def test_user_center_modify_info(self):
        # 通过csv测试修改资料功能
        self.account_center_page_navi_bar.click_account_center_button()

        csv_file = self.account_center_page_read_csv.read_csv('user_to_modify_info.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            user_to_modify_info = {
                "username": row[0],
                "phone": row[1],
                "email": row[2]
            }
            # 获取当前登录账号
            log_in_account = self.log_in_base.get_log_in_account()

            # 从数据库获取登录账号的客户名称、电话、邮箱
            account_info = self.user_center_page.get_account_info(log_in_account)
            print(account_info)
            # 点击个人中心 - 修改资料
            self.user_center_page.click_user_center_button()
            self.user_center_page.click_modify_user_info()
            # 获取修改资料里面的信息
            user_account = self.user_center_page.get_user_account_in_modify_page()
            user_name = self.user_center_page.get_user_name_in_modify_page()
            user_phone = self.user_center_page.get_user_phone_in_modify_page()
            user_email = self.user_center_page.get_user_email_in_modify_page()
            # 断言
            self.assertEqual(log_in_account, user_account)
            self.assertEqual(account_info[0], user_name)
            self.assertEqual(account_info[1], user_phone)
            self.assertEqual(account_info[2], user_email)

            # 填写客户名称、电话、邮箱
            self.user_center_page.add_data_to_modify_info(user_to_modify_info)
            # 点击取消的按钮
            self.user_center_page.click_cancel_button()
            # 从数据库获取登录账号的客户名称、电话、邮箱
            account_info1 = self.user_center_page.get_account_info(log_in_account)
            print(account_info1)
            self.assertEqual(account_info, account_info1)

            # 点击个人中心 - 修改资料
            self.user_center_page.click_user_center_button()
            self.user_center_page.click_modify_user_info()
            # 获取修改资料里面的信息
            user_account = self.user_center_page.get_user_account_in_modify_page()
            user_name = self.user_center_page.get_user_name_in_modify_page()
            user_phone = self.user_center_page.get_user_phone_in_modify_page()
            user_email = self.user_center_page.get_user_email_in_modify_page()
            # 断言
            self.assertEqual(log_in_account, user_account)
            self.assertEqual(account_info1[0], user_name)
            self.assertEqual(account_info1[1], user_phone)
            self.assertEqual(account_info1[2], user_email)
            # 点击关闭 # 填写客户名称、电话、邮箱
            self.user_center_page.add_data_to_modify_info(user_to_modify_info)
            self.user_center_page.click_close_button()
            # 从数据库获取登录账号的客户名称、电话、邮箱
            account_info2 = self.user_center_page.get_account_info(log_in_account)
            print(account_info2)
            self.assertEqual(account_info, account_info2)

            # 点击个人中心 - 修改资料
            self.user_center_page.click_user_center_button()
            self.user_center_page.click_modify_user_info()
            # 获取修改资料里面的信息
            user_account = self.user_center_page.get_user_account_in_modify_page()
            user_name = self.user_center_page.get_user_name_in_modify_page()
            user_phone = self.user_center_page.get_user_phone_in_modify_page()
            user_email = self.user_center_page.get_user_email_in_modify_page()
            # 断言
            self.assertEqual(log_in_account, user_account)
            self.assertEqual(account_info2[0], user_name)
            self.assertEqual(account_info2[1], user_phone)
            self.assertEqual(account_info2[2], user_email)
            # 填写客户名称、电话、邮箱
            self.user_center_page.add_data_to_modify_info(user_to_modify_info)
            # 点击确认
            self.user_center_page.click_ensure_button()
            # 从数据库获取登录账号的客户名称、电话、邮箱
            account_info3 = self.user_center_page.get_account_info(log_in_account)
            print(account_info3)
            web_data = [user_to_modify_info['username'], user_to_modify_info['phone'], user_to_modify_info['email']]
            self.assertEqual(account_info3, web_data)
            # 点击个人中心 - 修改资料
            self.user_center_page.click_user_center_button()
            self.user_center_page.click_modify_user_info()
            # 获取修改资料里面的信息
            user_account = self.user_center_page.get_user_account_in_modify_page()
            user_name = self.user_center_page.get_user_name_in_modify_page()
            user_phone = self.user_center_page.get_user_phone_in_modify_page()
            user_email = self.user_center_page.get_user_email_in_modify_page()
            # 断言
            self.assertEqual(log_in_account, user_account)
            self.assertEqual(account_info3[0], user_name)
            self.assertEqual(account_info3[1], user_phone)
            self.assertEqual(account_info3[2], user_email)
            self.user_center_page.click_close_button()
        csv_file.close()
Пример #6
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()
Пример #7
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(),
                         "修改默认密码后,没有返回到登录页")
class TestCase415CustomerManagementEditUserResetPassword(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_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.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text2 = AssertText2()
        self.connect_sql = ConnectSql()
        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_customer_management_edit_user_reset_password(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()

        # 进入客户管理页面
        sleep(2)
        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)
        account = "bbb123"
        # 搜索一个客户
        self.cust_manage_lower_account_page.input_search_info(account)
        # 搜索
        self.cust_manage_lower_account_page.click_search_btn()

        # 点击重置密码
        self.cust_manage_basic_info_and_add_cust_page.click_reset_password_button(
        )
        # 点击取消
        self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()

        # 退出登录
        self.account_center_page_navi_bar.usr_logout()

        self.log_in_base.log_in_with_csv(account, 'jimi123')
        sleep(2)
        hello_usr = self.account_center_page_navi_bar.usr_info_account()
        self.assertIn(account, hello_usr)
        # 退出登录
        self.account_center_page_navi_bar.usr_logout()

        # 登录
        self.log_in_base.log_in()
        # 进入客户管理页面
        current_handle_01 = 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_01)
        # 搜索一个客户
        self.cust_manage_lower_account_page.input_search_info(account)
        # 搜索
        self.cust_manage_lower_account_page.click_search_btn()

        # 点击重置密码
        self.cust_manage_basic_info_and_add_cust_page.click_reset_password_button(
        )
        # 点击取消
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        # 退出登录
        self.account_center_page_navi_bar.usr_logout()

        self.log_in_base.log_in_with_csv(account, '888888')

        # 输入新的密码 ,
        self.cust_manage_basic_info_and_add_cust_page.click_new_password(
            'jimi123')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        self.cust_manage_basic_info_and_add_cust_page.click_ensuress()
        sleep(4)
        self.log_in_base.log_in_with_csv(account, 'jimi123')
        sleep(2)
        hello_usr = self.account_center_page_navi_bar.usr_info_account()

        self.assertIn(account, hello_usr)
        # 退出登录
        self.account_center_page_navi_bar.usr_logout()
Пример #9
0
class TestCase407CustomerManagementOperationEditUser(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_edit_user(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)

        csv_file = self.cust_manage_page_read_csv.read_csv(
            'edit_user_data.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            info = {
                "user_name": row[0],
                "phone": row[1],
                "email": row[2],
                "conn": row[3],
                "com": row[4]
            }
            # 搜索一个客户
            self.cust_manage_lower_account_page.input_search_info('abc12344')
            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()
            # 获取搜索出来的客户信息
            user_account = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page(
            )
            user_type = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page(
            )
            user_name = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page(
            )
            user_phone = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page(
            )
            user_contact = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page(
            )

            # 点击编辑 - 取消
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            # 点击取消
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            # 点击编辑
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.add_data_to_edit_user(
                info)
            # 点击取消
            self.driver.default_frame()
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()

            user_account_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page(
            )
            user_type_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page(
            )
            user_name_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page(
            )
            user_phone_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page(
            )
            user_contact_01 = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page(
            )
            self.assertEqual(user_account, user_account_01)
            self.assertEqual(user_type, user_type_01)
            self.assertEqual(user_name, user_name_01)
            self.assertEqual(user_phone, user_phone_01)
            self.assertEqual(user_contact, user_contact_01)

            # 点击编辑 - 取消
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            # 点击取消
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            # 点击编辑
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.add_data_to_edit_user(
                info)
            # 点击关闭
            self.driver.default_frame()
            self.cust_manage_basic_info_and_add_cust_page.click_close_edit_accunt_button(
            )

            user_account_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page(
            )
            user_type_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page(
            )
            user_name_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page(
            )
            user_phone_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page(
            )
            user_contact_02 = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page(
            )
            self.assertEqual(user_account, user_account_02)
            self.assertEqual(user_type, user_type_02)
            self.assertEqual(user_name, user_name_02)
            self.assertEqual(user_phone, user_phone_02)
            self.assertEqual(user_contact, user_contact_02)

            # 点击编辑 - 取消
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            # 点击取消
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            # 点击编辑
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons(
            )
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.add_data_to_edit_user(
                info)
            # 点击关闭
            self.driver.default_frame()
            self.cust_manage_basic_info_and_add_cust_page.click_ensure()

            user_account_03 = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page(
            )
            user_type_03 = self.cust_manage_basic_info_and_add_cust_page.get_user_type_in_customer_page(
            )
            user_name_03 = self.cust_manage_basic_info_and_add_cust_page.get_user_name_in_customer_page(
            )
            user_phone_03 = self.cust_manage_basic_info_and_add_cust_page.get_user_phone_in_customer_page(
            )
            user_contact_03 = self.cust_manage_basic_info_and_add_cust_page.get_user_contact_in_customer_page(
            )
            self.assertEqual(user_account, user_account_03)
            self.assertEqual(user_type, user_type_03)
            self.assertEqual(info['user_name'], user_name_03)
            self.assertEqual(info['phone'], user_phone_03)
            self.assertEqual(info['conn'], user_contact_03)
        csv_file.close()
Пример #10
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 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()
Пример #12
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()
Пример #13
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 TestCase1101CustManageCustExpection(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.cust_manage_page_read_csv = CustManagePageReadCsv()
        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_cust_manage_add_cust_exception(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()

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

        self.cust_manage_basic_info_and_add_cust_page.add_acc()
        self.cust_manage_basic_info_and_add_cust_page.cancel_add_account()

        self.cust_manage_basic_info_and_add_cust_page.add_acc()

        # 验证上级客户input的属性是否为readonly
        readonly_value = self.cust_manage_basic_info_and_add_cust_page.get_up_account_value(
        )
        self.assertEqual('true', readonly_value)

        # 验证新增客户的名称
        # 1 为空
        self.cust_manage_basic_info_and_add_cust_page.add_account_name('')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        text = self.cust_manage_basic_info_and_add_cust_page.get_add_account_name_exception_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_name_not_null(), text)

        # 2 长度小于三位
        self.cust_manage_basic_info_and_add_cust_page.add_account_name('1')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        text = self.cust_manage_basic_info_and_add_cust_page.get_add_account_name_exception_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_name_more_than_3(),
                         text)

        # 3 验证最大长度
        max_len = self.cust_manage_basic_info_and_add_cust_page.get_account_name_max_len(
        )
        self.assertEqual('50', max_len)

        # 验证新增客户账号
        # 1 为空
        self.cust_manage_basic_info_and_add_cust_page.add_account('')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        text = self.cust_manage_basic_info_and_add_cust_page.get_add_account_exception_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_account_not_null(),
                         text)

        # 2 长度小于3位
        self.cust_manage_basic_info_and_add_cust_page.add_account('1')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        text = self.cust_manage_basic_info_and_add_cust_page.get_add_account_exception_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_account_len(), text)

        # 3 验证最大长度
        account_max_len = self.cust_manage_basic_info_and_add_cust_page.get_account_max_len(
        )
        self.assertEqual('30', account_max_len)

        # 验证密码
        # 1 为空
        self.cust_manage_basic_info_and_add_cust_page.add_password_first('')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_first_password(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_not_null(),
                         get_password_first_text)

        # 2 小于6位
        self.cust_manage_basic_info_and_add_cust_page.add_password_first('12e')
        self.cust_manage_basic_info_and_add_cust_page.add_password_second(
            '12e')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_first_password(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_len(),
                         get_password_first_text)

        # 3 全字母
        self.cust_manage_basic_info_and_add_cust_page.add_password_first(
            'abcdefg')
        self.cust_manage_basic_info_and_add_cust_page.add_password_second(
            'abcdefg')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_first_password(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_formate(),
                         get_password_first_text)

        # 4 全数字
        self.cust_manage_basic_info_and_add_cust_page.add_password_first(
            '123456')
        self.cust_manage_basic_info_and_add_cust_page.add_password_second(
            '123456')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_first_password(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_formate(),
                         get_password_first_text)

        # 5 只输入确认密码
        self.cust_manage_basic_info_and_add_cust_page.add_password_first('')
        self.cust_manage_basic_info_and_add_cust_page.add_password_second(
            'a123456')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_second_password(
        )
        self.assertEqual(self.assert_text.cust_page_password_unlike(),
                         get_password_first_text)

        # 6两次密码不一致
        self.cust_manage_basic_info_and_add_cust_page.add_password_first(
            '123456ee')
        self.cust_manage_basic_info_and_add_cust_page.add_password_second(
            '123456ff')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()

        get_password_first_text = self.cust_manage_basic_info_and_add_cust_page.get_text_second_password(
        )
        self.assertEqual(self.assert_text.cust_page_password_unlike(),
                         get_password_first_text)

        # 验证电话、邮箱、联系人、公司名的最大长度
        phone_max_len = self.cust_manage_basic_info_and_add_cust_page.get_phone_max_len(
        )
        self.assertEqual('20', phone_max_len)

        email_max_len = self.cust_manage_basic_info_and_add_cust_page.get_email_max_len(
        )
        self.assertEqual('50', email_max_len)
        # 验证邮箱格式
        self.cust_manage_basic_info_and_add_cust_page.add_email_format(
            '123123')
        self.cust_manage_basic_info_and_add_cust_page.click_ensure()
        get_text_email = self.cust_manage_basic_info_and_add_cust_page.get_text_email_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_email_formate_error(),
                         get_text_email)

        connect_max_len = self.cust_manage_basic_info_and_add_cust_page.get_connect_max_len(
        )
        self.assertEqual('50', connect_max_len)

        comp_max_len = self.cust_manage_basic_info_and_add_cust_page.get_comp_max_len(
        )
        self.assertEqual('50', comp_max_len)
class TestCase206UserCenterDevLog(unittest.TestCase):
    # 测试个人中心 - 帮助 - 业务日志 - 设备管理日志(设备修改和设备分配)
    def setUp(self):
        self.driver = AutomateDriverServer()
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.help_page = HelpPage(self.driver, self.base_url)
        self.account_center_page_operation_log = AccountCenterOperationLogPage(
            self.driver, self.base_url)
        self.help_page_sql = HelpPageSql()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.connect_sql = ConnectSql()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.user_center_page = UserCenterPage(self.driver, self.base_url)
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_user_center_dev_log(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        user_account = self.log_in_base.get_log_in_account()

        # 点击设备管理
        current_handle = self.driver.get_current_window_handle()
        self.user_center_page.click_dev_management_button()
        sleep(3)
        self.base_page.change_windows_handle(current_handle)
        # 获取列表第一个imei号
        sleep(3)
        imei = self.user_center_page.get_dev_list_first_imei()
        # 点击编辑
        self.user_center_page.click_edit_dev_button()
        # 点击确定
        self.user_center_page.click_ensure_button()

        # 销售
        self.user_center_page.click_sale_button()

        # 进入帮助 - 业务日志页面
        current_handle_01 = self.driver.get_current_window_handle()
        self.user_center_page.click_user_center_button()
        self.base_page.change_windows_handle(current_handle_01)
        # 点击帮助
        self.user_center_page.click_help_button()
        # 切换到业务日志的frame里面
        self.user_center_page.switch_to_business_frame()

        self.user_center_page.click_search_button_in_business_log()

        # 获取第一条数据的操作人、目标账号、操作平台、描述
        sleep(3)
        operation = self.user_center_page.get_operation_in_business_log()
        target_account = self.user_center_page.get_target_account_in_business_log(
        )
        operation_platform = self.user_center_page.get_operation_platform_in_business_log(
        )
        desc = self.user_center_page.get_desc_in_business_log()
        self.assertEqual(' ' + user_account, operation)
        self.assertEqual(target_account, user_account)
        self.assertEqual('网页端', operation_platform)

        web_desc = "%s修改设备%s" % (user_account, imei)
        self.assertEqual(web_desc, desc)

        # 选择设备分配搜索
        self.user_center_page.search_dev_sale_in_business_log()
        # 点击搜索
        self.user_center_page.click_search_button_in_business_log()

        operation_01 = self.user_center_page.get_operation_in_business_log()
        target_account_01 = self.user_center_page.get_target_account_in_business_log(
        )
        operation_platform_01 = self.user_center_page.get_operation_platform_in_business_log(
        )
        desc_01 = self.user_center_page.get_desc_in_business_log()

        self.assertEqual(' ' + user_account, operation_01)
        self.assertEqual(target_account_01, user_account)
        self.assertEqual('网页端', operation_platform_01)

        web_desc_01 = "%s将设备%s从%s分配给%s" % (user_account, imei, user_account,
                                           user_account)
        self.assertEqual(web_desc_01, desc_01)
        self.driver.default_frame()
class TestCase51AccountCenterManageAndTelephoneAlarm(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_refill_card = AccountCenterRefillCardPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.account_center_page = AccountCenterPage(self.driver,
                                                     self.base_url)
        self.search_sql = SearchSql()
        self.assert_text = AssertText()
        self.assert_text2 = AssertText2()
        self.driver.set_window_max()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_case_account_center_manage_and_telephone_alarm(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in_jimitest()
        self.account_center_page_navi_bar.click_account_center_button()
        account = self.log_in_base.get_log_in_account()
        # 点击订单管理
        self.account_center_page.clcik_massage_and_telephone_alarm_button_in_account_info_page(
        )

        ## 进入账号详情的frame
        self.account_center_page.switch_to_massage_and_telephone_alarm_frame()

        csv_file = self.account_center_page_read_csv.read_csv(
            'massage_and_telephone_alarm.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            search_data = {'alarm_name': row[0], 'alarm_type': row[1]}
            self.account_center_page.add_data_to_search_massage_and_telephone_alarm_in_set_page(
                search_data)

            ## 获取数据库查询的条数
            sql_number = self.account_center_page.get_sql_number_after_click_massage_and_telephone_alarm_set_search_button(
                account, search_data)
            # 获取页面上的条数
            web_number = self.account_center_page.get_web_number_after_click_massage_and_telephone_alarm_search_button(
            )
            self.assertEqual(sql_number, web_number)
        csv_file.close()
        self.driver.default_frame()
Пример #17
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 TestCase430918AccountCenterRefillCardApplyException(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_refill_card = AccountCenterRefillCardPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.search_sql = SearchSql()
        self.assert_text = AssertText()
        self.assert_text2 = AssertText2()
        self.driver.set_window_max()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_apply_refill_card_exception_verify(self):
        '''充值卡-申请记录--申请充值卡-异常验证'''

        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.driver.wait(1)
        self.account_center_page_navi_bar.click_account_center_button()
        # 进入充值卡页面
        # self.account_center_page_navi_bar.switch_to_chongzhi_card()
        self.account_center_page_refill_card.click_refill_card()
        # 点申请充值卡
        self.account_center_page_refill_card.click_apply_refill_card_button()

        csv_file = self.account_center_page_read_csv.read_csv(
            'apply_refill_card_exception.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            data = {
                "year": row[0],
                "lifetime": row[1],
                "name": row[2],
                "phone": row[3],
                "payment_account": row[4],
                "year_prompt1": row[5],
                "lifetime_prompt1": row[6],
                "name_prompt1": row[7],
                "phone_prompt1": row[8],
                "account_prompt1": row[9]
            }

            # 获取提示
            prompt = self.account_center_page_refill_card.get_apply_refill_card_exception_hint(
                data["year"], data["lifetime"], data["name"], data["phone"],
                data["payment_account"])

            self.assertIn(data["year_prompt1"], prompt["year_prompt2"],
                          "一年充值卡提示不一致")
            self.assertIn(data["lifetime_prompt1"],
                          prompt["lifetimet_prompt2"], "终身充值卡提示不一致")
            self.assertEqual(data["name_prompt1"], prompt["name_prompt2"],
                             "付款姓名提示不一致")
            self.assertEqual(data["phone_prompt1"], prompt["phone_prompt2"],
                             "付款手机号卡提示不一致")
            self.assertEqual(data["account_prompt1"],
                             prompt["account_prompt2"], "付款账号提示不一致")

        # 长度
        length = self.account_center_page_refill_card.get_apply_refill_card_len(
        )
        self.assertEqual(5, length["year_len"], "一年充值卡长度不一致")
        self.assertEqual(5, length["lifetime_len"], "终身充值卡长度不一致")
        self.assertEqual(20, length["name_len"], "姓名长度不一致")
        self.assertEqual(20, length["phone_len"], "手机号长度不一致")
        self.assertEqual(200, length["account_len"], "付款账号长度不一致")
class TestCase405CustomerManagementAddUserCommandLimit(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_add_user_command_limit_verify(self):
        '''测试客户管理-指令权限验证'''

        self.base_page.open_page()

        csv_file = self.cust_manage_page_read_csv.read_csv('add_user_command_limit_data.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            info = {
                "keyword": row[0],
                "type": row[1],
                "name": row[2],
                "account": row[3],
                "passwd": row[4],
                "phone": row[5],
                "email": row[6],
                "conn": row[7],
                "com": row[8],
                "command": row[9],
                "working_mode": row[10]
            }

            # 登录
            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()
            sleep(1)
            self.base_page.change_windows_handle(current_handle)

            self.cust_manage_basic_info_and_add_cust_page.add_acc()
            self.cust_manage_basic_info_and_add_cust_page.close_add_account()

            self.cust_manage_basic_info_and_add_cust_page.add_acc()
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.add_acc_input_info_edit(info["name"], info["account"],
                                                                                  info["passwd"],
                                                                                  info["phone"], info["email"],
                                                                                  info["conn"], info["com"])
            # 是或否批量下发指令 和批量下发工作模式
            command_status = self.cust_manage_basic_info_and_add_cust_page.setting_command_permissions(info["command"])
            working_mode_status = self.cust_manage_basic_info_and_add_cust_page.setting_working_mode_permissions(
                info["working_mode"])
            self.assertEqual(info["command"], str(command_status), "勾选状态与期望不一致")
            self.assertEqual(info["working_mode"], str(working_mode_status), "勾选状态与期望不一致")
            self.driver.default_frame()
            sleep(2)
            self.cust_manage_basic_info_and_add_cust_page.acc_add_save()
            sleep(1)
            # 退出登录
            self.account_center_page_navi_bar.usr_logout()

            self.log_in_base.log_in_with_csv(info["account"], info["passwd"])
            hello_usr = self.account_center_page_navi_bar.usr_info_account()
            self.assertIn(info["account"], hello_usr, "登录成功后招呼栏账户名显示错误")
            sleep(1)

            # 进入设备管理/指令管理页面,获取功能按钮
            current_handle_02 = self.driver.get_current_window_handle()
            self.cust_manage_basic_info_and_add_cust_page.click_dev_management_button()
            self.base_page.change_windows_handle(current_handle_02)

            facility_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()
            sleep(3)
            # command_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_command_page_module()

            # 获取中文,依次是:选中发送指令、本次查询全部发送指令、选中设置工作模式、本次查询全部设置工作模式
            # 工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理, 下发指令任务管理, 下发指令管理
            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            working_mode = self.assert_text2.dev_manage_setting_working_mode()
            all_working_mode = self.assert_text2.dev_manage_setting_all_working_mode()
            template_manage = self.assert_text.command_manager_page_work_type_template_management()
            working_mode_task_manage = self.assert_text2.comm_manage_send_working_mode_task_manage()
            working_mode_manage = self.assert_text2.comm_manage_send_working_mode_manage()
            task_manage = self.assert_text2.comm_manage_command_task_manage()
            comm_manager = self.assert_text.command_manager_page_issued_command_manager()

            command_list = []
            working_mode_list = []
            # 循环设备管理页面的数据
            for b in facility_manage_data:
                # 选中发送指令 和 本次查询全部发送指令
                if send_command in b or all_send_command in b:
                    command_list.append(b)
                # 选中设置工作模式 和 本次查询全部设置工作模式
                elif working_mode in b or all_working_mode in b:
                    working_mode_list.append(b)

            # 循环指令管理页面的数据
            '''for c in command_manage_data:
                # 下发指令任务管理 和 下发指令管理
                if task_manage in c or comm_manager in c:
                    command_list.append(c)
                # 工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理
                elif template_manage in c or working_mode_task_manage in c or working_mode_manage in c:
                    working_mode_list.append(c)'''

            print("指令", command_list)
            print("工作模式", working_mode_list)

            # 验证设备、指令管理页面功能按钮
            if command_status == True and working_mode_status == True:
                # 指令(设备页+指令管理页)
                self.assertEqual(send_command, command_list[0])
                self.assertEqual(all_send_command, command_list[1])
                self.assertEqual(task_manage, command_list[2])
                self.assertEqual(comm_manager, command_list[3])

                # 工作模式(设备页+指令管理页)
                self.assertEqual(working_mode, working_mode_list[0])
                self.assertEqual(all_working_mode, working_mode_list[1])
                self.assertEqual(template_manage, working_mode_list[2])
                self.assertEqual(working_mode_task_manage, working_mode_list[3])
                self.assertEqual(working_mode_manage, working_mode_list[4])

            elif command_status == False and working_mode_status == False:
                # self.assertEqual(comm_manager, command_list[0])
                self.assertEqual(0, len(working_mode_list))

            elif command_status == True and working_mode_status == False:
                self.assertEqual(send_command, command_list[0])
                self.assertEqual(all_send_command, command_list[1])
                self.assertEqual(task_manage, command_list[2])
                self.assertEqual(comm_manager, command_list[3])
                self.assertEqual(0, len(working_mode_list))

            elif command_status == False and working_mode_status == True:
                self.assertEqual(comm_manager, command_list[0])
                self.assertEqual(working_mode, working_mode_list[0])
                self.assertEqual(all_working_mode, working_mode_list[1])
                self.assertEqual(template_manage, working_mode_list[2])
                self.assertEqual(working_mode_task_manage, working_mode_list[3])
                self.assertEqual(working_mode_manage, working_mode_list[4])

            sleep(1)
            self.account_center_page_navi_bar.usr_logout()

            self.log_in_base.log_in()

            current_handle_01 = 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_01)

            # 搜索新增客户
            self.cust_manage_lower_account_page.input_search_info(info["account"])
            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()
            # 删除该新增客户
            self.cust_manage_lower_account_page.delete_acc()
            self.cust_manage_lower_account_page.delete_acc_ensure()
            # 获取删除操作状态
            del_status = self.cust_manage_lower_account_page.get_del_status()
            self.assertIn(self.assert_text.account_center_page_operation_done(), del_status, "操作失败")

            # 退出登录
            sleep(1)
            self.account_center_page_navi_bar.usr_logout()
        csv_file.close()
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)
Пример #21
0
class TestCase58CustManageAddAcc(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_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.assert_text2 = AssertText2()
        self.search_sql = SearchSql()
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.connect_sql = ConnectSql()
        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_add_acc(self):
        '''测试客户管理-新增用户'''

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

        # 登录
        self.log_in_base.log_in()

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

        self.cust_manage_basic_info_and_add_cust_page.add_acc()
        self.cust_manage_basic_info_and_add_cust_page.close_add_account()

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

        for row in csv_data:
            add_info = {
                "keyword": row[0],
                "acc_type": row[1],
                "acc_name": row[2],
                "account": row[3],
                "passwd": row[4],
                "phone": row[5],
                "email": row[6],
                "conn": row[7],
                "com": row[8],
                "search_user": row[9]
            }

            # 左侧客户列表搜索并选中唯一客户
            self.cust_manage_cust_list_page.acc_exact_search(
                add_info["keyword"])

            # 点击新增用户
            self.cust_manage_basic_info_and_add_cust_page.add_acc()
            sleep(2)

            # 验证所选中的上级用户类型来显示可创建的下级类型
            user_list = add_info["search_user"].split("/")
            for type in user_list:
                self.cust_manage_basic_info_and_add_cust_page.acc_search(type)
                type_list = self.cust_manage_basic_info_and_add_cust_page.get_acc_user_type_list(
                )
                sql_data = self.search_sql.search_current_account_data(type)
                user_type = self.assert_text.log_in_page_account_type(
                    sql_data[2])
                print(user_type)

                if user_type == "销售":
                    self.assertEqual(3, type_list["length"])
                    self.assertIn(
                        self.assert_text.log_in_page_account_type(11),
                        type_list["sale"])
                    self.assertIn(self.assert_text.log_in_page_account_type(8),
                                  type_list["distributor"])
                    self.assertIn(self.assert_text.log_in_page_account_type(9),
                                  type_list["user"])

                elif user_type == "代理商":
                    self.assertEqual(2, type_list["length"])
                    self.assertIn(self.assert_text.log_in_page_account_type(8),
                                  type_list["distributor"])
                    self.assertIn(self.assert_text.log_in_page_account_type(9),
                                  type_list["user"])

                elif user_type == "用户":
                    self.assertNotEqual(1, type_list["length"])
                    #self.assertIn(self.assert_text.log_in_page_account_type(9),type_list["user"])
                sleep(1)
            #添加用户类型获取提示
            self.cust_manage_basic_info_and_add_cust_page.acc_search(
                "yonghu222")
            sleep(2)
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            # status = self.cust_manage_lower_account_page.edit_info_save_status()
            self.driver.default_frame()
            # self.assertEqual(self.assert_text2.cust_manage_add_user_type_prompt(), status, "提示显示不一致")

            # 右侧搜索栏中搜索并选中作为上级用户
            self.cust_manage_basic_info_and_add_cust_page.acc_search(
                add_info["keyword"])
            # 选择客户类型
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.acc_type_choose(
                add_info["acc_type"])
            # 编辑用户输入框信息
            self.cust_manage_basic_info_and_add_cust_page.add_acc_input_info_edit(
                add_info["acc_name"], add_info["account"], add_info["passwd"],
                add_info["phone"], add_info["email"], add_info["conn"],
                add_info["com"])
            # 修改用户登录权限
            self.cust_manage_basic_info_and_add_cust_page.acc_login_limit_modi(
            )
            self.driver.default_frame()
            self.cust_manage_basic_info_and_add_cust_page.acc_add_save()

            # 获取保存操作状态
            status = self.cust_manage_basic_info_and_add_cust_page.acc_info_save_status(
            )
            # 验证是否操作成功
            self.assertIn(
                self.assert_text.account_center_page_operation_done(), status,
                "操作失败")

            # 搜索新增客户
            sleep(4)
            self.cust_manage_lower_account_page.input_search_info(
                add_info["account"])

            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()

            # 删除该新增客户
            self.cust_manage_lower_account_page.delete_acc()

            # 确定删除
            self.cust_manage_lower_account_page.delete_acc_ensure()

            # 获取删除操作状态
            del_status = self.cust_manage_lower_account_page.get_del_status()

            # 验证是否操作成功
            self.assertIn(
                self.assert_text.account_center_page_operation_done(),
                del_status, "操作失败")

        csv_file.close()
Пример #22
0
class TestCase01AccountCenterModifyInfo(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_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.clear_cookies()
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        sleep(1)
        # 登录账号
        self.log_in_base.log_in()

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

    def test_account_center_modify_info(self):
        '''通过csv测试修改资料功能'''
        self.account_center_page_navi_bar.click_account_center_button()

        csv_file = self.account_center_page_read_csv.read_csv('user_to_modify_info.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            user_to_modify_info = {
                "username": row[0],
                "phone": row[1],
                "email": row[2]
            }

            # 招呼栏修改资料
            save_status = self.account_center_page_navi_bar.modify_usr_info(user_to_modify_info["username"],
                                                                            user_to_modify_info["phone"],
                                                                            user_to_modify_info["email"])
            # 判断是否修改成功
            self.assertEqual(self.assert_text.account_center_page_operation_done(), save_status, "修改失败")

            #点击账户中心
            self.account_center_page_navi_bar.click_account_center_button()
            sleep(1)
            #获取详情中用户名跟电话

            phone = self.account_center_page_navi_bar.usr_info_phone()
            self.assertEqual(user_to_modify_info["phone"], phone, "电话号码不一致")
            break
        csv_file.close()

        # 点击关闭
        self.account_center_page_navi_bar.click_modify_usr_info()
        self.account_center_page_navi_bar.cancel_modify_user_info()

        # 点击取消
        self.account_center_page_navi_bar.click_modify_usr_info()
        self.account_center_page_navi_bar.close_modify_user_info()

        # 退出登录
        self.account_center_page_navi_bar.usr_logout()
class TestCase450919AccountCenterRefillCardRefillRecordSearch(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='CHROME')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_refill_card = AccountCenterRefillCardPage(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_refill_record_search(self):
        '''充值卡-充值记录--搜索'''
        csv_file = self.account_center_page_read_csv.read_csv('search_refill_record_data.csv')
        csv_data = csv.reader(csv_file)

        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in()
        self.driver.wait(1)
        self.account_center_page_navi_bar.click_account_center_button()
        # 进入充值卡页面
        # self.account_center_page_navi_bar.switch_to_chongzhi_card()
        self.account_center_page_refill_card.click_refill_card()

        # 验证页面顶部我的账号
        my_account = self.account_center_page_refill_card.get_title_display_account()
        self.assertIn(self.account_center_page_refill_card.get_current_login_account(), my_account, "登录账号显示一致")

        for row in csv_data:
            data = {
                "refill_type": row[0],
                "device_imei": row[1]

            }
            # 点击充值记录
            self.account_center_page_refill_card.click_refill_record()
            # 搜索
            count = self.account_center_page_refill_card.refill_record_search_data(data["refill_type"],
                                                                                   data["device_imei"])
            # 验证imei计数
            self.assertEqual(count["import_count"], int(count["add_count"]), "输入框中imei的计数显示错误")

            # 获取页面列表条数
            page_number = self.account_center_page_refill_card.get_refill_record_number()

            # 获取当前账号id
            sql_data = self.search_sql.search_current_account_data(my_account)

            connect1 = self.connect_sql.connect_tuqiang_sql()
            # 创建数据库游标
            cur = connect1.cursor()
            # 获取数据库条数
            get_sql = self.search_sql.search_refill_record_sql(sql_data[0], data)
            print(get_sql)
            cur.execute(get_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)
            print('本次查询数据库的条数为:%s' % total)

            # 获取数据库条数
            self.assertEqual(total, page_number, "转移记录中,平台与sql搜索出来的数据条数不一致")
        # 点击充值记录
        self.account_center_page_refill_card.click_refill_record()
        # 获取设备有多少个分页
        total_page = self.account_center_page_refill_card.get_total_page_number_search_refill_record()
        print(total_page)
        if total_page[0] == 0:
            text = self.account_center_page_refill_card.get_refill_record_page_no_data_text()
            self.assertIn(self.assert_text.account_center_page_no_data_text(), text)

        elif total_page[0] == 1:
            up_page_class = self.account_center_page_refill_card.get_up_page_class_active_in_refill_search()
            self.assertEqual('active', up_page_class)

        else:
            for n in range(total_page[0]):
                self.account_center_page_refill_card.click_per_page(n)
                get_per_first_number = self.account_center_page_refill_card.get_per_frist_number_in_refill_search()
                self.assertEqual(get_per_first_number, str(10 * (n + 1) - 9))

            # 点击每页20条
            list = [20, 30, 50, 100]
            for m in list:
                self.account_center_page_refill_card.click_per_page_number_refill_record()
                page_number = self.account_center_page_refill_card.get_page_number_in_refill_record_search()
                print(page_number)
                self.assertEqual(int(total_page[1] / m) + 1, page_number)

        csv_file.close()
Пример #24
0
class TestCase49AccountCenterBillList(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_details = AccountCenterDetailsPage(
            self.driver, self.base_url)
        self.account_center_page_refill_card = AccountCenterRefillCardPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.account_center_page = AccountCenterPage(self.driver,
                                                     self.base_url)
        self.search_sql = SearchSql()
        self.assert_text = AssertText()
        self.assert_text2 = AssertText2()
        self.driver.set_window_max()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_case_account_center_bill_list(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录账号
        self.log_in_base.log_in_jimitest()
        self.account_center_page_navi_bar.click_account_center_button()
        account = self.log_in_base.get_log_in_account()
        # 点击账单按钮
        self.account_center_page_navi_bar.switch_to_chongzhi_card()
        self.account_center_page.clcik_bill_button_in_account_info_page()

        csv_file = self.account_center_page_read_csv.read_csv('bill_list.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            search_data = {
                'date_type': row[0],
                'begin_time': row[1],
                'end_time': row[2],
                'imei': row[3],
                'telephone': row[4],
                'alarm_type': row[5],
                'result': row[6]
            }
            self.account_center_page.add_data_to_search_bill_list_in_bill_list_page(
                search_data)

            ## 获取数据库查询的条数
            sql_number = self.account_center_page.get_sql_number_after_click_search_button(
                account, search_data)
            # 获取页面上的条数
            web_number = self.account_center_page.get_web_number_after_click_search_button(
            )
            self.assertEqual(sql_number, web_number)
        csv_file.close()
class TestCase411CustomerManagementEditUserIssuedCommandLimit(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_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.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text2 = AssertText2()
        self.connect_sql = ConnectSql()
        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_customer_management_edit_user_issued_command_limit(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('abc12344')
        # 搜索
        self.cust_manage_lower_account_page.click_search_btn()
        user_account = self.cust_manage_basic_info_and_add_cust_page.get_user_account_in_customer_page()

        # 点击编辑 - 取消
        self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()
        # 点击取消
        self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
        # 点击编辑
        self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()

        # 获取批量下发指令的状态
        self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
        web_login_status = self.cust_manage_basic_info_and_add_cust_page.get_issued_command_status()
        self.driver.default_frame()

        if web_login_status == True:
            # 点击
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.click_issued_command_status_ins()
            self.driver.default_frame()

            # 确定
            self.cust_manage_basic_info_and_add_cust_page.click_ensure()

            # 退出登录
            self.account_center_page_navi_bar.usr_logout()

            # 登录刚刚的账号
            self.log_in_base.log_in_with_csv(user_account, 'jimi123')
            # 进入设备管理 获取设备管理页面操的文本

            current_handle_05 = self.driver.get_current_window_handle()
            self.cust_manage_basic_info_and_add_cust_page.click_dev_management_button()
            self.base_page.change_windows_handle(current_handle_05)

            dev_operation_text = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()

            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            self.assertNotIn(send_command, dev_operation_text)
            self.assertNotIn(all_send_command, dev_operation_text)
            # 退出登录
            self.account_center_page_navi_bar.usr_logout()

            # 登录
            self.log_in_base.log_in()

            current_handle_01 = 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_01)

            # 搜索一个客户
            self.cust_manage_lower_account_page.input_search_info('abc12344')
            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()
            # 点击编辑 - 取消
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()
            # 点击取消
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            # 点击编辑
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()

            # 点击
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.click_issued_command_status_ins()
            self.driver.default_frame()

            self.cust_manage_basic_info_and_add_cust_page.click_ensure()

            # 退出登录
            self.account_center_page_navi_bar.usr_logout()

            # 登录刚刚的账号
            self.log_in_base.log_in_with_csv(user_account, 'jimi123')

            hello_usr = self.account_center_page_navi_bar.usr_info_account()
            self.assertIn(user_account, hello_usr)

            # 进入设备管理 获取设备管理页面操的文本
            current_handle_02 = self.driver.get_current_window_handle()
            self.cust_manage_basic_info_and_add_cust_page.click_dev_management_button()
            self.base_page.change_windows_handle(current_handle_02)

            dev_operation_text = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()

            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            self.assertIn(send_command, dev_operation_text)
            self.assertIn(all_send_command, dev_operation_text)

        elif web_login_status == False:
            # 点击
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.click_issued_command_status_ins()
            self.driver.default_frame()
            self.cust_manage_basic_info_and_add_cust_page.click_ensure()
            # 退出登录
            self.account_center_page_navi_bar.usr_logout()
            # 登录刚刚的账号
            self.log_in_base.log_in_with_csv(user_account, 'jimi123')
            hello_usr = self.account_center_page_navi_bar.usr_info_account()
            self.assertIn(user_account, hello_usr)
            # 进入设备管理 获取设备管理页面操的文本
            dev_operation_text = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()

            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            self.assertIn(send_command, dev_operation_text)
            self.assertIn(all_send_command, dev_operation_text)

            # 退出登录
            self.account_center_page_navi_bar.usr_logout()
            self.log_in_base.log_in()

            current_handle_03 = 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_03)

            # 搜索一个客户
            self.cust_manage_lower_account_page.input_search_info('abc12344')
            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()
            # 点击编辑 - 取消
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()
            # 点击取消
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            # 点击编辑
            self.cust_manage_basic_info_and_add_cust_page.click_edit_account_buttons()

            # 点击
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()
            self.cust_manage_basic_info_and_add_cust_page.click_issued_command_status_ins()
            self.driver.default_frame()

            # 确定
            self.cust_manage_basic_info_and_add_cust_page.click_ensure()
            # 退出登录
            self.account_center_page_navi_bar.usr_logout()
            # 登录刚刚的账号
            self.log_in_base.log_in_with_csv(user_account, 'jimi123')

            # 进入设备管理 获取设备管理页面操的文本
            current_handle_04 = self.driver.get_current_window_handle()
            self.cust_manage_basic_info_and_add_cust_page.click_dev_management_button()
            self.base_page.change_windows_handle(current_handle_04)

            dev_operation_text = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()

            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            self.assertNotIn(send_command, dev_operation_text)
            self.assertNotIn(all_send_command, dev_operation_text)
Пример #26
0
class TestCase202UserCenterModifyInfo2(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_details = AccountCenterDetailsPage(self.driver, self.base_url)
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.user_center_page = UserCenterPage(self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.driver.clear_cookies()
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        sleep(1)
        # 登录账号
        self.log_in_base.log_in()

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

    def test_user_center_modify_info2(self):
        # 通过csv测试修改资料功能
        current_handle = self.driver.get_current_window_handle()
        self.account_center_page_navi_bar.click_account_center_button()
        self.base_page.change_windows_handle(current_handle)
        # 点击个人中心 - 修改资料
        self.user_center_page.click_user_center_button()
        self.user_center_page.click_modify_user_info()

        # 1.特殊字符
        special_char = "/\^<>!~%*"
        # 在客户名称、电话中输入特殊字符
        self.user_center_page.input_user_name_in_modify_info(special_char)
        self.user_center_page.input_user_phone_in_modify_info(special_char)
        # 点击保存
        self.user_center_page.click_ensure_button()

        # 验证
        # 获取主页上的用户名称和电话
        user_name = self.user_center_page.get_user_name_in_main_page()
        user_phone = self.user_center_page.get_user_phone_in_main_page()
        self.assertNotEqual(special_char, user_name)
        self.assertNotEqual(special_char, user_phone)

        # 2.验证客户名称必填
        self.user_center_page.input_user_name_in_modify_info('')
        self.user_center_page.input_user_phone_in_modify_info('')
        # 点击保存
        self.user_center_page.click_ensure_button()
        # 获取到客户名称的异常提醒
        user_name_exception = self.user_center_page.get_user_name_exception_in_modify_info_page()
        self.assertEqual(self.assert_text.user_name_not_null(), user_name_exception)

        # 3.长度限制
        long_char = 'fsaffsdafsadfvczxfsdsafdfasdfasdfsdfsdfasdfasdffffffffffffffffffffffarfwqefsadfasdfasdcfsaasdcascsdc'
        self.user_center_page.input_user_name_in_modify_info(long_char)
        # 点击保存
        self.user_center_page.click_ensure_button()
        # 获取到客户名称的异常提醒
        user_name_exception = self.user_center_page.get_user_name_exception_in_modify_info_page()
        self.assertEqual(self.assert_text.user_name_not_to_long(), user_name_exception)

        shot_char = '12'
        self.user_center_page.input_user_name_in_modify_info(shot_char)
        # 点击保存
        self.user_center_page.click_ensure_button()
        # 获取到客户名称的异常提醒
        user_name_exception = self.user_center_page.get_user_name_exception_in_modify_info_page()
        self.assertEqual(self.assert_text.user_name_not_to_shot(), user_name_exception)

        # 4.邮箱格式限制
        email_format = "fdsaffadsfasdf"
        self.user_center_page.input_user_email_in_modify_info(email_format)
        # 点击保存
        self.user_center_page.click_ensure_button()
        # 获取到客户邮箱的异常提示
        user_email_exception = self.user_center_page.get_user_email_exception_in_modify_info_page()
        self.assertEqual(self.assert_text.user_email_format_error(), user_email_exception)
Пример #27
0
class TestCase730816CustManageEditUserCommandLimit(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.quit_browser()

    def test_edit_account_command_limit_verify(self):
        '''测试客户管理-编辑指令权限后验证'''

        self.base_page.open_page()

        csv_file = self.cust_manage_page_read_csv.read_csv('add_user_command_limit_data.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            info = {
                "passwd": row[4],
                "command": row[9],
                "working_mode": row[10],
                "wdit_account": row[11]
            }

            # 登录
            self.log_in_base.log_in()

            # 进入客户管理页面
            self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()
            # 搜索账号
            self.cust_manage_lower_account_page.input_search_info(info["wdit_account"])
            # 搜索
            self.cust_manage_lower_account_page.click_search_btn()

            # 点击编辑用户
            self.cust_manage_basic_info_and_add_cust_page.click_edit_customer()
            self.cust_manage_basic_info_and_add_cust_page.click_cancel_edit()
            self.cust_manage_basic_info_and_add_cust_page.click_edit_customer()
            self.cust_manage_basic_info_and_add_cust_page.locate_to_iframe()

            # 是或否批量下发指令 和批量下发工作模式
            command_status = self.cust_manage_basic_info_and_add_cust_page.setting_command_permissions(info["command"])
            working_mode_status = self.cust_manage_basic_info_and_add_cust_page.setting_working_mode_permissions(
                info["working_mode"])
            self.assertEqual(info["command"], str(command_status), "勾选状态与期望不一致")
            self.assertEqual(info["working_mode"], str(working_mode_status), "勾选状态与期望不一致")
            self.driver.default_frame()
            sleep(2)
            self.cust_manage_basic_info_and_add_cust_page.acc_add_save()
            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(info["wdit_account"], info["passwd"])
            sleep(1)
            hello_usr = self.account_center_page_navi_bar.hello_user_account()
            self.assertIn(info["wdit_account"], hello_usr, "登录成功后招呼栏账户名显示错误")
            sleep(1)

            # 进入设备管理/指令管理页面,获取功能按钮
            facility_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_facility_manage_page_function_button()
            sleep(2)
            command_manage_data = self.cust_manage_basic_info_and_add_cust_page.get_command_page_module()

            # 获取中文,依次是:选中发送指令、本次查询全部发送指令、选中设置工作模式、本次查询全部设置工作模式
            #工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理, 下发指令任务管理, 下发指令管理
            send_command = self.assert_text2.dev_manage_select_send_command()
            all_send_command = self.assert_text2.dev_manage_select_all_send_command()
            working_mode = self.assert_text2.dev_manage_setting_working_mode()
            all_working_mode = self.assert_text2.dev_manage_setting_all_working_mode()
            template_manage = self.assert_text.command_manager_page_work_type_template_management()
            working_mode_task_manage = self.assert_text2.comm_manage_send_working_mode_task_manage()
            working_mode_manage = self.assert_text2.comm_manage_send_working_mode_manage()
            task_manage = self.assert_text2.comm_manage_command_task_manage()
            comm_manager = self.assert_text.command_manager_page_issued_command_manager()

            command_list =[]
            working_mode_list = []
            #循环设备管理页面的数据
            for b in facility_manage_data:
                #选中发送指令 和 本次查询全部发送指令
                if send_command in b or all_send_command in b:
                    command_list.append(b)
                #选中设置工作模式 和 本次查询全部设置工作模式
                elif working_mode in b or all_working_mode in b:
                    working_mode_list.append(b)


            #循环指令管理页面的数据
            for c in command_manage_data:
                #下发指令任务管理 和 下发指令管理
                if task_manage in c or comm_manager in c:
                    command_list.append(c)
                #工作模式模板管理, 下发工作模式任务管理, 下发工作模式管理
                elif template_manage in c or working_mode_task_manage in c or working_mode_manage in c:
                    working_mode_list.append(c)

            print("指令", command_list)
            print("工作模式", working_mode_list)

            #验证设备、指令管理页面功能按钮显示情况
            if command_status == True and working_mode_status == True:
                # 指令(设备页+指令管理页)
                self.assertEqual(send_command, command_list[0])
                self.assertEqual(all_send_command, command_list[1])
                self.assertEqual(task_manage, command_list[2])
                self.assertEqual(comm_manager, command_list[3])

                # 工作模式(设备页+指令管理页)
                self.assertEqual(working_mode, working_mode_list[0])
                self.assertEqual(all_working_mode, working_mode_list[1])
                self.assertEqual(template_manage, working_mode_list[2])
                self.assertEqual(working_mode_task_manage, working_mode_list[3])
                self.assertEqual(working_mode_manage, working_mode_list[4])

            elif command_status == False and working_mode_status == False:
                # self.assertEqual(comm_manager, command_list[0])
                self.assertEqual(0, len(working_mode_list))

            elif command_status == True and working_mode_status == False:
                self.assertEqual(send_command, command_list[0])
                self.assertEqual(all_send_command, command_list[1])
                # self.assertEqual(task_manage, command_list[2])
                self.assertEqual(comm_manager, command_list[3])
                self.assertEqual(0, len(working_mode_list))

            elif command_status == False and working_mode_status == True:
                self.assertEqual(comm_manager, command_list[0])
                self.assertEqual(working_mode, working_mode_list[0])
                self.assertEqual(all_working_mode, working_mode_list[1])
                self.assertEqual(template_manage, working_mode_list[2])
                self.assertEqual(working_mode_task_manage, working_mode_list[3])
                self.assertEqual(working_mode_manage, working_mode_list[4])

            # 退出登录
            sleep(1)
            self.log_in_base.click_account_center_button()
            sleep(2)
            self.account_center_page_navi_bar.usr_logout()
            break
        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()
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 TestCase29AccountCenterVisualAccountException(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.visual_account_page = AccountCenterVisualAccountPage(
            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.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def test_visual_account_exception(self):
        '''虚拟账户管理,异常错误提示'''

        # 登录
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        # 进入虚拟账户管理
        self.visual_account_page.enter_visual_account()
        # 点击添加
        self.visual_account_page.click_add_button()

        csv_file = self.account_center_page_read_csv.read_csv(
            'visual_account_exception.csv')
        csv_data = csv.reader(csv_file)
        for row in csv_data:
            data = {
                "name": row[0],
                "new_password": row[1],
                "new_password2": row[2],
                "name_prompt": row[3],
                "new_pwd_prompt": row[4],
                "new_pwd2_prompt": row[5]
            }
            # 虚拟账号添加与编辑方法
            prompt = self.visual_account_page.get_visu_account_error_prompt(
                "add", data["new_password"], data["new_password2"],
                data["name"])
            self.assertEqual(data["name_prompt"], prompt["name_error_prompt"],
                             "虚拟账号,登陆名称错误提示语显示不一致")

            self.assertEqual(data["new_pwd_prompt"],
                             prompt["pwd_error_prompt"], "虚拟账号,密码错误提示语显示不一致")

            self.assertEqual(data["new_pwd2_prompt"],
                             prompt["pwd2_error_prompt"],
                             "虚拟账号,确认密码错误提示语显示不一致")

        # 验证密码输入长度
        self.assertEqual(
            16, self.visual_account_page.get_visual_add_and_edit_len(),
            "密码限制长度显示不一致")
        # 点取消
        self.visual_account_page.dis_save_add_info()
        csv_file.close()
        self.driver.wait(1)
        # 退出登录
        # self.account_center_page_navi_bar.usr_logout()

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