class TestCase020AccountCenterMsgUnread(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_msg_center = AccountCenterMsgCenterPage(
            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.account_center_change_page = AccountCenterChangePage(
            self.driver, self.base_page)
        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_msg_unread(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        # 进入消息中心
        self.account_center_page_msg_center.enter_msg_center()
        self.driver.wait(7)
        # 进入iframe
        # self.account_center_page_msg_center.message_center_iframe()

        # 获取消息中心title
        msg_center_title = self.account_center_page_msg_center.get_msg_center_title(
        )
        # 验证消息中心title是否正确显示
        self.assertIn(
            self.assert_text.account_center_page_message_center_text(),
            msg_center_title, "消息中心title有误!")
        #退出iframe
        # self.driver.default_frame()

        # 获取左侧栏目-消息中心-x条未读
        unread_msg_num = int(
            self.account_center_page_msg_center.get_unread_msg_num())
        print(unread_msg_num)
        if unread_msg_num > 0:
            # 设置搜索条件-消息状态为“未读”,搜索出结果,统计结果列表中的未读消息共几条
            self.account_center_page_msg_center.set_search_status_unread()
            self.driver.wait(4)
            count_unread_msg_num = self.account_center_page_msg_center.get_total_unread_logs_num(
            )
            # 判断消息中心左侧栏目的未读消息与搜索结果的未读消息数量是否一致
            self.assertEqual(unread_msg_num, count_unread_msg_num,
                             "消息中心左侧栏目的未读消息与搜索结果的未读消息数量不一致")
            # self.driver.default_frame()
            # 退出登录
            # self.account_center_page_navi_bar.usr_logout()
        else:
            print("当前未读消息共:" + str(unread_msg_num) + "条!")
class TestCase07AccountCenterMsgSearch(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_operation_log = AccountCenterOperationLogPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.account_center_page_msg_center = AccountCenterMsgCenterPage(
            self.driver, self.base_url)
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.account_center_page_read_csv = AccountCenterPageReadCsv()
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql()
        self.log_in_base = LogInBaseServer(self.driver, self.base_page)
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_account_center_msg_search(self):
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()

        # self.driver.switch_to_frame('x,//*[@id="usercenterFrame"]')
        # 获取登录账号的用户名
        current_account = self.log_in_base.get_log_in_account()
        #self.driver.default_frame()

        # 进入消息中心
        self.account_center_page_msg_center.enter_msg_center()
        self.driver.wait(10)

        # 进入iframe
        # self.account_center_page_msg_center.message_center_iframe()
        # 获取消息中心title
        msg_center_title = self.account_center_page_msg_center.get_msg_center_title(
        )
        # 验证消息中心title是否正确显示
        self.assertIn(
            self.assert_text.account_center_page_message_center_text(),
            msg_center_title, "消息中心title有误!")

        csv_file = self.account_center_page_read_csv.read_csv(
            'search_massage_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 = {'imei': row[0], 'type': row[1], 'status': row[2]}
            # 搜索
            self.account_center_page_operation_log.add_data_to_search_massages(
                search_data)
            connect1 = self.connect_sql.connect_tuqiang_sql()
            # 创建数据库游标
            cur = connect1.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 row in user_relation:
                user_relation_id = {
                    "account": row[0],
                    "userId": row[1],
                    "fullParent": row[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)
                self.lower_account_tuple = tuple(lower_account_list)
            cur.close()
            connect1.close()

            connect = self.connect_sql.connect_tuqiang_sql()
            # 创建数据库游标
            cur = connect.cursor()
            get_total_sql = self.search_sql.search_massage_sql(
                self.lower_account_tuple, 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)
            print('本次查询数据库的条数为:%s' % total)
            web_total = self.account_center_page_operation_log.get_msg_number()
            print('本次查询页面的条数是:%s' % web_total)
            self.assertEqual(total, web_total)
            cur.close()
            connect.close()
        csv_file.close()
Exemple #3
0
class TestCase06AccountCenterMsgSetRead(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_msg_center = AccountCenterMsgCenterPage(
            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.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_msg_set_read(self):
        '''通过csv测试消息中心-设置消息为已读功能'''
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()
        self.account_center_page_navi_bar.click_account_center_button()
        # 进入消息中心
        self.account_center_page_msg_center.enter_msg_center()
        self.driver.wait(8)
        # 进入iframe
        # self.account_center_page_msg_center.message_center_iframe()
        # 获取消息中心title
        msg_center_title = self.account_center_page_msg_center.get_msg_center_title(
        )

        # 验证消息中心title是否正确显示
        self.assertIn(
            self.assert_text.account_center_page_message_center_text(),
            msg_center_title, "消息中心title有误!")
        # 退出iframe
        # self.driver.default_frame()

        # 获取左侧栏目-消息中心-x条未读
        unread_msg_num = int(
            self.account_center_page_msg_center.get_unread_msg_num())

        if unread_msg_num > 0:
            self.account_center_page_msg_center.message_center_iframe()
            # 设置搜索条件-消息状态为“未读”,搜索出结果,统计当前未读消息总数
            self.account_center_page_msg_center.set_search_status_unread()
            self.driver.wait(4)

            # 判断消息中心左侧栏目的未读消息与搜索结果的未读消息数量是否一致
            count_unread_msg_num = self.account_center_page_msg_center.get_total_unread_logs_num(
            )
            self.assertEqual(unread_msg_num, count_unread_msg_num,
                             "消息中心左侧栏目的未读消息与搜索结果的未读消息数量不一致")

            # 根据未读消息总数,将所有未读消息设为已读
            if 0 < count_unread_msg_num <= 10:
                # 当前页全选
                self.account_center_page_msg_center.select_current_page_all_msg(
                )

                # 获取当前页所有消息的复选框
                select_msg_list = self.account_center_page_msg_center.get_current_page_all_msg_checkbox(
                )
                print(select_msg_list)
                msg_list_len = len(select_msg_list)
                print(msg_list_len)
                # 将选中的标为已读
                self.account_center_page_msg_center.set_current_page_status_read(
                )

                # 验证操作状态是否成功
                self.driver.wait()
                status_text = self.account_center_page_msg_center.get_status_text(
                )

                self.assertIn(
                    self.assert_text.account_center_page_operation_done(),
                    status_text, "操作失败")
                self.driver.wait()

                # 设置搜索条件-消息状态为“未读”,判断未读消息列表是否为空
                self.account_center_page_msg_center.set_search_status_unread()
                no_msg_text = self.account_center_page_msg_center.get_no_msg_text(
                )
                self.driver.wait()
                self.assertIn(
                    self.assert_text.account_center_page_no_data_text(),
                    no_msg_text, "未读消息列表未清空")

            else:

                # 将所有消息全部标为已读
                self.account_center_page_msg_center.set_all_msg_status_read()

                # 验证操作状态是否成功
                self.driver.wait(1)

                status_text = self.account_center_page_msg_center.get_status_text(
                )

                self.assertIn(
                    self.assert_text.account_center_page_operation_done(),
                    status_text, "操作失败")

                # 设置搜索条件-消息状态为“未读”,判断未读消息列表是否为空
                self.account_center_page_msg_center.set_search_status_unread()
                no_msg_text = self.account_center_page_msg_center.get_no_msg_text(
                )
                self.assertIn(
                    self.assert_text.account_center_page_no_data_text(),
                    no_msg_text, "未读消息列表未清空")
                # 退出登录
                self.account_center_page_navi_bar.usr_logout()
        else:
            print("当前未读消息共:" + str(unread_msg_num) + "条!")

        self.driver.default_frame()