Exemple #1
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 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()
Exemple #3
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()
Exemple #4
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 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 TestCase404CustomerManagementAddAUserWebLimit(unittest.TestCase):
    # 测试客户管理-新增用户-验证web登陆权限
    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_web_limit_verify(self):
        '''测试客户管理-web权限验证'''

        self.base_page.open_page()

        csv_file = self.cust_manage_page_read_csv.read_csv(
            'add_user_web_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],
                "web_setting": row[9],
                "app_setting": 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()
            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"])
            # 是或否勾选web和app登录权限
            web_status = self.cust_manage_basic_info_and_add_cust_page.setting_web_login_permissions(
                info["web_setting"])
            app_status = self.cust_manage_basic_info_and_add_cust_page.setting_app_login_permissions(
                info["app_setting"])
            self.assertEqual(info["web_setting"], str(web_status),
                             "勾选状态与期望不一致")
            self.assertEqual(info["app_setting"], str(app_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()

            # 没有web登录权限验证
            if web_status == False:
                self.log_in_base.log_in_with_csv(info["account"],
                                                 info["passwd"])
                self.assertEqual(self.assert_text2.login_no_permissions(),
                                 self.login_page.get_exception_text(),
                                 "没有获取到没有权限登录的提示")
            # 有web登录权限验证
            elif web_status == True:
                self.log_in_base.log_in_with_csv(info["account"],
                                                 info["passwd"])
                sleep(2)
                hello_usr = self.account_center_page_navi_bar.usr_info_account(
                )
                self.assertIn(info["account"], hello_usr, "登录成功后招呼栏账户名显示错误")
                sleep(1)
                self.log_in_base.click_account_center_button()
                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 TestCase138SafeAreaMarkPointOperation(unittest.TestCase):
    """ 围栏编辑页面搜索关联设备 """

    # author:邓肖斌
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()
        self.assert_text = AssertText()
        self.connect_sql = ConnectSql()
        self.safe_area_search_sql = SafeAreaSearchSql()

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.driver.set_window_max()
        self.log_in_base.log_in_jimitest()

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

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

        # 跳转到安全区域
        self.safe_area_page.click_control_after_click_safe_area()
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())
        # 点击围栏
        self.safe_area_page.click_select_fence_button()
        # 点击编辑
        self.safe_area_page.click_edit_fence()
        # 获取围栏名称
        fence_name = self.safe_area_page.get_fence_name_of_cur_edit()
        print("当前围栏名称为:%s" % fence_name)

        i = 0

        # 读csv
        csv_file = self.safe_area_page_read_csv.read_csv(
            'safe_area_fences_relation_dev_data.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            data = {
                "account": row[0],
                "search_type": row[1],
                "search_content": row[2]
            }

            self.safe_area_page.fences_edit_page_search_dev(data)

            # 断言
            # 连接数据库
            connect = self.connect_sql.connect_tuqiang_sql()
            # 建立游标
            cursor = connect.cursor()
            geo_id_sql = self.safe_area_search_sql.search_sql_in_test_case_138_01(
                fence_name)
            # 执行
            cursor.execute(geo_id_sql)
            geo = cursor.fetchall()
            print(geo)
            for row1 in geo:
                geo_id = {"geo_id": row1[0]}

                # 判断搜索条件
                get_sql = self.safe_area_search_sql. \
                    search_sql_in_test_case_138_02(geo_id["geo_id"], current_account, data)
                # 执行sql
                print(get_sql)
                cursor.execute(get_sql)

                current_total = cursor.fetchall()
                total_list = []
                for range1 in current_total:
                    for range2 in range1:
                        total_list.append(range2)
                total_num = len(total_list)
                web_total = self.safe_area_page.get_fence_relation_dev_num()
                i += 1
                print('第%s次查询页面的条数是:%s' % (i, web_total))
                print('第%s次查询数据库的条数为:%s' % (i, total_num))
                self.assertEqual(total_num, web_total)

            cursor.close()
            connect.close()
class TestCase7508171CustManagelDeleteAccountVerify(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.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_delete_account(self):
        '''客户管理-取消和确定删除账号操作'''

        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in_with_csv("dzltest", "jimi123")
        self.driver.wait(1)
        # 进入客户管理页面
        self.cust_manage_basic_info_and_add_cust_page.enter_cust_manage()

        # 删除有绑定或分配有设备的账号
        search_data = {
            'account': "csscgndh",
            "account_type": "",
            "info": "scybdsbhfpysbdh"
        }
        self.cust_manage_lower_account_page.add_data_to_search_account(
            search_data)
        self.assertEqual(
            search_data["info"],
            self.cust_manage_lower_account_page.get_search_result_account(),
            "搜索结果账号不一致")
        #确定删除
        self.cust_manage_lower_account_page.delete_acc()
        self.cust_manage_lower_account_page.delete_acc_ensure()
        self.assertEqual(
            self.assert_text2.cust_manage_exist_facility_cannot_del(),
            self.cust_manage_lower_account_page.get_del_status(), "删除提示不一致")
        sleep(3)

        # 删除有下级客户的账号
        account = ["csscgndh"]
        self.cust_manage_basic_info_and_add_cust_page.click_left_tree_current_user(
        )
        # 搜索账号
        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.delete_acc()
        self.cust_manage_lower_account_page.delete_acc_ensure()
        #验证有下级客户的账号
        self.assertEqual(self.assert_text2.cust_manage_exist_user_cannot_del(),
                         self.cust_manage_lower_account_page.get_del_status(),
                         "删除提示不一致")
        sleep(2)

        #取消删除后的验证
        self.cust_manage_lower_account_page.delete_acc_x()
        #退出
        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")
        self.driver.wait(1)
        hello_usr = self.account_center_page_navi_bar.hello_user_account()
        self.assertIn(account[0], hello_usr, "登录成功后招呼栏账户名显示错误")
        sleep(1)
        self.log_in_base.click_account_center_button()
        sleep(2)
        self.account_center_page_navi_bar.usr_logout()
Exemple #9
0
class TestCase37FeedbackTest(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer()
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.account_center_page_operation_log = AccountCenterOperationLogPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar2 = AccountCenterNaviBarPage2(
            self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.search_sql = SearchSql()
        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_case_feedback_test(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.log_in_base.click_account_center_button()

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

        # 选择追踪问题/轨迹问题/指令问题/功能建议/围栏问题/告警问题/我有疑问/其他
        self.account_center_page_navi_bar2.switch_to_feedback_frame()
        get_total_numbers = self.account_center_page_navi_bar2.get_total_numbers_feedback(
        )

        for n in range(get_total_numbers):
            a = self.account_center_page_navi_bar2.click_per_feedback_in_feedback_page(
                n)
            self.assertEqual('active', a)

        # 输入参数为空,点击保存
        self.account_center_page_navi_bar2.click_ensuer_button_in_feedback_page(
        )

        error_content = self.account_center_page_navi_bar2.get_error_content_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_content(),
                         error_content)
        error_contact = self.account_center_page_navi_bar2.get_error_contact_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_contact(),
                         error_contact)
        error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_phone(),
                         error_phone)

        # 输入描述内容,点击保存
        self.account_center_page_navi_bar2.input_content_after_ensuer_in_feedback_page(
            'fasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdcfasfasfdasdfasdfasdfcasdfffcasdfcasdc'
        )

        error_content = self.account_center_page_navi_bar2.get_error_content_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_contents(),
                         error_content)

        # 输入联系人,点击保存
        self.account_center_page_navi_bar2.input_contact_after_ensuer_in_feedback_page(
            'fdfasfasdfasdfaswe fbfbvdfvasdcvxzcqwefdqwerfdsac asfewqrfqwedfqwed qwefdqwef qwefcasdfc wqerrcvsa v qerfv'
        )
        error_contact = self.account_center_page_navi_bar2.get_error_contact_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_contacts(),
                         error_contact)

        # 输入联系电话,点击保存
        self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page(
            'dfadsf')
        error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_phones(),
                         error_phone)

        self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page(
            '123')
        error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_phoness(),
                         error_phone)

        self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page(
            '123123123123123123123123122312312123412412')
        error_phone = self.account_center_page_navi_bar2.get_error_phone_in_feedback(
        )
        self.assertEqual(self.assert_text.feedback_page_error_phoness(),
                         error_phone)

        # 正确选择并输入各项参数,点击保存
        self.account_center_page_navi_bar2.input_content_after_ensuer_in_feedback_page(
            '这是反馈内容')
        self.account_center_page_navi_bar2.input_contact_after_ensuer_in_feedback_page(
            '这是联系人')
        self.account_center_page_navi_bar2.input_phone_after_ensuer_in_feedback_page(
            '110110110')
        self.account_center_page_navi_bar2.click_ensuer_button_in_feedback_page(
        )
        text = self.account_center_page_navi_bar2.get_feedback_text_after_click_ensuer(
        )
        self.assertEqual(self.assert_text.feedback_page_ensuer_succeed_text(),
                         text)