class TestCase80DevManageSearchCustomer(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.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_case_dev_manage_search_customer(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        # 登录
        self.log_in_base.log_in()
        # 点击进入设备管理
        self.dev_manage_page.enter_dev_manage()

        # 循环点击5次
        for n in range(5):
            self.driver.click_element(
                'x,//*[@id="treeDemo_deviceManage_%s_span"]' % str(n + 2))
            sleep(2)
            # 判断数量
            get_account_dev_number = self.driver.get_text(
                'x,//*[@id="treeDemo_deviceManage_%s_span"]' % str(n + 2))
            number = get_account_dev_number.split('(')[1].split('/')[0]

            dev_number = self.dev_manage_page.get_dev_number()
            self.assertEqual(number, str(dev_number))

        # 搜索无数据
        self.dev_manage_page.search_customer('无数据')
        get_text = self.dev_manage_page.get_search_customer_no_data_text()
        self.assertIn(self.assert_text.account_center_page_no_data_text(),
                      get_text)
Пример #2
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)
class TestCase88DevManageSaleInList(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.assert_text = AssertText()
        self.driver.wait(1)
        self.driver.clear_cookies()
        self.driver.wait(1)

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

    def test_case_dev_manage_sale_in_list(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_sale_in_list_button()

        self.dev_manage_page.click_close_sale_in_list_button()

        self.dev_manage_page.click_sale_in_list_button()

        # 点击销售
        self.dev_manage_page.click_sale_button()

        # 获取打开销售之后的imei和设备类型
        imei_in_sale = self.dev_manage_page.get_imei_in_sale()
        self.assertEqual(imei_in_list, imei_in_sale)
        dev_type_in_sale = self.dev_manage_page.get_dev_type_in_sale()
        self.assertEqual(dev_type_in_list, dev_type_in_sale)
        dev_account_name = self.dev_manage_page.get_dev_account_name()

        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(dev_account_name, account)

        # 搜索右侧客户树
        # 循环点击5次
        for n in range(5):
            self.driver.click_element(
                'x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))
            sleep(2)
            # 判断数量
            get_account_dev_number = self.driver.get_text(
                'x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))

            name = self.dev_manage_page.get_select_account_name()
            self.assertEqual(get_account_dev_number, name)

        # 搜索无数据
        self.dev_manage_page.search_customer_after_click_batch_sale_dev('无数据')
        get_text = self.dev_manage_page.get_search_customer_no_data_text_after_batch_sale_dev(
        )
        self.assertIn(self.assert_text.account_center_page_no_data_text(),
                      get_text)

        # 获取选中设备的数量
        dev_number = self.dev_manage_page.get_select_dev_number()

        # 获取抬头设备统计的数量
        dev_numbers_count = self.dev_manage_page.get_dev_numbers()
        self.assertEqual(str(dev_number), dev_numbers_count)

        # 删除设备后 点击销售
        self.dev_manage_page.click_detele_dev()
        self.dev_manage_page.click_sale_button()

        ### 添加设备
        # 成功添加的
        self.dev_manage_page.add_dev_to_sale(imei_in_list)

        # 添加重复的
        self.dev_manage_page.add_dev_to_sale(imei_in_list)

        # 获取失败后的imei
        imei_after_add_fail = self.dev_manage_page.get_imei_after_add_fail()
        self.assertEqual(imei_in_list, imei_after_add_fail)

        status = self.dev_manage_page.get_status_after_add_fail()
        self.assertEqual(self.assert_text.dev_page_fail_text(), status)

        fail_reason = self.dev_manage_page.get_fail_reason()
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         fail_reason)
        self.dev_manage_page.click_close_fails()

        # 添加不存在的imei
        self.dev_manage_page.add_dev_to_sale('我就是要添加不存在的')
        # 获取失败后的imei
        imei_after_add_fail = self.dev_manage_page.get_imei_after_add_fail()
        self.assertEqual('我就是要添加不存在的', imei_after_add_fail)

        status = self.dev_manage_page.get_status_after_add_fail()
        self.assertEqual(self.assert_text.dev_page_fail_text(), status)

        fail_reason = self.dev_manage_page.get_fail_reason()
        self.assertEqual(self.assert_text.dev_page_inexistence_text(),
                         fail_reason)
        self.dev_manage_page.click_close_fails()
class TestCase82DevManageBatchSale(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.driver.wait(1)
        self.driver.clear_cookies()
        self.assert_text = AssertText()
        self.driver.wait(1)

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

    def test_case_dev_manage_batch_sale(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        # 点击进入设备管理
        self.dev_manage_page.enter_dev_manage()
        # 选择一个设备点击批量销售
        self.dev_manage_page.choose_one_dev_to_search()
        get_first_imei = self.dev_manage_page.get_first_imei_in_list()
        get_dev_type = self.dev_manage_page.get_dev_type_in_list()
        # 点击批量
        self.dev_manage_page.click_batch_sale_button()
        self.dev_manage_page.click_close_batch_sale_button()
        self.dev_manage_page.click_batch_sale_button()

        '''# 搜索右侧客户树
        # 循环点击5次
        for n in range(5):
            self.driver.click_element('x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))
            sleep(2)
            # 判断数量
            get_account_dev_number = self.driver.get_text('x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))

            name = self.dev_manage_page.get_select_account_name()
            self.assertEqual(get_account_dev_number, name)

        # 搜索无数据
        self.dev_manage_page.search_customer_after_click_batch_sale_dev('无数据')
        get_text = self.dev_manage_page.get_search_customer_no_data_text_after_batch_sale_dev()
        self.assertIn(self.assert_text.account_center_page_no_data_text(), get_text)

        # 获取选中设备的数量
        dev_number = self.dev_manage_page.get_select_dev_number()

        # 获取抬头设备统计的数量
        dev_numbers_count = self.dev_manage_page.get_dev_numbers()
        self.assertEqual(str(dev_number), dev_numbers_count)'''

        # 验证界面
        get_sale_title = self.dev_manage_page.get_sale_title_text_in_sale_dev()
        self.assertEqual(self.assert_text.batch_sale_text(), get_sale_title)

        get_imei_in_sale = self.dev_manage_page.get_batch_sale_imei_in_sale_dev()
        self.assertEqual(get_first_imei, get_imei_in_sale)

        get_dev_type_in_sale = self.dev_manage_page.get_dev_type_in_sale()
        self.assertEqual(get_dev_type, get_dev_type_in_sale)

        get_dev_number = self.dev_manage_page.get_dev_number_in_sale_dev()
        self.assertEqual('1', get_dev_number)

        get_dev_account = self.dev_manage_page.get_dev_account_name()
        connect_sql = ConnectSql()
        connect = connect_sql.connect_tuqiang_sql()
        cursor = connect.cursor()
        sql = "select m.account from equipment_mostly m where m.imei = '%s';" % get_first_imei
        cursor.execute(sql)
        data = cursor.fetchall()
        cursor.close()
        connect.close()

        sql_account = data[0][0]
        self.assertEqual(get_dev_account, sql_account)

        # 输入不存在的IMEI号进行添加
        self.dev_manage_page.add_imei_in_sale_dev_page('bucunzai')

        add_dev_state = self.dev_manage_page.add_dev_after_fail_state()
        self.assertEqual(self.assert_text.dev_page_fail_text(), add_dev_state)
        add_dev_reason = self.dev_manage_page.add_dev_after_fail_reason()
        self.assertEqual(self.assert_text.dev_page_inexistence_text(), add_dev_reason)
        self.dev_manage_page.click_close_fails()
        # 添加不属于当前登陆账号设备总进货数中的设备
        self.dev_manage_page.add_imei_in_sale_dev_page('863666010079196')

        add_dev_state = self.dev_manage_page.add_dev_after_fail_state()
        self.assertEqual(self.assert_text.dev_page_fail_text(), add_dev_state)
        add_dev_reason = self.dev_manage_page.add_dev_after_fail_reason()
        self.assertEqual(self.assert_text.dev_page_inexistence_text(), add_dev_reason)
        self.dev_manage_page.click_close_fails()
        # 添加与设备列表中重复的设备
        self.dev_manage_page.add_imei_in_sale_dev_page(get_first_imei)

        add_dev_state = self.dev_manage_page.add_dev_after_fail_state()
        self.assertEqual(self.assert_text.dev_page_fail_text(), add_dev_state)
        add_dev_reason = self.dev_manage_page.add_dev_after_fail_reason()
        self.assertEqual(self.assert_text.dev_page_repetition_text(), add_dev_reason)
        self.dev_manage_page.click_close_fails()

        # 搜索右侧客户树
        # 循环点击5次
        for n in range(5):
            self.driver.click_element('x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))
            sleep(2)
            # 判断数量
            get_account_dev_number = self.driver.get_text('x,//*[@id="treeDemo_device_sale_id_%s_span"]' % str(n + 1))

            name = self.dev_manage_page.get_select_account_name()
            self.assertEqual(get_account_dev_number, name)

        # 搜索无数据
        self.dev_manage_page.search_customer_after_click_batch_sale_dev('无数据')
        get_text = self.dev_manage_page.get_search_customer_no_data_text_after_batch_sale_dev()
        self.assertIn(self.assert_text.account_center_page_no_data_text(), get_text)

        # 获取选中设备的数量
        dev_number = self.dev_manage_page.get_select_dev_number()

        # 获取抬头设备统计的数量
        dev_numbers_count = self.dev_manage_page.get_dev_numbers()
        self.assertEqual(str(dev_number), dev_numbers_count)