class TestCase139RiskPointShare(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer()
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.driver.set_window_max()
        self.assert_text = AssertText()
        self.log_in_base.log_in_jimitest()
        self.connect_sql = ConnectSql()
        self.search_sql = SafeAreaSearchSql()
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()

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

    def test_case_139_risk_point_share(self):
        # 点击账号中心
        sleep(5)
        self.safe_area_page.click_account_center()
        # 获取登录账号
        account = self.log_in_base.get_log_in_account()
        # 断言url
        self.safe_area_page.click_control_after_click_safe_area()
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        self.safe_area_page.click_risk_point_share_button()
        csv_file = self.safe_area_page_read_csv.read_csv(
            'risk_point_share.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            data = {'risk_name': row[0]}
            self.safe_area_page.add_data_to_search_risk_point_in_safe_area(
                data)
            # 获取查询出来的页面条数
            web_total = self.safe_area_page.get_web_total_after_click_search_risk_share(
            )
            sql_total = self.safe_area_page.get_sql_total_after_click_search_risk_share(
                data)
            self.assertEqual(web_total, sql_total)
        csv_file.close()
Пример #2
0
class TestCase132MarkPaging(unittest.TestCase):
    """ web_autotest账号,标注点页面分页功能 """

    # author:邓肖斌

    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.driver.set_window_max()
        self.log_in_base.log_in()
        self.safe_area_page.click_control_after_click_safe_area()
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()

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

    def test_case_mark_paging(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        self.safe_area_page.click_mark_button()
        sleep(2)

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

            # 点击尾页
            self.safe_area_page.click_last_page_mark()
            self.assertEqual(self.safe_area_page.get_current_page_number_mark(),
                             self.safe_area_page.get_total_page_number_mark())
            # 点击首页
            self.safe_area_page.clcik_first_page_mark()
            self.assertEqual('1', self.safe_area_page.get_current_page_number_mark())
Пример #3
0
class TestCase131MarkOperation(unittest.TestCase):
    """ web_autotest账号,标注点页面操作 """

    # author:邓肖斌

    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.driver.set_window_max()
        self.log_in_base.log_in()
        self.safe_area_page.click_control_after_click_safe_area()
        self.safe_area_page_read_csv = SafeAreaPageReadCsv()
        self.assert_text = AssertText()
        self.connect_sql = ConnectSql()
        self.search_sql = SafeAreaSearchSql()

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

    def test_case_mark_operation(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        self.safe_area_page.click_mark_button()
        sleep(2)

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

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

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

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

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

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

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

        # 点击关闭
        self.safe_area_page.click_delete_button_in_list()
        self.safe_area_page.click_close_detele_button()
class TestCase136SafeAreaRelevance(unittest.TestCase):
    """ jimitest账号,围栏关联设备 """

    # author:邓肖斌

    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.log_in_base.log_in_jimitest()
        self.safe_area_page.click_control_after_click_safe_area()

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

    def test_case_safe_area_relevance(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        # 选择围栏
        self.safe_area_page.click_select_fence_button()
        # 点击关联
        self.safe_area_page.click_relevance_button()
        # 获取当前围栏关联的设备总数
        dev_num = self.safe_area_page.get_total_num_of_dev_relation_fences()
        # 获取实际条数
        cur_num = self.safe_area_page.get_all_num_of_dev_relation_fences()
        # 关闭
        self.safe_area_page.click_close()
        self.assertEqual(dev_num, cur_num)

        # 点击关联
        self.safe_area_page.click_relevance_button()
        # 取消
        self.safe_area_page.click_cancel_edit()

        # 点击关联
        self.safe_area_page.click_relevance_button()
        # 循环点击左侧的客户树
        for n in range(5):
            self.safe_area_page.click_customer(n)
            # 获取右侧暂无数据的属性
            attribute = self.safe_area_page.get_no_data_attribute()
            if 'display: none;' in attribute:
                text = self.safe_area_page.get_text_no_data()
                self.assertIn(self.assert_text.account_center_page_no_data_text(), text)
            else:
                # 点击收起默认组
                self.safe_area_page.click_close_default_group()
                group_number = self.safe_area_page.get_total_group()
                for m in range(group_number):
                    # 点击每一个分组
                    group_total_dev = self.safe_area_page.get_total_dev_in_per_group(m)
                    self.safe_area_page.click_open_per_group(m)
                    list_total_dev = self.safe_area_page.get_list_dev_in_per_group(m)
                    self.assertEqual(group_total_dev, str(list_total_dev))
                    self.safe_area_page.click_open_per_group(m)

        # 验证已选中的设备数量和统计的是否一致
        count_dev_number = self.safe_area_page.get_count_dev_number()
        get_list_total_number = self.safe_area_page.get_list_total_number()
        self.assertEqual(str(get_list_total_number), count_dev_number)
class TestCase137SafeAreaMarkPointException(unittest.TestCase):
    """ jimitest账号,标注点分页功能
    author:邓肖斌
    """
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

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

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

    def test_case_safe_area_mark_point_exception(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())
        # 点击标注点
        self.safe_area_page.click_mark_button()

        # 循环点击下一页
        page_number = self.safe_area_page.get_total_page_num_mark_page()
        if page_number == '0':
            text = self.safe_area_page.get_page_in_mark_page()
            self.assertEqual('0/0', text)
        elif page_number == '1':
            text = self.safe_area_page.get_page_in_mark_page()
            self.assertEqual('1/1', text)

            # 点击下一页
            self.safe_area_page.click_next_page_in_mark_page()
            # 获取最后一页数量
            number = self.safe_area_page.get_per_number_in_mark_page()
            self.assertNotEqual(0, number)

            # 点击上一页
            self.safe_area_page.click_ago_page_in_mark_page()
            number = self.safe_area_page.get_per_number_in_mark_page()
            self.assertNotEqual(0, number)
        else:
            for n in range(int(page_number)):
                text = self.safe_area_page.get_page_in_mark_page()
                self.assertEqual('%s/%s' % (str(n + 1), page_number), text)
                self.safe_area_page.click_next_page_in_mark_page()
            # 点击下一页
            self.safe_area_page.click_next_page_in_mark_page()
            # 获取最后一页数量
            number = self.safe_area_page.get_per_number_in_mark_page()
            self.assertNotEqual(0, number)

            for n in range(int(page_number)):
                text = self.safe_area_page.get_page_in_mark_page()
                self.assertEqual(
                    '%s/%s' % (str(int(page_number) - n), page_number), text)
                self.safe_area_page.click_ago_page_in_mark_page()

            # 点击上一页
            self.safe_area_page.click_ago_page_in_mark_page()
            number = self.safe_area_page.get_per_number_in_mark_page()
            self.assertNotEqual(0, number)
class TestCase138SafeAreaMarkPointOperation(unittest.TestCase):
    """ 围栏编辑页面搜索关联设备 """

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

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

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

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

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

        i = 0

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

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

            self.safe_area_page.fences_edit_page_search_dev(data)

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

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

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

            cursor.close()
            connect.close()
Пример #7
0
class TestCase135SafeAreaExpertion(unittest.TestCase):
    """ web_autotest账号,选择单个区域右侧编辑操作 """

    # author:邓肖斌

    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.assert_text = AssertText()
        self.driver.set_window_max()
        self.log_in_base.log_in()
        self.safe_area_page.click_control_after_click_safe_area()

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

    def test_case_safe_area_expertion(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        # 点击删除按钮
        self.safe_area_page.click_delete_button()
        text = self.safe_area_page.get_text_after_click_delete()
        self.assertEqual(
            self.assert_text.safe_area_page_choose_delete_content(), text)
        self.safe_area_page.click_ensure()

        self.safe_area_page.click_delete_button()
        text = self.safe_area_page.get_text_after_click_delete()
        self.assertEqual(
            self.assert_text.safe_area_page_choose_delete_content(), text)
        self.safe_area_page.click_close()

        # 点击新建
        self.safe_area_page.click_creat_map()
        # 获取文本
        text = self.safe_area_page.get_text_after_create_map()
        self.assertEqual(self.assert_text.safe_area_page_map_text(), text)

        # 选择黑车库操作
        self.safe_area_page.click_select_black_address_button()
        # 获取列表第一个的名称
        black_address_name = self.safe_area_page.get_first_list_black_address_name(
        )
        # 点击编辑
        self.safe_area_page.click_edit_black_address()
        # 获取打开编辑之后的黑车地址库名字
        name = self.safe_area_page.get_black_address_after_click_edit()
        self.assertEqual(black_address_name, name)
        # 验证黑车库的按钮是否被选中
        black_address_value = self.safe_area_page.get_black_address_input_value(
        )
        self.assertEqual(True, black_address_value)
        # 点击取消
        self.safe_area_page.click_cancel_edit()

        # 点击编辑
        self.safe_area_page.click_edit_black_address()
        # 获取打开编辑之后的黑车地址库名字
        name = self.safe_area_page.get_black_address_after_click_edit()
        self.assertEqual(black_address_name, name)
        # 验证黑车库的按钮是否被选中
        black_address_value = self.safe_area_page.get_black_address_input_value(
        )
        self.assertEqual(True, black_address_value)
        # 点击保存
        self.safe_area_page.click_ensure()
        # 获取保存后的文本
        text = self.safe_area_page.get_text_after_ensure()
        print(self.assert_text.account_center_page_operation_done())
        print(text)
        self.assertIn(self.assert_text.account_center_page_operation_done(),
                      text)

        # 选择围栏编辑
        self.safe_area_page.click_select_fence_button()
        # 获取第一个围栏的名称
        fence_name = self.safe_area_page.get_first_list_fence_name()
        print('1 = %s' % fence_name)

        # 点击编辑
        self.safe_area_page.click_edit_fence()
        # 获取打开编辑之后的围栏名称
        names = self.safe_area_page.get_fence_name_after_edit()
        print('2 = %s' % names)
        self.assertEqual(fence_name, names)
        # 点击取消
        self.safe_area_page.click_cancel_edit()

        # 点击编辑
        self.safe_area_page.click_edit_fence()
        # 获取打开编辑之后的围栏名称
        names = self.safe_area_page.get_fence_name_after_edit()
        self.assertEqual(fence_name, names)
        # 点击取消
        self.safe_area_page.click_ensure()
        # 获取保存后的文本
        text = self.safe_area_page.get_text_after_ensure()
        self.assertIn(self.assert_text.account_center_page_operation_done(),
                      text)
class TestCase129AreaTableOperaition(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.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.safe_area_page = SafeAreaPage(self.driver, self.base_url)

        self.base_page.open_page()
        self.base_page.click_chinese_button()
        self.driver.set_window_max()
        self.assert_text = AssertText()
        self.log_in_base.log_in()
        self.safe_area_page.click_control_after_click_safe_area()
        self.connect_sql = ConnectSql()
        self.search_sql = SafeAreaSearchSql()

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

    def test_case_area_table_operaition(self):
        # 断言url
        expect_url = self.base_url + "/safearea/geozonemap?flag=0"
        self.assertEqual(expect_url, self.driver.get_current_url())

        # 点击全选按钮
        self.safe_area_page.click_all_select_button()

        # 点击删除
        self.safe_area_page.click_delete_button()
        sleep(1)
        # 点击取消删除
        self.safe_area_page.click_cancel_detele_button()

        # 点击选择围栏
        self.safe_area_page.click_select_fence_button()

        # 点击列表中的编辑
        self.safe_area_page.click_list_edit_button()
        # 获取名称
        name_text = self.safe_area_page.get_first_fence_name_text()
        # 断言
        self.assertEqual(self.assert_text.safe_area_page_edit_text(),
                         self.safe_area_page.get_text_after_click_edit())
        # 输入内容保存
        self.safe_area_page.ensure_edit_list('名称b', '描述b')
        # 获取保存之后的名称
        name_after_save = self.safe_area_page.get_first_fence_name_text()

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

        # 点击列表中的编辑
        self.safe_area_page.click_list_edit_button()
        # 输入内容保存
        self.safe_area_page.ensure_edit_list('名称a', '描述a')

        # 点击列表中的编辑
        self.safe_area_page.click_list_edit_button()
        # 断言
        self.assertEqual(self.assert_text.safe_area_page_edit_text(),
                         self.safe_area_page.get_text_after_click_edit())
        # 输入内容保存
        self.safe_area_page.click_cancel_edit()

        # 点击列表中的删除
        self.safe_area_page.click_list_delete_button()
        # 取消
        self.safe_area_page.click_cancel_detele_button()

        # 点击列表中的删除
        self.safe_area_page.click_list_delete_button()
        # 关闭
        self.safe_area_page.click_close_detele_button()

        # 点击列表中的编辑
        self.safe_area_page.click_list_edit_button()
        # 点击关联列表中的删除
        self.safe_area_page.click_del_in_fences_edit_page()
        # 获取文本
        text = self.safe_area_page.get_text_in_fence_edit_page_after_click_del(
        )
        # 断言
        self.assertEqual(text, "请选择要删除的记录")
        # 关闭
        self.safe_area_page.click_close_detele_buttons()

        cursor.close()
        connect.close()