Example #1
0
    def get_consume_number_in_mysql(self, begin_time, end_time, account):
        data = []
        conncet_sql = ConnectSql()
        conncet = conncet_sql.connect_tuqiang_sql()
        cursor = conncet.cursor()

        massage_sql = "SELECT b.amount FROM vs_bill b INNER JOIN user_info o on b.userId = o.userId WHERE o.account = '" + account + "' and b.alarmPushType = 4 and b.creationDate BETWEEN '" + begin_time + "' and '" + end_time + "';"
        cursor.execute(massage_sql)
        massage_data = cursor.fetchall()
        data.append(massage_data[0][0])

        telephone_sql = "SELECT b.amount FROM vs_bill b INNER JOIN user_info o on b.userId = o.userId WHERE o.account = '" + account + "' and b.alarmPushType = 3 and b.creationDate BETWEEN '" + begin_time + "' and '" + end_time + "';"
        cursor.execute(telephone_sql)
        telephone_data = cursor.fetchall()
        data.append(telephone_data[0][0])

        year_card_sql = "SELECT b.imei FROM rc_recharge b INNER JOIN user_info o on b.userId = o.userId WHERE o.account = '" + account + "' and b.cardType = 1 and b.creationDate BETWEEN '" + begin_time + "' and '" + end_time + "';"
        cursor.execute(year_card_sql)
        year_card_data = cursor.fetchall()
        data.append(len(year_card_data))

        life_card_sql = "SELECT b.imei FROM rc_recharge b INNER JOIN user_info o on b.userId = o.userId WHERE o.account = '" + account + "' and b.cardType = 2 and b.creationDate BETWEEN '" + begin_time + "' and '" + end_time + "';"
        cursor.execute(life_card_sql)
        life_card_data = cursor.fetchall()
        data.append(len(life_card_data))

        cursor.close()
        conncet.close()
        return data
Example #2
0
 def get_telephone_and_massage_alarm_number_in_mysql(self, account):
     conncet_sql = ConnectSql()
     conncet = conncet_sql.connect_tuqiang_sql()
     cursor = conncet.cursor()
     sql = "SELECT v.phoneRecord,v.infoRecord FROM rc_recharge_card_stock v INNER JOIN user_info u on v.userId = u.userId WHERE u.account = '%s';" % account
     cursor.execute(sql)
     data = cursor.fetchall()
     cursor.close()
     conncet.close()
     return data
Example #3
0
 def get_year_and_life_card_number_in_mysql(self, account):
     conncet_sql = ConnectSql()
     conncet = conncet_sql.connect_tuqiang_sql()
     cursor = conncet.cursor()
     sql = "SELECT v.yearCard,v.lifetimeCard FROM rc_recharge_card_stock v INNER JOIN user_info u on v.userId = u.userId WHERE u.account = '%s';" % account
     cursor.execute(sql)
     data = cursor.fetchall()
     cursor.close()
     conncet.close()
     return data
Example #4
0
 def get_dev_name_in_sql(self, param):
     connect_sql = ConnectSql()
     connect = connect_sql.connect_tuqiang_sql()
     cousor = connect.cursor()
     sql = "SELECT deviceName FROM equipment_mostly WHERE imei = '%s';" % param
     cousor.execute(sql)
     dev_name = cousor.fetchall()[0][0]
     cousor.close()
     connect.close()
     return dev_name
Example #5
0
class TestCase70CustManageCustSearch(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.connect_sql = ConnectSql()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

    def test_cust_manage_add_cust_search(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()

        # 添加客户名称、账号,点击保存
        self.cust_manage_basic_info_and_add_cust_page.add_account_name("虚拟账号")
        self.cust_manage_basic_info_and_add_cust_page.add_account(
            "xnzh_dzl022")
        self.cust_manage_basic_info_and_add_cust_page.acc_add_save()

        connect = self.connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        get_account_sql = "select account from user_info where account = 'xnzh_dzl022';"
        cursor.execute(get_account_sql)
        user = cursor.fetchall()
        print(user)
        print(len(user))
        self.assertEqual(0, len(user), "添加普通账号时,可成功添加虚拟账户")

    def tearDown(self):
        self.driver.quit_browser()
 def get_sql_total_after_click_search_risk_share(self, data):
     connect_sql = ConnectSql()
     connect = connect_sql.connect_tuqiang_sql()
     cursor = connect.cursor()
     sql = "SELECT t.id FROM t_share_area t WHERE t.name LIKE '%" + data['risk_name'] + "%';"
     print(sql)
     cursor.execute(sql)
     sql_data = cursor.fetchall()
     cursor.close()
     connect.close()
     return len(sql_data)
    def get_command_imei_user_account(self, command_imei):
        connect_sql = ConnectSql()
        connect = connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()

        sql = "SELECT e.account FROM equipment_mostly e WHERE e.imei = '%s';" % command_imei
        cursor.execute(sql)
        data = cursor.fetchall()

        cursor.close()
        connect.close()
        return data[0][0]
Example #8
0
 def get_dev_user_name(self):
     connect_sql = ConnectSql()
     connect = connect_sql.connect_tuqiang_sql()
     cursor = connect.cursor()
     sql = "SELECT o.nickName FROM equipment_mostly m INNER JOIN user_info o on m.userId = o.userId WHERE m.imei = %s;" % self.get_imei(
     )
     cursor.execute(sql)
     data = cursor.fetchall()
     user_name = data[0][0]
     cursor.close()
     connect.close()
     return user_name
 def get_sql_total_after_click_search(self, data, account):
     connect_sql = ConnectSql()
     connect = connect_sql.connect_tuqiang_sql()
     cursor = connect.cursor()
     sql = "SELECT o.id FROM geozone_info o INNER JOIN user_info u on o.userid = u.userId WHERE u.account = '" + account + "'"
     if data['defence_name'] != '':
         sql += " and o.geoname like '%" + data['defence_name'] + "%'"
     sql += ";"
     print(sql)
     cursor.execute(sql)
     sql_data = cursor.fetchall()
     cursor.close()
     connect.close()
     return len(sql_data)
 def get_account_info(self, user_account):
     # 获取当前登录账号的客户信息
     connect_sql = ConnectSql()
     connect = connect_sql.connect_tuqiang_sql()
     cursor = connect.cursor()
     sql = "SELECT o.nickName,o.phone,o.email FROM user_info o WHERE o.account = '%s';" % user_account
     cursor.execute(sql)
     data = cursor.fetchall()
     data_list = []
     for range in data:
         for range1 in range:
             data_list.append(range1)
     cursor.close()
     connect.close()
     return data_list
    def search_current_account_data(self, user_account):
        connect_sql = ConnectSql()
        connect = connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()

        get_user_id_sql = "select u.userId,u.account,u.type from user_info u where u.account = '%s';" % user_account
        cursor.execute(get_user_id_sql)
        user_data_list = cursor.fetchall()

        list_data = []
        for range1 in user_data_list:
            for range2 in range1:
                list_data.append(range2)
        all_data = tuple(list_data)
        cursor.close()
        connect.close()
        return all_data
Example #12
0
    def get_sql_number_after_click_search_button(self, account, search_data):
        conncet_sql = ConnectSql()
        conncet = conncet_sql.connect_tuqiang_sql()
        cursor = conncet.cursor()

        sql = "SELECT b.id FROM vs_bill b INNER JOIN user_info o on b.userId = o.userId WHERE o.account = '" + account + "'"
        if search_data['date_type'] == '今天':
            sql += " and b.creationDate BETWEEN '" + self.get_today_begin_date(
            ) + "' and '" + self.get_today_end_time() + "'"

        elif search_data['date_type'] == '本周':
            sql += " and b.creationDate BETWEEN '" + self.get_this_week_begin_time(
            ) + "' and '" + self.get_this_month_end_time() + "'"

        elif search_data['date_type'] == '本月':
            sql += " and b.creationDate BETWEEN '" + self.get_this_month_begin_time(
            ) + "' and '" + self.get_this_month_end_time() + "'"

        elif search_data['date_type'] == '上月':
            sql += " and b.creationDate BETWEEN '" + self.get_last_month_begin_time(
            ) + "' and '" + self.get_last_month_end_time() + "'"

        elif search_data['date_type'] == '自定义':
            sql += " and b.creationDate BETWEEN '" + search_data[
                'begin_time'] + "' and '" + search_data['end_time'] + "'"

        if search_data['imei'] != '':
            sql += " and b.imei like '%" + search_data['imei'] + "%'"

        if search_data['telephone'] != '':
            sql += " and b.phone like '%" + search_data['telephone'] + "%'"

        if search_data['alarm_type'] != '':
            sql += " and b.alarmPushType = '" + search_data['alarm_type'] + "'"

        if search_data['result'] != '':
            sql += " and b.status = '" + search_data['result'] + "'"

        sql += ";"
        print(sql)
        cursor.execute(sql)
        data = cursor.fetchall()
        cursor.close()
        conncet.close()
        return len(data)
Example #13
0
    def get_sql_number_after_click_order_manage_search_button(
            self, account, search_data):
        begin_time = self.driver.get_element(
            'x,//*[@id="startTime_order"]').get_attribute('value')
        end_time = self.driver.get_element(
            'x,//*[@id="endTime_order"]').get_attribute('value')
        conncet_sql = ConnectSql()
        conncet = conncet_sql.connect_tuqiang_sql()
        cursor = conncet.cursor()

        sql = "SELECT t.id FROM t_order t INNER JOIN user_info u on t.createBy = u.userId WHERE u.account = '%s'" % account

        if search_data['date_type'] == '创建时间':
            sql += " and t.createDate BETWEEN '" + begin_time + "' and '" + end_time + "'"

        if search_data['date_type'] == '支付时间':
            sql += " and t.transPayTime BETWEEN '" + begin_time + "' and '" + end_time + "'"

        if search_data['goods_name'] != '':
            sql += " and t.productName LIKE '%" + search_data[
                'goods_name'] + "%'"

        if search_data['order_id'] != '':
            sql += " and t.orderNo LIKE '%" + search_data['order_id'] + "%'"

        if search_data['order_type'] != '':
            sql += " and t.orderType = '%s'" % search_data['order_type']

        if search_data['is_order'] != '':
            sql += " and t.payStatus = '%s'" % search_data['is_order']

        if search_data['is_pay'] != '':
            sql += " and t.payType = '%s' and t.payStatus = '1'" % search_data[
                'is_pay']

        sql += ";"
        print(sql)
        cursor.execute(sql)
        data = cursor.fetchall()
        cursor.close()
        conncet.close()
        return len(data)
Example #14
0
    def get_sql_number_after_click_massage_and_telephone_alarm_set_search_button(
            self, account, search_data):
        conncet_sql = ConnectSql()
        conncet = conncet_sql.connect_tuqiang_sql()
        cursor = conncet.cursor()

        sql = "SELECT t.id FROM vs_alarm_set t INNER JOIN user_info u on t.createdBy = u.userId WHERE u.account = '%s'" % account

        if search_data['alarm_name'] != '':
            sql += " and t.alarmSetName like '%" + search_data[
                'alarm_name'] + "%'"

        if search_data['alarm_type'] != "":
            sql += " and t.alarmPushType = '%s'" % search_data['alarm_type']

        sql += ";"
        print(sql)
        cursor.execute(sql)
        data = cursor.fetchall()
        cursor.close()
        conncet.close()
        return len(data)
    def get_sql_total_search_center_massage(self, search_data, all_user_id):
        connect_sql = ConnectSql()
        connect = connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        sql = "SELECT u.id FROM user_message u WHERE u.userId in %s" % str(
            all_user_id)
        ###########################################################

        if search_data['imei'] != "":
            sql += " and u.imeis = %s" % search_data['imei']

        ###########################################################

        if search_data['massage_type'] == '设备离线':
            sql += " and u.type = 2"
        elif search_data['massage_type'] == "设备到期":
            sql += " and u.type = 1"
        elif search_data['massage_type'] == '导游播报':
            sql += " and u.type = 3"
        elif search_data['massage_type'] == '电量过低':
            sql += " and u.type = 4"

        ###########################################################

        if search_data['is_read'] == '未读':
            sql += " and u.readFlag = 0"
        elif search_data['is_read'] == '已读':
            sql += " and u.readFlag = 1"

        ###########################################################
        sql += ";"
        print(sql)
        cursor.execute(sql)
        data = cursor.fetchall()
        cursor.close()
        connect.close()
        return len(data)
Example #16
0
class TestCase142SportStatisticalElectricReport(unittest.TestCase):
    '''
    电量报表
    author:zhangAo
    '''
    def setUp(self):
        # 前置条件
        # 实例化对象
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.statistical_form_page = StatisticalFormPage(
            self.driver, self.base_url)
        self.statistical_form_page_read_csv = StatisticalFormPageReadCsv()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.assert_text = AssertText()
        self.search_sql = SearchSql(self.driver, self.base_url)
        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        self.log_in_base.log_in_jimitest()

        # 登录之后点击控制台,然后点击设置
        self.statistical_form_page.click_control_after_click_statistical_form_page(
        )
        sleep(3)

    def tearDown(self):
        # 退出浏览器
        self.driver.quit_browser()

    def test_case_sport_statistical_electric_report(self):
        # 断言url
        expect_url_after_click_statistical_form = self.base_url + '/deviceReport/statisticalReport'
        self.assertEqual(
            expect_url_after_click_statistical_form,
            self.statistical_form_page.actual_url_after_statistical_form())
        # 点击里程报表
        self.statistical_form_page.click_electric_report_form_buttons()
        # 断言
        self.assertEqual(
            self.assert_text.statistical_form_electric_report(),
            self.statistical_form_page.
            actual_text_after_click_electric_report_buttons())
        # 读取查询数据
        csv_file = self.statistical_form_page_read_csv.read_csv(
            'search_electric_report_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_user': row[0],
                'electric': row[1],
                'dev_type': row[2],
                'next': row[3]
            }
            self.statistical_form_page.add_data_to_search_electric_report(
                search_data)

            all_dev = self.search_sql.search_current_account_equipment(
                search_data['search_user'])
            all_user_dev = self.search_sql.search_current_account_equipment_and_next(
                search_data['search_user'])
            connect = self.connect_sql.connect_tuqiang_sql()
            cursor = connect.cursor()
            get_electric_total_sql = self.search_sql.get_total_electric_report_sql(
                all_user_dev, all_dev, search_data)
            print(get_electric_total_sql)
            cursor.execute(get_electric_total_sql)
            get_total_number = cursor.fetchall()
            total_list = []
            for range1 in get_total_number:
                for range2 in range1:
                    total_list.append(range2)
            cursor.close()
            connect.close()
            total = len(total_list)
            web_total = self.statistical_form_page.get_web_total_electric_report(
            )
            self.assertEqual(total, web_total)
        csv_file.close()
Example #17
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()
Example #18
0
    def test_dev_manage_dev_search_by_input_data(self):
        '''测试设备管理-设备搜索-by imei'''
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()
        # 点击进入设备管理
        self.dev_manage_page.enter_dev_manage()
        self.dev_manage_page.click_more_button()

        # 车牌号输入框输入选中用户的设备车牌号包含的字符,点击搜索,点击导出
        dev_vehicle_number = '12'
        self.dev_manage_page.inpui_dev_vehicle_number_to_search(
            dev_vehicle_number)
        self.dev_manage_page.click_search_btn()
        connect_sql = ConnectSql()
        connect = connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        # 获取查询出来的条数
        number = self.dev_manage_page.get_total_page_number_in_dev_manager()
        for n in range(number):
            imei = self.dev_manage_page.get_imei_after_search(n)
            sql = "SELECT d.vehicleNumber FROM equipment_detail d WHERE d.imei = '%s';" % imei
            cursor.execute(sql)
            data = cursor.fetchall()
            vehicle_number = data[0][0]
            self.assertIn(dev_vehicle_number, vehicle_number)

        # 车牌号输入框输入选中用户的设备车牌号不包含的字符,点击搜索,点击导出
        dev_vehicle_number = '不存在的'
        self.dev_manage_page.inpui_dev_vehicle_number_to_search(
            dev_vehicle_number)
        self.dev_manage_page.click_search_btn()
        text = self.dev_manage_page.get_search_no_dev_name_text()
        self.assertIn(self.assert_text.account_center_page_no_data_texts(),
                      text)

        # 车架号输入框输入选中用户的设备车架号包含的字符,点击搜索,点击导出
        self.dev_manage_page.inpui_dev_vehicle_number_to_search('')
        dev_car_frame = '12'
        self.dev_manage_page.input_dev_car_frame_to_search(dev_car_frame)
        self.dev_manage_page.click_search_btn()
        sleep(2)
        # 获取查询出来的条数
        number = self.dev_manage_page.get_total_page_number_in_dev_manager()
        for n in range(number):
            imei = self.dev_manage_page.get_imei_after_search(n)
            sql = "SELECT d.carFrame FROM equipment_detail d WHERE d.imei = '%s';" % imei
            cursor.execute(sql)
            data = cursor.fetchall()
            vehicle_number = data[0][0]
            self.assertIn(dev_car_frame, vehicle_number)

        # 车架号输入框输入选中用户的设备车架号不包含的字符,点击搜索,点击导出
        dev_vehicle_number = '不存在的'
        self.dev_manage_page.input_dev_car_frame_to_search(dev_vehicle_number)
        self.dev_manage_page.click_search_btn()
        text = self.dev_manage_page.get_search_no_dev_name_text()
        self.assertIn(self.assert_text.account_center_page_no_data_texts(),
                      text)

        # SIM卡号输入框输入选中用户的设备车牌号包含的字符,点击搜索,点击导出
        self.dev_manage_page.input_dev_car_frame_to_search('')
        dev_sim = '12'
        self.dev_manage_page.input_dev_sim_to_search(dev_sim)
        self.dev_manage_page.click_search_btn()
        sleep(2)
        # 获取查询出来的条数
        number = self.dev_manage_page.get_total_page_number_in_dev_manager()
        for n in range(number):
            imei = self.dev_manage_page.get_imei_after_search(n)
            sql = "SELECT d.sim FROM equipment_mostly d WHERE d.imei = '%s';" % imei
            cursor.execute(sql)
            data = cursor.fetchall()
            sim_number = data[0][0]
            self.assertIn(dev_sim, sim_number)

        # SIM卡号输入框输入选中用户的设备车牌号不包含的字符,点击搜索,点击导出
        dev_sim_number = '不存在的'
        self.dev_manage_page.input_dev_sim_to_search(dev_sim_number)
        self.dev_manage_page.click_search_btn()
        text = self.dev_manage_page.get_search_no_dev_name_text()
        self.assertIn(self.assert_text.account_center_page_no_data_texts(),
                      text)

        # SN码输入框输入选中用户的设备车架号包含的字符,点击搜索,点击导出
        self.dev_manage_page.input_dev_sim_to_search('')
        dev_sn = '12'
        self.dev_manage_page.input_dev_sn_to_search(dev_sn)
        self.dev_manage_page.click_search_btn()
        sleep(2)
        # 获取查询出来的条数
        number = self.dev_manage_page.get_total_page_number_in_dev_manager()
        for n in range(number):
            imei = self.dev_manage_page.get_imei_after_search(n)
            sql = "SELECT d.sn FROM equipment_detail d WHERE d.imei = '%s';" % imei
            cursor.execute(sql)
            data = cursor.fetchall()
            sn_number = data[0][0]
            self.assertIn(dev_sn, sn_number)

        # SN码输入框输入选中用户的设备车架号不包含的字符,点击搜索,点击导出
        dev_sn_number = '不存在的'
        self.dev_manage_page.input_dev_sn_to_search(dev_sn_number)
        self.dev_manage_page.click_search_btn()
        text = self.dev_manage_page.get_search_no_dev_name_text()
        self.assertIn(self.assert_text.account_center_page_no_data_texts(),
                      text)
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()
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()
class TestCase402CustomerManagementLowerUserSearch(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.account_center_page_details = AccountCenterDetailsPage(
            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.search_sql = SearchSql()
        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_lower_user_search(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()

        # 登录
        self.log_in_base.log_in()
        # 点击账户中心
        # self.account_center_page_navi_bar.click_account_center_button()
        # current_account = self.log_in_base.get_log_in_account()

        # 进入客户管理页面
        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('acc_search.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],
                "account_type": row[1],
                "info": row[2]
            }
            print(search_data)
            sleep(1)
            self.cust_manage_lower_account_page.add_data_to_search_account(
                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 = '" + search_data[
                '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 = " + \
                                        "'" + user_relation_id["fullParent"] + user_relation_id[
                                            "userId"] + ",'" + ";"

                cur.execute(get_lower_account_sql)
                # 读取数据
                lower_account = cur.fetchall()

                print(lower_account)

                lower_account_list = []
                for range1 in lower_account:
                    for range2 in range1:
                        lower_account_list.append(range2)
                lower_account_tuple = tuple(lower_account_list)
                print(lower_account_tuple)

                get_total_sql = self.search_sql.search_account_sql(
                    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.cust_manage_lower_account_page.get_account_number(
                )
                print('本次查询页面的条数是:%s' % web_total)
                self.assertEqual(total, web_total)

            cur.close()
            connect.close()

        csv_file.close()
Example #22
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 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 TestCase83DevManageSelectIssuedCommand(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.dev_manage_page = DevManagePages(self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.dev_manage_page_read_csv = DevManagePageReadCsv()
        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_case_dev_manage_select_issued_command(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()

        # 登录
        self.log_in_base.log_in()
        # 点击进入设备管理
        self.dev_manage_page.enter_dev_manage()

        imei_in_list = self.dev_manage_page.get_imei_in_list()
        dev_type_in_list = self.dev_manage_page.get_dev_type_in_list()

        # 选中一个列表中的设备
        self.dev_manage_page.click_dev_in_list()
        # 判断是否选中
        input_value = self.dev_manage_page.check_input_value()
        self.assertEqual(True, input_value)

        # 点击选中发送指令
        self.dev_manage_page.click_select_send_command()
        # 点击关闭
        self.dev_manage_page.click_close_select_send_command()

        # 点击选中发送指令
        self.dev_manage_page.click_select_send_command()
        # 点击取消
        self.dev_manage_page.click_cancel_select_send_command()

        # 点击选中发送指令
        self.dev_manage_page.click_select_send_command()

        # 判断数量
        get_dev_number = self.dev_manage_page.get_dev_number_in_send_command()
        self.assertEqual(1, get_dev_number)

        get_dev_count = self.dev_manage_page.get_dev_count_number_in_send_command(
        )
        self.assertEqual(str(get_dev_number), get_dev_count)

        # 验证设备信息
        get_imei = self.dev_manage_page.get_imei_in_send_command()
        self.assertEqual(imei_in_list, get_imei)

        get_dev_type = self.dev_manage_page.get_dev_type_in_send_command()
        self.assertEqual(dev_type_in_list, get_dev_type)

        get_dev_user = self.dev_manage_page.get_dev_user_in_send_command()

        connect = self.connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        get_account_sql = "select o.account from equipment_mostly e inner join user_info o on e.userId = o.userId where e.imei = '%s';" % imei_in_list
        cursor.execute(get_account_sql)
        account_data = cursor.fetchall()
        account = account_data[0][0]
        cursor.close()
        connect.close()

        self.assertEqual(get_dev_user, account)

        # 点击删除设备
        self.dev_manage_page.click_detele_dev_in_send_command()

        self.dev_manage_page.click_send_command_in_send_command()
class TestCase307SetUpIssuedWorkTypeManagementSearch(unittest.TestCase):
    # 测试 设置 - 指令管理 - 下发工作模式管理页面搜索

    driver = None
    base_url = None
    base_page = None
    log_in_page = None
    command_management_page = None

    def setUp(self):
        # 前置条件
        # 实例化对象
        self.driver = AutomateDriver(choose='firefox')
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.command_management_page = CommandManagementPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.command_management_page_read_csv = CommandManagementPageReadCsv()
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql()
        self.assert_text = AssertText()

        # 打开页面,填写用户名、密码、点击登录
        self.base_page.open_page()
        self.driver.set_window_max()
        self.driver.implicitly_wait(5)
        self.driver.clear_cookies()

        self.log_in_base.log_in_jimitest()
        self.log_in_base.click_account_center_button()
        self.current_account = self.log_in_base.get_log_in_account()

        # 登录之后点击控制台,然后点击指令管理
        self.command_management_page.click_control_after_click_command_management(
        )
        sleep(3)

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

    def test_case_set_up_issued_work_type_management_search(self):
        # 断言url
        expect_url_after_click_command_management = self.base_url + '/custom/toTemplate'
        self.assertEqual(
            expect_url_after_click_command_management,
            self.command_management_page.actual_url_click_command_management())
        # 断言左侧列表的title文本
        expect_title_text_after_click_command_management = self.assert_text.command_manager_page_command_type(
        )
        self.assertEqual(
            expect_title_text_after_click_command_management,
            self.command_management_page.
            actual_title_text_after_click_command_management())
        # 点击下发工作模式管理
        self.command_management_page.click_lift_list(
            'issued_work_type_management')
        # 断言
        expect_title_text_click_issued_work_type = self.assert_text.command_manager_page_issued_work_type(
        )
        self.assertEqual(
            expect_title_text_click_issued_work_type,
            self.command_management_page.actual_text_click_look_equipment())

        # 读取数据
        csv_file = self.command_management_page_read_csv.read_csv(
            'issused_work_template.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            search_data = {
                'batch': row[0],
                'execute_state': row[1],
                'state': row[2],
                'imei': row[3]
            }

            # 传入数据
            self.command_management_page.add_data_to_search(search_data)

            # 创建数据库连接
            connect = self.connect_sql.connect_tuqiang_sql()
            # 创建游标
            cursor = connect.cursor()
            # 获取登录账号的ID
            get_current_user_id_sql = \
                "select o.account,o.userId from user_info o where o.account = '" + self.current_account + "';"
            cursor.execute(get_current_user_id_sql)
            user_relation = cursor.fetchall()
            for row1 in user_relation:
                user_id = {'user_account': row1[0], 'user_id': row1[1]}

                # 查询数据库有多少条记录
                get_total_count_sql = self.search_sql.search_issued_work_template_sql(
                    user_id['user_id'], search_data)
                print(get_total_count_sql)
                cursor.execute(get_total_count_sql)
                current_total = cursor.fetchall()
                total_list = []
                for range1 in current_total:
                    for range2 in range1:
                        total_list.append(range2)
                total = len(total_list)
                web_total = self.command_management_page.search_total_number_issued_work_type(
                )
                self.assertEqual(total, web_total)

            cursor.close()
            connect.close()
        csv_file.close()
class TestCase100GlobAccountSearch(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.global_dev_search_page = GlobalDevSearchPage(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPages(self.driver, self.base_url)
        self.driver.set_window_max()
        self.global_account_search_page = GlobalAccountSearchPage(self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.global_search_page_read_csv = GlobleSearchPageReadCsv()
        self.search_sql = SearchSql()
        self.driver.wait(1)
        self.connect_sql = ConnectSql()
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_global_account_search(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.global_dev_search_page.click_easy_search()
        # 关闭
        self.global_dev_search_page.close_search()
        sleep(2)

        self.global_dev_search_page.click_easy_search()
        # self.global_dev_search_page.click_account_search()

        # 度数据
        csv_file = self.global_search_page_read_csv.read_csv('global_search_account_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_info': row[0]
            }
            self.global_dev_search_page.swith_to_search_frame()
            self.global_dev_search_page.account_easy_search(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 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)
                lower_account_tuple = tuple(lower_account_list)

                get_total_sql = self.search_sql.search_account_sqls(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.global_account_search_page.easy_search_results()
                print('本次查询页面的条数是:%s' % web_total)
                self.assertEqual(total, web_total)
                self.driver.default_frame()
            cur.close()
            connect.close()

        csv_file.close()
        self.global_dev_search_page.close_search()
Example #27
0
class TestCase131MarkOperation(unittest.TestCase):
    """ web_autotest账号,标注点页面操作 """

    # author:邓肖斌

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

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

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

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

        self.safe_area_page.click_mark_button()
        sleep(2)

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

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

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

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

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

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

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

        # 点击关闭
        self.safe_area_page.click_delete_button_in_list()
        self.safe_area_page.click_close_detele_button()
Example #28
0
class TestCase75DevManageDevComplexSearch(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.dev_manage_page = DevManagePages(self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPages(
            self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.dev_manage_page_read_csv = DevManagePageReadCsv()
        self.connect_sql = ConnectSql()
        self.search_sql = SearchSql()
        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_dev_manage_dev_complex_search(self):
        '''测试设备管理-设备搜索-by imei+设备名称+设备型号+车牌号+车架号+SIM'''

        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()
        self.dev_manage_page.click_account_center_button()
        current_account = self.log_in_base.get_log_in_account()

        self.dev_manage_page.enter_dev_manage()
        self.dev_manage_page.click_more_button()

        csv_file = self.dev_manage_page_read_csv.read_csv(
            'dev_search_info.csv')
        csv_data = csv.reader(csv_file)
        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            search_data = {
                'dev_name': row[0],
                'dev_type': row[1],
                'past_due': row[2],
                'plate_numbers': row[3],
                'frame_number': row[4],
                'sim': row[5],
                'active': row[6],
                'choose_time': row[7],
                'begin_time': row[8],
                'end_time': row[9],
                'next': row[10],
                'band_status': row[11],
                'dev_mold': row[12],
                'dev_group': row[13],
                'sn': row[14]
            }
            self.dev_manage_page.add_data_to_search_dev(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 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)
                lower_account_tuple = tuple(lower_account_list)
                get_total_sql = self.search_sql.search_dev_sql(
                    user_relation_id['userId'], 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.dev_manage_page.get_dev_number()
                print('本次查询页面的条数是:%s' % web_total)
                self.assertEqual(total, web_total)

            cur.close()
            connect.close()
        csv_file.close()
Example #29
0
class TestCase57CustManageCheckAccount(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriverServer(choose='chrome')
        self.base_url = self.driver.base_url
        self.base_page = BasePageServer(self.driver, self.base_url)
        self.login_page = LoginPage(self.driver, self.base_url)
        self.cust_manage_basic_info_and_add_cust_page = CustManageBasicInfoAndAddCustPage(
            self.driver, self.base_url)
        self.cust_manage_cust_list_page = CustManageCustListPage(
            self.driver, self.base_url)
        self.cust_manage_my_dev_page = CustManageMyDevPage(
            self.driver, self.base_url)
        self.cust_manage_lower_account_page = CustManageLowerAccountPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPage(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.log_in_base = LogInBaseServer(self.driver, self.base_url)
        self.connect_sql = ConnectSql()
        self.cust_manage_page_read_csv = CustManagePageReadCsv()
        self.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

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

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

        # 登录
        self.log_in_base.log_in()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                # 断言账号类型
                cursor_02.close()
                connect_02.close()
            cursor.close()
            connect.close()
        csv_file.close()
Example #30
0
class TestCase108GlobSearchUserDetail(unittest.TestCase):
    def setUp(self):
        self.driver = AutomateDriver()
        self.base_url = self.driver.base_url
        self.base_page = BasePage(self.driver, self.base_url)
        self.global_dev_search_page = GlobalDevSearchPage(
            self.driver, self.base_url)
        self.account_center_page_navi_bar = AccountCenterNaviBarPages(
            self.driver, self.base_url)
        self.driver.set_window_max()
        self.global_account_search_page = GlobalAccountSearchPage(
            self.driver, self.base_url)
        self.log_in_base = LogInBase(self.driver, self.base_url)
        self.global_search_page_read_csv = GlobleSearchPageReadCsv()
        self.search_sql = SearchSql()
        self.driver.wait(1)
        self.connect_sql = ConnectSql()
        self.assert_text = AssertText()
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_case_global_search_user_detail(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.log_in_base.click_account_center_button()
        self.global_dev_search_page.click_easy_search()
        # 关闭
        self.global_dev_search_page.close_search()
        sleep(2)

        self.global_dev_search_page.click_easy_search()

        # 选择用户搜索
        self.global_dev_search_page.click_account_search()
        # self.global_dev_search_page.click_search_buttons()

        user_name = self.global_dev_search_page.get_user_name_in_user_search()
        user_type = self.global_dev_search_page.get_user_type_in_user_search()
        user_account = self.global_dev_search_page.get_user_account_in_user_search(
        )
        # 点用户详情
        self.global_dev_search_page.click_detail_in_user_search()

        # 用户信息
        self.global_dev_search_page.click_user_info_in_user_detail()
        # 获取用户信息中用户名称,用户类型、用户账号、上级用户
        user_name_in_detail = self.global_dev_search_page.get_user_name_in_detail(
        )
        self.assertIn(user_name, user_name_in_detail)

        # user_type_in_detail = self.global_dev_search_page.get_user_type_in_detail()
        # self.assertEqual(user_type, user_type_in_detail)

        uesr_account_in_detail = self.global_dev_search_page.get_user_account_in_detail(
        )
        self.assertEqual(user_account, uesr_account_in_detail)
        user_account_input_value = self.global_dev_search_page.get_user_account_input_value_in_detail(
        )
        self.assertEqual('true', user_account_input_value)

        get_up_user_name = self.global_dev_search_page.get_up_user_name_in_detail(
        )
        get_up_user_input_value = self.global_dev_search_page.get_up_user_input_value_in_detail(
        )
        self.assertEqual('true', get_up_user_input_value)

        # 查询选中用户的上级
        connect = self.connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        get_up_account_sql = "select parentId from user_info where account = '%s';" % user_account
        cursor.execute(get_up_account_sql)
        get_up_account = cursor.fetchall()
        up_account_id = get_up_account[0][0]
        get_up_name_sql = "select nickName from user_info where userId = '%s';" % up_account_id
        cursor.execute(get_up_name_sql)
        get_up_name = cursor.fetchall()
        up_account = get_up_name[0][0]
        cursor.close()
        connect.close()
        self.assertEqual(get_up_user_name, up_account)

        # 验证右侧的客户数是否可以搜索
        # 搜索没有的数据
        text = self.global_dev_search_page.search_user_in_user_info('无数据')
        self.assertIn(self.assert_text.account_center_page_no_data_text(),
                      text)

        # 循环点击五次
        for n in range(5):
            self.global_dev_search_page.swith_to_search_frame()
            self.driver.click_element(
                'x,//*[@id="complex_userInfo_tree_complexUpdate_%s_a"]' %
                str(n + 15))
            get_up_user_name = self.global_dev_search_page.get_up_user_name_in_details(
            )
            select_up_name = self.driver.get_text(
                'x,//*[@id="complex_userInfo_tree_complexUpdate_%s_span"]' %
                str(n + 15))
            # self.assertEqual(get_up_user_name, select_up_name)
            sleep(2)
            self.driver.default_frame()

        # 点击销售设备
        self.global_dev_search_page.click_sale_dev_in_user_info()
        # 获取销售的对象
        sale_user_name = self.global_dev_search_page.get_sale_user_name()
        self.assertEqual(user_name, sale_user_name)

        # 点击新增客户
        self.global_dev_search_page.click_add_user_in_user_info()
        # 获取新增客户默认的上级
        up_user_in_add_user = self.global_dev_search_page.get_up_user_in_add_user(
        )
        self.assertIn(user_name, up_user_in_add_user)

        # 验证账号
        # 为空
        self.global_dev_search_page.check_add_user_account_input_in_user_info(
            '')
        self.global_dev_search_page.click_save_add_user()
        text = self.global_dev_search_page.get_text_account_input_expertion()
        self.assertEqual(self.assert_text.cust_page_user_account_not_null(),
                         text)

        # 小于3位
        self.global_dev_search_page.check_add_user_account_input_in_user_info(
            '12')
        self.global_dev_search_page.click_save_add_user()
        text = self.global_dev_search_page.get_text_account_input_expertion()
        self.assertEqual(self.assert_text.cust_page_user_account_len(), text)

        # 验证最大长度
        get_user_account_input_max_len = self.global_dev_search_page.get_user_account_input_max_len(
        )
        self.assertEqual('30', get_user_account_input_max_len)

        # 验证客户名称
        # 为空
        self.global_dev_search_page.check_add_user_name_input_in_user_info('')
        self.global_dev_search_page.click_save_add_user()
        text = self.global_dev_search_page.get_text_name_input_expertion()
        self.assertEqual(self.assert_text.cust_page_user_name_not_null(), text)

        # 小于3位
        self.global_dev_search_page.check_add_user_name_input_in_user_info(
            '12')
        self.global_dev_search_page.click_save_add_user()
        text = self.global_dev_search_page.get_text_name_input_expertion()
        self.assertEqual(self.assert_text.cust_page_user_name_more_than_3s(),
                         text)

        # 密码
        # 为空
        self.global_dev_search_page.click_add_user_password_first_input_in_user_info(
            '')
        self.global_dev_search_page.click_save_add_user()
        get_first_password_text = self.global_dev_search_page.get_first_password_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_not_nulls(),
                         get_first_password_text)

        # 小于6位
        self.global_dev_search_page.click_add_user_password_first_input_in_user_info(
            '12qw')
        self.global_dev_search_page.click_add_user_password_second_input_in_user_info(
            '12qw')
        self.global_dev_search_page.click_save_add_user()
        get_first_password_text = self.global_dev_search_page.get_first_password_text(
        )
        self.assertEqual(self.assert_text.cust_page_user_password_len(),
                         get_first_password_text)

        # 全数字
        self.global_dev_search_page.click_add_user_password_first_input_in_user_info(
            '121212')
        self.global_dev_search_page.click_add_user_password_second_input_in_user_info(
            '121212')
        self.global_dev_search_page.click_save_add_user()
        get_first_password_text = self.global_dev_search_page.get_first_password_text(
        )
        self.assertEqual(
            self.assert_text.account_center_page_password_formart_text(),
            get_first_password_text)

        # 全字母
        self.global_dev_search_page.click_add_user_password_first_input_in_user_info(
            'qwerqw')
        self.global_dev_search_page.click_add_user_password_second_input_in_user_info(
            'qwerqw')
        self.global_dev_search_page.click_save_add_user()
        get_first_password_text = self.global_dev_search_page.get_first_password_text(
        )
        self.assertEqual(
            self.assert_text.account_center_page_password_formart_text(),
            get_first_password_text)
        # 两次密码不一致
        self.global_dev_search_page.click_add_user_password_first_input_in_user_info(
            'qwerqw123')
        self.global_dev_search_page.click_add_user_password_second_input_in_user_info(
            'qwerqw2324')
        self.global_dev_search_page.click_save_add_user()
        get_second_password_text = self.global_dev_search_page.get_second_password_text(
        )
        self.assertEqual(self.assert_text.cust_page_password_unlike(),
                         get_second_password_text)