Ejemplo n.º 1
0
class TestCase122UserSearchTransferUser(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_user_search_transfer_user(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_user_search_buttons()

        # 获取列表中第二个用户的账号
        self.global_dev_search_page.swith_to_search_frame()
        get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user(
        )
        # 点击详情
        self.global_account_search_page.click_user_detail_button()
        # 点击销售设备
        self.global_account_search_page.click_transfer_user_button_in_user_detail_button(
        )
        # 选择的用户是该用户(用户详情所属的用户)或其下级用户,提示“选择的用户不能作为上级用户”
        self.global_account_search_page.search_user_to_transfer_user_in_user_detail(
            get_second_user_account)
        get_text = self.global_account_search_page.get_text_after_click_transfer_user(
        )
        self.assertEqual(
            self.assert_text.the_selected_user_cannot_be_the_superior(),
            get_text)
 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)
class TestCase129DevAdvancedSearchGetBack(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_dev_advanced_search_get_back(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_dev_searchs()
        # 选择设备搜索
        self.global_dev_search_page.swith_to_search_frame()

        # 获取列表中首页设备的imei号
        # 获取首页有多少条记录
        first_page_total_number = self.global_dev_search_page.get_first_page_total_number_in_dev_search(
        )
        imei_list_first = []
        for n in range(first_page_total_number):
            imei = self.global_dev_search_page.get_imei_in_dev_search(n)
            imei_list_first.append(imei)

        # 点击高级按钮
        self.global_dev_search_page.click_advanced_search_button()

        # 获取高级搜索页面设备列表的imei
        first_page_total_number_in_advanced_search = self.global_dev_search_page.get_first_total_number_in_advanced_search(
        )
        self.assertEqual(first_page_total_number,
                         first_page_total_number_in_advanced_search)
        imei_list_second = []
        for x in range(first_page_total_number_in_advanced_search):
            imei = self.global_dev_search_page.get_imei_in_dev_advanced_search(
                x)
            imei_list_second.append(imei)

        self.assertEqual(imei_list_first, imei_list_second)

        # 点击返回按钮
        self.global_dev_search_page.click_get_back_button_in_advanced_search()
        # 获取首页有多少条记录
        third_page_total_number = self.global_dev_search_page.get_first_page_total_number_in_dev_search(
        )
        self.assertEqual(first_page_total_number, third_page_total_number)
        imei_list_thrid = []
        for n in range(third_page_total_number):
            imei = self.global_dev_search_page.get_imei_in_dev_search(n)
            imei_list_thrid.append(imei)

        self.assertEqual(imei_list_thrid, imei_list_first)
Ejemplo n.º 4
0
class TestCase136GlobSearchDevSearch(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_glob_search_dev_search(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.swith_to_search_frame()
        self.global_dev_search_page.click_advanced_search_button()

        # 点击搜索按钮
        self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page(
        )
        sleep(4)
        # 点击详情
        self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page(
        )
        sleep(2)

        # 获取设备的imei和状态
        get_dev_imei = self.global_dev_search_page.get_dev_imei_in_details()
        get_dev_status = self.global_dev_search_page.get_dev_status_in_dev_detail(
        )

        # 点击关闭高级搜索
        self.driver.default_frame()
        self.global_dev_search_page.click_close_button()

        # 点击控制台
        self.global_dev_search_page.click_cancel_page_button()

        # 输入imei然后搜索
        self.global_dev_search_page.add_dev_imei_to_search_in_console(
            get_dev_imei)

        # 获取设备的状态在控制台页面
        get_dev_status_in_console_page = self.global_dev_search_page.get_dev_status_in_console_page(
        )
        self.assertEqual(get_dev_status, get_dev_status_in_console_page)
class TestCase131DevSearchDetailDevInfo(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_dev_search_detail_dev_info(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()
        sleep(3)
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_advanced_search_button()

        # 点击搜索按钮
        self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page(
        )
        sleep(4)
        # 点击详情
        self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page(
        )
        sleep(2)
        get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced(
        )
        ## 点击设备信息
        self.global_dev_search_page.click_dev_info_in_dev_advancde_search_page(
        )
        self.global_dev_search_page.switch_to_dev_info_frame()
        get_imei_in_dev_info = self.global_dev_search_page.get_imei_in_dev_info_after_click_dev_info_button(
        )
        self.assertEqual(get_imei_in_dev_advanced_detail_page,
                         get_imei_in_dev_info)

        ## 点击设备IMEI,修改设备IMEI
        get_imei_input_attribute = self.global_dev_search_page.get_imei_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_imei_input_attribute)

        ## 点击设备设备名称输入框,修改设备的设备名称,点击保存
        self.global_dev_search_page.input_dev_name_modify_dev_info_in_dev_info_page(
            '这是设备名称')
        # 点击保存
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        # 点击设备设备分组下拉按钮,修改设备的设备分组(在控制台页面已新建分组),点击保存
        self.global_dev_search_page.select_dev_group_in_dev_info_page()
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        # 修改使用范围选项(11类)
        self.global_dev_search_page.click_dev_range_of_use_in_dev_info_page(
            '2')
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        # 修改iccid
        get_iccid_input_attribute = self.global_dev_search_page.get_iccid_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_iccid_input_attribute)

        # 修改销售时间
        get_sale_time_input_attribute = self.global_dev_search_page.get_sale_time_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_sale_time_input_attribute)

        # 修改超速速度和超速时间
        self.global_dev_search_page.add_over_speed_and_over_speed_time_to_modify_dev_info(
            '12', '10')
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        # 点击备注输入框,修改设备的备注,点击保存
        self.global_dev_search_page.add_remark_to_modify_dev_info('这是备注')
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        ## 点击设备类型,修改设备类型
        get_dev_type_input_attribute = self.global_dev_search_page.get_dev_type_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_dev_type_input_attribute)

        ## 点击设备SIM卡号输入框,修改设备的设备SIM卡号,点击保存
        self.global_dev_search_page.add_sim_number_to_modify_dev_info_page(
            '123456789')
        self.global_dev_search_page.click_ensure_button_in_dev_info_page()

        ## 点击激活时间,修改设备的激活时间
        get_active_time_input_attribute = self.global_dev_search_page.get_active_time_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_active_time_input_attribute)

        ## 点击平台到期时间,修改设备平台到期时间
        get_platform_time_input_attribute = self.global_dev_search_page.get_platform_time_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_platform_time_input_attribute)

        ##点击imsi,修改imsi
        get_imsi_input_attribute = self.global_dev_search_page.get_imsi_input_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_imsi_input_attribute)

        ## 点击导入时间输入框,编辑时间
        get_export_time_attribute = self.global_dev_search_page.get_export_time_attribute_in_dev_info_page(
        )
        self.assertEqual('true', get_export_time_attribute)
Ejemplo n.º 6
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 TestCase102GlobComplexSearchByAllCondi(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.global_complex_search_page = GlobalComplexSearchPage(
            self.driver, self.base_url)
        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_glob_complex_search_complex_search(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_dev_searchs()
        self.global_dev_search_page.click_senior_search_button()

        csv_file = self.global_search_page_read_csv.read_csv(
            'complex_search_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],
                'base_info': row[1],
                'info': row[2],
                'date_type': row[3],
                'date': row[4],
                'is_date': row[5],
                'arrearage': row[6],
                'no_active': row[7]
            }
            self.global_dev_search_page.swith_to_search_frame()
            self.global_dev_search_page.add_data_to_search_complex(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]
                }
                get_total_sql = self.search_sql.search_complex_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)
                print('本次查询数据库的条数为:%s' % total)
                web_total = self.global_dev_search_page.easy_search_result()
                print('本次查询页面的条数是:%s' % web_total)
                self.assertEqual(total, web_total)
                self.driver.default_frame()
            cur.close()
            connect.close()

        csv_file.close()
Ejemplo n.º 8
0
class TestCase130DevSearchDetailUserRelation(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_dev_search_detail_user_relation(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_dev_searchs()
        sleep(3)
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_advanced_search_button()

        # 点击搜索按钮
        self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page(
        )
        sleep(4)
        # 点击详情
        self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page(
        )
        get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced(
        )
        # 点击轨迹回放
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_tracker_play_button_in_dev_advanced_page(
        )
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/trackreplay/locus?imei=%s' % get_imei_in_dev_advanced_detail_page
                self.assertEqual(expect_url, self.driver.get_current_url())

                # 获取轨迹回放页面的imei
                get_imei_in_tracker_play = self.global_dev_search_page.get_imei_after_click_tracker_play_in_tracker_play(
                )
                self.assertIn(get_imei_in_dev_advanced_detail_page,
                              get_imei_in_tracker_play)

                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击实时跟踪(离线设备按钮灰暗显示不可选)
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_track_preset_button_in_dev_advanced_page(
        )
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/trackpreset/tracking/%s?isTracking=0' % get_imei_in_dev_advanced_detail_page
                get_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset(
                )
                self.assertEqual(expect_url, self.driver.get_current_url())
                # self.assertEqual(get_imei_in_dev_advanced_detail_page, get_imei_in_track_preset)
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击查看告警
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_alarm_detail_button_in_dev_advanced_page(
        )
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/deviceReport/statisticalReport'
                self.assertEqual(expect_url, self.driver.get_current_url())
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击查看位置
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_look_loacltion_button_in_dev_advanced_page(
        )
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/console'
                self.assertEqual(expect_url, self.driver.get_current_url())
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击控制台
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_console_button_in_dev_advanced()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/console'
                self.assertEqual(self.driver.get_current_url(), expect_url)
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击查看
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        get_user_dev_number = self.global_dev_search_page.get_user_dev_number_in_dev_advanced(
        )
        self.global_dev_search_page.click_look_button_in_dev_advanced()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                expect_url = self.base_url + '/device/toDeviceManage'
                self.assertEqual(self.driver.get_current_url(), expect_url)

                get_dev_total_in_dev_page = self.global_dev_search_page.get_user_dev_total_number_in_dev_page(
                )
                self.assertEqual(get_user_dev_number,
                                 str(get_dev_total_in_dev_page))
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)
Ejemplo n.º 9
0
class TestCase133DevAdvancedSearchDevDetailTransferDevWithDev(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_dev_advanced_search_dev_detail_transfer_dev_with_dev(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.swith_to_search_frame()
        self.global_dev_search_page.click_advanced_search_button()

        # 点击搜索按钮
        self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page()
        sleep(4)
        get_second_imei = self.global_dev_search_page.get_second_imei_in_dev_advanced_page()
        get_third_imei = self.global_dev_search_page.get_third_imei_in_dev_advanced_page()
        get_fourth_imei = self.global_dev_search_page.get_fourth_imei_in_dev_advanced_page()
        # 点击详情
        self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page()
        sleep(2)
        get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced()
        # 点击转移设备
        self.global_dev_search_page.click_transfer_dev_button_in_dev_detail()
        # 断言imei
        imei_in_transfer_dev_page = self.global_dev_search_page.get_dev_imei_in_transfer_dev_page()
        self.assertEqual(get_imei_in_dev_advanced_detail_page, imei_in_transfer_dev_page)

        dev_user_account_by_sql = self.global_dev_search_page.get_dev_user_account_by_sql(imei_in_transfer_dev_page)
        get_dev_user_account_in_transfer_page = self.global_dev_search_page.get_dev_user_account_in_transfer_page()
        self.assertEqual(dev_user_account_by_sql, get_dev_user_account_in_transfer_page)

        # 输入所搜索到设备的相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(imei_in_transfer_dev_page)

        # 获取失败的状态
        get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button)

        get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason_after_click_add_button)

        self.global_dev_search_page.click_close_failure_windows()

        ## 输入存在的不相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei)

        get_total_dev_number = self.global_dev_search_page.get_total_dev_number_in_transfer_page()
        self.assertEqual('2', get_total_dev_number)

        get_second_dev_user_account = self.global_dev_search_page.get_dev_user_account_by_sql(get_second_imei)
        get_second_dev_user_account_in_transfer_page = self.global_dev_search_page.get_second_dev_user_account_in_transfer_page()
        self.assertEqual(get_second_dev_user_account, get_second_dev_user_account_in_transfer_page)

        # 输入不存在的设备IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei + '1245')

        # 获取失败的状态
        get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button)

        get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_inexistence_text(), get_failure_reason_after_click_add_button)

        self.global_dev_search_page.click_close_failure_windows()

        # 输入存在的部分相同部分不相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_second_imei + ',' + get_third_imei)
        # 获取失败的状态
        get_failure_statue_after_click_add_button = self.global_dev_search_page.get_add_failure_status_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_fail_text(), get_failure_statue_after_click_add_button)

        get_failure_reason_after_click_add_button = self.global_dev_search_page.get_add_failure_reason_after_click_add_button()
        self.assertEqual(self.assert_text.dev_page_repetition_text(), get_failure_reason_after_click_add_button)

        self.global_dev_search_page.click_close_failure_windows()

        #  点击重置
        self.global_dev_search_page.click_reset_button_in_transfer_page()

        # 获取统计的数量
        get_total_dev_number = self.global_dev_search_page.get_total_dev_number_in_transfer_page()
        self.assertEqual('0', get_total_dev_number)
Ejemplo n.º 10
0
class TestCase115UserSearchUserInfo(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_user_search_user_info(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_dev_search()
        self.global_dev_search_page.click_user_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)
Ejemplo n.º 11
0
class TestCase110GlobSearchDevDetail(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_dev_detail(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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_dev_searchs()
        # self.global_dev_search_page.click_dev_search_button()
        self.global_dev_search_page.click_detail_in_dev_search()
        dev_name_in_detail = self.global_dev_search_page.get_dev_name_in_detail(
        )
        dev_imei_in_detail = self.global_dev_search_page.get_dev_imei_in_detail(
        )
        dev_type_in_detail = self.global_dev_search_page.get_dev_type_in_detail(
        )
        dev_active_time_in_detail = self.global_dev_search_page.get_dev_active_time_in_detail(
        )
        dev_expire_time_in_detail = self.global_dev_search_page.get_dev_expire_time_in_detail(
        )

        # 点击轨迹回放
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_play_button_in_dev_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url +
                    '/trackreplay/locus?imei=%s' % dev_imei_in_detail,
                    self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_track_play(
                )
                self.assertEqual(self.assert_text.dev_page_track_replay_text(),
                                 text)
                # 获取页面抬头的设备名称和imei
                dev_name_and_dev_imei = self.global_dev_search_page.get_dev_name_and_imei_after_click_track_play(
                )
                self.assertIn(dev_imei_in_detail, dev_name_and_dev_imei)
                self.assertIn(dev_name_in_detail, dev_name_and_dev_imei)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击实时跟踪
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_preset_button_in_dev_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url + '/trackpreset/tracking/%s?isTracking=0' %
                    dev_imei_in_detail, self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_track_preset(
                )
                self.assertIn(self.assert_text.dev_page_track_preset_text(),
                              text)
                # 获取页面抬头的设备名称和imei
                dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset(
                )
                dev_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset(
                )
                self.assertEqual(dev_imei_in_detail, dev_imei_in_track_preset)
                self.assertEqual(dev_name_in_detail, dev_name_in_track_preset)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击查看告警
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_look_alarm_button_in_dev_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url + '/deviceReport/statisticalReport',
                    self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_alarm_detail(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_details_text(),
                    text)
                # 获取页面抬头的设备名称和ime
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击查看位置
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_look_place_button_in_dev_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(self.base_url + '/console',
                                 self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_look_place(
                )
                # self.assertEqual(dev_imei_in_detail, text)
                # get_dev_name = self.global_dev_search_page.get_type_after_click_look_place()
                # self.assertEqual(dev_name_in_detail, get_dev_name)
                # 获取页面抬头的设备名称和ime
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击设备信息
        sleep(1)
        self.global_dev_search_page.click_dev_info_button_in_dev_detail()
        sleep(2)
        # 验证设备的信息
        dev_imei_in_dev_info = self.global_dev_search_page.get_dev_imei_in_dev_info(
        )
        self.assertEqual(dev_imei_in_detail, dev_imei_in_dev_info)

        dev_type_in_dev_info = self.global_dev_search_page.get_dev_type_in_dev_info(
        )
        self.assertEqual(dev_type_in_detail, dev_type_in_dev_info)

        dev_name_in_dev_info = self.global_dev_search_page.get_dev_name_in_dev_info(
        )
        self.assertEqual(dev_name_in_detail, dev_name_in_dev_info)

        # 点击设备转移
        self.global_dev_search_page.click_dev_tran_button_in_dev_detail()

        # 循环点击右侧客户树
        for n in range(5):
            self.global_dev_search_page.click_customer(n)
            get_customer_name_in_header = self.global_dev_search_page.get_customer_name_in_header(
            )
            get_click_customer_name = self.global_dev_search_page.get_click_customer_name(
                n)
            self.assertEqual(get_customer_name_in_header,
                             get_click_customer_name)

        # 搜索无数据的用户
        self.global_dev_search_page.search_user_in_dev_detail('无数据')
        text = self.global_dev_search_page.get_text_after_search_user_in_dev_detail(
        )
        self.assertIn(self.assert_text.account_center_page_no_data_text(),
                      text)

        # 添加已经添加的设备
        self.global_dev_search_page.add_dev_to_trans(dev_imei_in_detail)
        get_file_imei = self.global_dev_search_page.get_file_imei_after_add_imei(
        )
        self.assertEqual(dev_imei_in_detail, get_file_imei)

        get_file_reason = self.global_dev_search_page.get_file_reason_add_imei(
        )
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         get_file_reason)

        get_file_status = self.global_dev_search_page.get_file_status()
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         get_file_status)

        # 点击关闭失败信息
        self.global_dev_search_page.close_file_info()

        # 添加不存在的
        self.global_dev_search_page.add_dev_to_trans(dev_imei_in_detail +
                                                     '12345')
        get_file_imei = self.global_dev_search_page.get_file_imei_after_add_imei(
        )
        self.assertEqual(dev_imei_in_detail + '12345', get_file_imei)

        get_file_reason = self.global_dev_search_page.get_file_reason_add_imei(
        )
        self.assertEqual(self.assert_text.dev_page_inexistence_text(),
                         get_file_reason)

        get_file_status = self.global_dev_search_page.get_file_status()
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         get_file_status)

        self.global_dev_search_page.close_file_info()

        # 点击删除设备
        sleep(2)
        self.global_dev_search_page.click_detele_dev_in_dev_tran()
        # 点击转移
        self.global_dev_search_page.click_trans_dev_button()
        # 获取错误提示语
        get_text = self.global_dev_search_page.get_text_after_click_trans_dev()
        self.assertEqual(self.assert_text.glob_search_please_add_dev_text(),
                         get_text)

        # 点击重置
        self.global_dev_search_page.click_reset_button()
        # 点击转移
        self.global_dev_search_page.click_trans_dev_button()
        # 获取错误提示语
        get_text = self.global_dev_search_page.get_text_after_click_trans_dev()
        self.assertEqual(
            self.assert_text.glob_search_please_add_account_text(), get_text)

        # 点击设备指令
        self.global_dev_search_page.click_dev_command_button()

        # 获取指令页面的设备名称和设备imei
        dev_imei_in_command = self.global_dev_search_page.get_dev_imei_in_command(
        )
        dev_name_in_command = self.global_dev_search_page.get_dev_name_in_command(
        )
        self.assertEqual(dev_imei_in_detail, dev_imei_in_command)
        self.assertEqual(dev_name_in_detail, dev_name_in_command)
Ejemplo n.º 12
0
class TestCase126DevSearchTransferDevAddDev(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_dev_search_transfer_dev_add_dev(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_dev_searchs()
        sleep(5)
        self.global_dev_search_page.swith_to_search_frame()
        get_second_imei = self.global_dev_search_page.get_second_imei_in_dev_detail(
        )
        get_third_iemi = self.global_dev_search_page.get_third_imei_in_dev_detail(
        )
        get_fourth_imei = self.global_dev_search_page.get_fourth_imei_in_dev_detail(
        )
        sleep(5)
        # 点击详情
        self.global_dev_search_page.click_dev_detail_after_search_dev()

        get_imei = self.global_dev_search_page.get_imei_in_dev_detail()
        # 点击设备转移
        self.global_dev_search_page.click_transfer_dev_button_in_dev_detail()
        get_imei_in_dev_transfer = self.global_dev_search_page.get_imei_after_transfer_dev_button(
        )
        self.assertEqual(get_imei, get_imei_in_dev_transfer)

        # 输入所搜索到设备的相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(get_imei)
        # 断言失败的状态和原因
        get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         get_failure_status)
        get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         get_failure_reason)
        # 点击关闭
        self.global_dev_search_page.click_close_failure_windows()

        # 输入存在的不相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(
            get_second_imei)
        # 断言统计的设备数量 和 列表中的设备总数
        get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page(
        )
        self.assertEqual('2', get_count_dev_number)
        get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page(
        )
        self.assertEqual(2, get_list_dev_number)

        # 输入存在的部分相同部分不相同IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(
            get_second_imei + ',' + get_third_iemi)

        get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         get_failure_status)
        get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         get_failure_reason)
        # 点击关闭
        self.global_dev_search_page.click_close_failure_windows()

        # 断言统计的设备数量 和 列表中的设备总数
        get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page(
        )
        self.assertEqual('3', get_count_dev_number)
        get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page(
        )
        self.assertEqual(3, get_list_dev_number)

        # 输入不存在的设备IMEI,点击添加
        self.global_dev_search_page.add_dev_to_trans_in_transfer_page(
            get_second_imei + '12451')

        get_failure_status = self.global_dev_search_page.get_add_failure_status_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         get_failure_status)
        get_failure_reason = self.global_dev_search_page.get_add_failure_reason_after_click_add_button(
        )
        self.assertEqual(self.assert_text.dev_page_inexistence_text(),
                         get_failure_reason)
        # 点击关闭
        self.global_dev_search_page.click_close_failure_windows()

        # 断言统计的设备数量 和 列表中的设备总数
        get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page(
        )
        self.assertEqual('3', get_count_dev_number)
        get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page(
        )
        self.assertEqual(3, get_list_dev_number)

        #  点击重置
        self.global_dev_search_page.click_reset_button_in_transfer_page()

        # 断言统计的设备数量 和 列表中的设备总数
        get_count_dev_number = self.global_dev_search_page.get_dev_count_number_in_dev_transfer_page(
        )
        self.assertEqual('0', get_count_dev_number)
        get_list_dev_number = self.global_dev_search_page.get_list_dev_number_in_dev_transfer_page(
        )
        self.assertEqual(0, get_list_dev_number)
class TestCase123DevSearchPagingFunction(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_dev_search_paging_function(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_dev_searchs()
        # 选择设备搜索
        # self.global_dev_search_page.click_search_buttons()
        sleep(5)
        self.global_dev_search_page.swith_to_search_frame()
        # 获取设备有多少个分页
        total_page = self.global_dev_search_page.get_total_page_number_after_search_dev(
        )
        if total_page[0] == 0:
            text = self.global_dev_search_page.get_no_data_text_in_search_dev()
            self.assertIn(self.assert_text.account_center_page_no_data_text(),
                          text)

        elif total_page[0] == 1:
            up_page_class = self.global_dev_search_page.get_up_page_class_active_in_dev_search(
            )
            self.assertEqual('active', up_page_class)

            next_page_class = self.global_dev_search_page.get_next_page_class_active_in_dev_search(
            )
            self.assertEqual('active', next_page_class)

        else:
            for n in range(total_page[0]):
                self.global_dev_search_page.click_per_page(n)
                get_per_first_number = self.global_dev_search_page.get_per_frist_number_in_dev_search(
                )
                self.assertEqual(get_per_first_number, str(10 * (n + 1) - 9))

            # 点击每页20条
            list = [20, 30, 50, 100]
            for m in list:
                self.global_dev_search_page.click_per_page_number()
                page_number = self.global_dev_search_page.get_page_number_in_dev_search(
                )
                if int(total_page[1] % m) != 0:
                    a = int(total_page[1] / m) + 1
                else:
                    a = int(total_page[1] / m)
                self.assertEqual(a, page_number)
Ejemplo n.º 14
0
class TestCase104GlobSearchCheckMarkedWords(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.assert_text = AssertText()
        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_case_global_search_check_marked_words(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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()

        search_data = {'account_info': ''}
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.app_account_easy_search(search_data)
        get_dev_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words(
        )
        self.assertEqual(
            self.assert_text.glob_search_page_search_account_texts(),
            get_dev_search_marked_words)

        # 选择搜索用户
        # self.global_dev_search_page.select_search_user()
        self.global_dev_search_page.account_easy_search(search_data)
        get_user_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words(
        )
        self.assertEqual(
            self.assert_text.glob_search_page_search_account_text(),
            get_user_search_marked_words)

        # 选择搜索app用户
        # self.global_dev_search_page.select_search_dev()
        self.global_dev_search_page.click_search_dev_button()
        get_user_search_marked_words = self.global_dev_search_page.get_dev_search_marked_words(
        )
        self.assertEqual(self.assert_text.glob_search_page_search_dev_text(),
                         get_user_search_marked_words)
        self.driver.default_frame()
Ejemplo n.º 15
0
class TestCase111GlobSearchDevSearchHigher(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_dev_search_higher(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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_dev_searchs()
        self.global_dev_search_page.click_higher_search()

        # 验证选择用户
        # 点下拉客户树
        # 循环点击
        for n in range(5):
            self.global_dev_search_page.click_pull_down_customer()
            get_customer_name = self.global_dev_search_page.get_customer_name(n)
            self.global_dev_search_page.click_customer_in_higher_search(n)
            # 获取点击之后抬头显示的客户名字
            get_customer_text = self.global_dev_search_page.get_customer_text()
            self.assertEqual(get_customer_name, get_customer_text)

        # 验证结束日期的格式
        # 点击时间段
        '''self.global_dev_search_page.click_time_quantum_button()
        get_time_quantum_input_value = self.global_dev_search_page.get_time_quantum_input_value()
        self.assertEqual(True, get_time_quantum_input_value)
        # 输入结束日期
        self.global_dev_search_page.check_end_date_type('2022021551')
        # 获取日期错误的提示
        get_text = self.global_dev_search_page.get_text_after_input_date()
        self.assertEqual(self.assert_text.glob_search_page_date_formate_error(), get_text)'''

        # 验证欠费、激活的按钮
        self.global_dev_search_page.click_arrearage_button()
        get_arrearage_input_value = self.global_dev_search_page.get_arrearage_input_value()
        self.assertEqual(True, get_arrearage_input_value)

        self.global_dev_search_page.click_not_active_button()
        get_not_active_input_value = self.global_dev_search_page.get_not_active_input_value()
        self.assertEqual(True, get_not_active_input_value)

        # 验证基本信息的提示语是否正确
        # imei
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('imei'), get_text)

        # 车牌号
        self.global_dev_search_page.click_car_plate_number_dev_info()
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('车牌号'), get_text)

        # sn
        self.global_dev_search_page.click_sn_dev_info()
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('sn'), get_text)

        # 车架号
        self.global_dev_search_page.click_vin_dev_info()
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('车架号'), get_text)

        # sim卡号
        self.global_dev_search_page.click_sim_dev_info()
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('sim'), get_text)

        # 设备名称
        self.global_dev_search_page.click_dev_name_dev_info()
        get_text = self.global_dev_search_page.get_text_dev_info()
        self.assertEqual(self.assert_text.glob_search_page_text('name'), get_text)
class TestCase112UserSearchByDeleteUser(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.assert_text = AssertText()
        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_user_search_by_delete_user(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        # 分别新建 销售、代理商、用户并删除,然后搜索
        # 点击客户管理

        self.global_account_search_page.click_cust_manager_button()
        csv_file = self.global_search_page_read_csv.read_csv(
            'new_user_info.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            add_data = {
                'account_type': row[0],
                'account_name': row[1],
                'account': row[2]
            }
            self.global_account_search_page.click_add_new_user_button()
            self.global_account_search_page.click_close_add_user_page()
            self.global_account_search_page.click_add_new_user_button()
            self.global_dev_search_page.swith_to_search_frames()
            self.global_account_search_page.add_data_to_add_new_user(add_data)

            # 先搜索
            self.global_account_search_page.click_global_search_button()
            self.global_account_search_page.click_close_add_user_page()
            self.global_account_search_page.click_global_search_button()
            self.global_dev_search_page.swith_to_search_frames()

            self.global_account_search_page.search_user_by_account_in_global_search(
                add_data['account'])
            get_user_account = self.global_account_search_page.get_user_account_after_search(
            )
            self.assertEqual(get_user_account, add_data['account'])
            self.driver.default_frame()
            self.global_account_search_page.click_close_add_user_page()

            # 删除
            self.global_account_search_page.search_user_by_account_in_cust_manage(
                add_data['account'])

            # 打开全局搜索,搜索用户
            self.global_account_search_page.click_global_search_button()
            self.global_account_search_page.click_close_add_user_page()
            self.global_account_search_page.click_global_search_button()
            self.global_dev_search_page.swith_to_search_frames()

            self.global_account_search_page.search_user_by_account_in_global_search(
                add_data['account'])

            get_text = self.global_account_search_page.get_text_after_search()
            self.assertIn(self.assert_text.account_center_page_no_data_text(),
                          get_text)
            self.driver.default_frame()
            self.global_account_search_page.click_close_add_user_page()
        csv_file.close()
class TestCase109GlobSearchDevOperation(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_dev_operation(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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_dev_searchs()
        # self.global_dev_search_page.click_search_buttons()

        # 获取设备信息
        dev_name = self.global_dev_search_page.get_dev_name_in_dev_search()
        dev_imei = self.global_dev_search_page.get_dev_imei_in_dev_search()
        dev_type = self.global_dev_search_page.get_dev_type_in_dev_search()
        dev_active_time = self.global_dev_search_page.get_dev_active_time_in_dev_search(
        )
        dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_dev_search(
        )

        # 点击轨迹回放
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_play_button_in_dev_search()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url + '/trackreplay/locus?imei=%s' % dev_imei,
                    self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_track_play(
                )
                self.assertEqual(self.assert_text.dev_page_track_replay_text(),
                                 text)
                # 获取页面抬头的设备名称和imei
                dev_name_and_dev_imei = self.global_dev_search_page.get_dev_name_and_imei_after_click_track_play(
                )
                self.assertIn(dev_name, dev_name_and_dev_imei)
                self.assertIn(dev_imei, dev_name_and_dev_imei)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击实时跟踪
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_preset_button_in_dev_search()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url +
                    '/trackpreset/tracking/%s?isTracking=0' % dev_imei,
                    self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_track_preset(
                )
                self.assertIn(self.assert_text.dev_page_track_preset_text(),
                              text)
                # 获取页面抬头的设备名称和imei
                dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset(
                )
                dev_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset(
                )
                self.assertEqual(dev_imei, dev_imei_in_track_preset)
                self.assertEqual(dev_name, dev_name_in_track_preset)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击查看告警
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_look_alarm_button_in_dev_search()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(
                    self.base_url + '/deviceReport/statisticalReport',
                    self.driver.get_current_url())
                # 获取页面的抬头的文字
                text = self.global_dev_search_page.get_text_after_click_alarm_detail(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_details_text(),
                    text)
                # 获取页面抬头的设备名称和ime
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击详情
        self.global_dev_search_page.click_detail_in_dev_search()
        # 获取设备的名称 imei、设备类型、激活时间、平台到期时间
        dev_name_in_detail = self.global_dev_search_page.get_dev_name_in_detail(
        )
        self.assertEqual(dev_name, dev_name_in_detail)

        dev_imei_in_detail = self.global_dev_search_page.get_dev_imei_in_detail(
        )
        self.assertEqual(dev_imei, dev_imei_in_detail)

        dev_type_in_detail = self.global_dev_search_page.get_dev_type_in_detail(
        )
        self.assertEqual(dev_type, dev_type_in_detail)

        dev_active_time_in_detail = self.global_dev_search_page.get_dev_active_time_in_detail(
        )
        self.assertEqual(dev_active_time, dev_active_time_in_detail)

        dev_expire_time_in_detail = self.global_dev_search_page.get_dev_expire_time_in_detail(
        )
        self.assertEqual(dev_expire_time, dev_expire_time_in_detail)
Ejemplo n.º 18
0
class TestCase114UserSearchUserRelation(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_user_search_user_relation(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_dev_search()
        self.global_dev_search_page.click_user_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.swith_to_search_frame()
        user_name_in_user_detail = self.global_account_search_page.get_user_name_in_user_detail(
        )
        self.assertEqual(user_name, user_name_in_user_detail)

        user_type_in_user_detail = self.global_account_search_page.get_user_type_in_user_detail(
        )
        self.assertEqual(user_type, " " + user_type_in_user_detail)

        user_account_in_user_detail = self.global_account_search_page.get_user_account_in_user_detail(
        )
        self.assertEqual(user_account, user_account_in_user_detail)

        dev_number_in_user_detail = self.global_account_search_page.get_dev_number_in_user_detail(
        )

        # 分别点击控制台、重置密码、查看
        # 点击查看
        current_handle = self.driver.get_current_window_handle()
        self.global_account_search_page.click_look_button_in_user_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

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

                get_total_dev_number = self.global_account_search_page.get_dev_total_number_in_dev_manage_page(
                )
                self.assertEqual(dev_number_in_user_detail,
                                 str(get_total_dev_number))
                self.driver.close_current_page()

                self.driver.switch_to_window(current_handle)

        # 点控制台
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_account_search_page.click_console_button_in_user_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                expect_url = self.driver.base_url + '/console'
                self.assertEqual(self.driver.get_current_url(), expect_url)
                self.driver.close_current_page()
                self.driver.switch_to_window(current_handle)

        # 点击重置密码
        self.global_dev_search_page.swith_to_search_frame()
        self.global_account_search_page.click_reset_password_button_in_user_detail(
        )
        # 点击关闭
        self.global_account_search_page.click_close_button()

        # 点击重置密码
        self.global_account_search_page.click_reset_password_button_in_user_detail(
        )
        # 点击取消
        self.global_account_search_page.click_cancel_button()

        # 点击重置密码
        self.global_account_search_page.click_reset_password_button_in_user_detail(
        )
        # 点击确定
        self.global_account_search_page.click_ensuer_button()
        sleep(4)
        self.driver.default_frame()
        self.global_account_search_page.click_close_button()
Ejemplo n.º 19
0
class TestCase128DevAdvancedSearchWithDeleteUser(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_dev_advanced_search_with_delete_user(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()

        self.global_account_search_page.click_cust_manager_button()
        csv_file = self.global_search_page_read_csv.read_csv(
            'new_user_info.csv')
        csv_data = csv.reader(csv_file)

        is_header = True
        for row in csv_data:
            if is_header:
                is_header = False
                continue
            add_data = {
                'account_type': row[0],
                'account_name': row[1],
                'account': row[2]
            }
            self.global_account_search_page.click_add_new_user_button()
            self.global_account_search_page.click_close_add_user_page()
            self.global_account_search_page.click_add_new_user_button()
            self.global_dev_search_page.swith_to_search_frames()
            self.global_account_search_page.add_data_to_add_new_user(add_data)
            # 删除
            self.global_account_search_page.search_user_by_account_in_cust_manage(
                add_data['account'])

            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.swith_to_search_frame()
            self.global_dev_search_page.click_advanced_search_button()

            # 搜索已经删除的用户名称
            self.global_dev_search_page.click_search_button_in_dev_advanced_search_page(
            )
            # 输入删除的用户名称搜索
            self.global_dev_search_page.add_user_name_to_search_in_dev_advanced_search_page(
                add_data['account'])

            get_text = self.global_dev_search_page.get_text_after_click_search_button_in_dev_advanced_search_page(
            )
            self.assertIn(self.assert_text.account_center_page_no_data_text(),
                          get_text)
            break
        csv_file.close()
class TestCase105GlobSearchAppUserOperation(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_app_user_operation(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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.swith_to_search_frame()
        self.global_dev_search_page.select_search_app_user()

        # 点击搜索
        # self.global_dev_search_page.click_search_button()

        # 点击控制台
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_console_button()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(self.base_url + '/console',
                                 self.driver.get_current_url())
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 获取第一个app用户的详情
        self.global_dev_search_page.swith_to_search_frame()
        app_user_name = self.global_dev_search_page.get_app_user_name_in_app_search(
        )
        app_user_type = self.global_dev_search_page.get_app_user_type_in_app_search(
        )
        app_user_account = self.global_dev_search_page.get_app_user_account_in_app_search(
        )
        app_user_phone = self.global_dev_search_page.get_app_user_phone_in_app_search(
        )
        app_user_dev_number = self.global_dev_search_page.get_app_user_dev_number_in_app_search(
        )
        # 点击详情
        self.global_dev_search_page.click_detail_in_app_user_search()

        # 获取app用户详情页面的用户数据
        app_name_in_detail = self.global_dev_search_page.get_app_name_in_detail(
        )
        self.assertEqual(app_user_name, app_name_in_detail)

        app_type_in_detail = self.global_dev_search_page.get_app_type_in_detail(
        )
        self.assertEqual(app_user_type, app_type_in_detail)

        app_account_in_detail = self.global_dev_search_page.get_app_account_in_detail(
        )
        self.assertEqual(app_user_account, app_account_in_detail)

        app_phone_in_detail = self.global_dev_search_page.get_app_phone_in_detail(
        )
        self.assertEqual(app_user_phone, app_phone_in_detail)

        app_dev_number_in_detail = self.global_dev_search_page.get_app_dev_number_in_detail(
        )
        self.assertEqual(app_user_dev_number, app_dev_number_in_detail)

        app_dev_number_in_detail_by_list = self.global_dev_search_page.get_app_dev_number_in_detail_by_list(
        )
        self.assertEqual(str(app_dev_number_in_detail_by_list),
                         app_dev_number_in_detail)

        self.assertEqual(str(app_dev_number_in_detail_by_list),
                         app_user_dev_number)

        # 重置密码
        self.global_dev_search_page.return_app_user_list()
        # 点击重置密码
        self.global_dev_search_page.click_reset_password_button()
        # 点击关闭
        self.global_dev_search_page.close_button()

        # 点击重置密码
        self.global_dev_search_page.click_reset_password_button()
        # 点击关闭
        self.global_dev_search_page.cancel_button()

        # 点击重置密码
        self.global_dev_search_page.click_reset_password_button()
        # 点击关闭
        self.global_dev_search_page.ensure_button()

        get_text = self.global_dev_search_page.get_text_after_succeed()
        # self.assertEqual(self.assert_text.account_center_page_operation_done(), get_text)
        self.driver.default_frame()
class TestCase118UserSearchModifyBatchIssuedWorkTypeAuthority(unittest.TestCase):
    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.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_user_search_modify_batch_issued_work_type_authority(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_dev_search()
        self.global_dev_search_page.click_search_buttons()

        # 获取列表中第二个用户的账号
        self.global_dev_search_page.swith_to_search_frame()
        get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user()
        # 点击详情
        self.global_account_search_page.click_user_detail_button()
        # 点击用户信息
        self.global_account_search_page.click_user_info_in_user_detail()

        # 获取用户信息页面登录账号名字
        current_account = self.global_account_search_page.get_current_account_in_user_detail()
        self.assertEqual(get_second_user_account, current_account)

        # 获取各个权限input的select属性
        web_login_authority = self.global_account_search_page.get_web_login_authority_input_select_in_user_detail()
        app_login_authority = self.global_account_search_page.get_app_login_authorith_input_select_in_user_detail()

        batch_issued_command_authority = self.global_account_search_page.batch_issued_command_authority_in_user_detail()
        batch_issued_work_type_authority = self.global_account_search_page.batch_issued_work_type_authority_in_user_detail()

        web_modify_authority = self.global_account_search_page.get_web_modify_authority_in_user_detail()
        app_modify_authority = self.global_account_search_page.get_app_modify_authority_in_user_detail()

        if batch_issued_work_type_authority == True:
            ## 点击批量下发工作模式
            self.global_account_search_page.click_modify_batch_issued_work_type_authority_in_user_detail()
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail()
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()

            total_number = self.global_account_search_page.get_total_button_in_dev_manage()
            operation_all = []
            for n in range(total_number):
                get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n)
                operation_all.append(get_per_operation)

            select_issued_work_type = self.assert_text.select_issued_work_type_text()
            self.assertNotIn(select_issued_work_type, operation_all)
            all_issued_work_type = self.assert_text.all_issued_work_type_text()
            self.assertNotIn(all_issued_work_type, operation_all)

            # 退出登录的账号
            self.global_account_search_page.click_account_manage_page()
            self.global_account_search_page.logout()

            # 登录web_autotest
            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_dev_search()
            self.global_dev_search_page.click_search_buttons()
            # 点击详情
            self.global_dev_search_page.swith_to_search_frame()
            self.global_account_search_page.click_user_detail_button()
            # 点击用户信息
            self.global_account_search_page.click_user_info_in_user_detail()

            ## 点击批量下发工作模式
            self.global_account_search_page.click_modify_batch_issued_work_type_authority_in_user_detail()
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail()
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()

            total_number = self.global_account_search_page.get_total_button_in_dev_manage()
            operation_all = []
            for n in range(total_number):
                get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n)
                operation_all.append(get_per_operation)

            select_issued_work_type = self.assert_text.select_issued_work_type_text()
            self.assertIn(select_issued_work_type, operation_all)
            all_issued_work_type = self.assert_text.all_issued_work_type_text()
            self.assertIn(all_issued_work_type, operation_all)

        if batch_issued_work_type_authority == False:
            ## 点击批量下发工作模式
            self.global_account_search_page.click_modify_batch_issued_work_type_authority_in_user_detail()
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail()
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()

            total_number = self.global_account_search_page.get_total_button_in_dev_manage()
            operation_all = []
            for n in range(total_number):
                get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n)
                operation_all.append(get_per_operation)

            select_issued_work_type = self.assert_text.select_issued_work_type_text()
            self.assertIn(select_issued_work_type, operation_all)
            all_issued_work_type = self.assert_text.all_issued_work_type_text()
            self.assertIn(all_issued_work_type, operation_all)

            # 退出登录的账号
            self.global_account_search_page.click_account_manage_page()
            self.global_account_search_page.logout()

            # 登录web_autotest
            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_dev_search()
            self.global_dev_search_page.click_search_buttons()
            # 点击详情
            self.global_dev_search_page.swith_to_search_frame()
            self.global_account_search_page.click_user_detail_button()
            # 点击用户信息
            self.global_account_search_page.click_user_info_in_user_detail()

            ## 点击批量下发工作模式
            self.global_account_search_page.click_modify_batch_issued_work_type_authority_in_user_detail()
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail()
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()

            total_number = self.global_account_search_page.get_total_button_in_dev_manage()
            operation_all = []
            for n in range(total_number):
                get_per_operation = self.global_account_search_page.get_per_operation_in_dev_manage(n)
                operation_all.append(get_per_operation)

            select_issued_work_type = self.assert_text.select_issued_work_type_text()
            self.assertNotIn(select_issued_work_type, operation_all)
            all_issued_work_type = self.assert_text.all_issued_work_type_text()
            self.assertNotIn(all_issued_work_type, operation_all)
class TestCase132DevAdvancedSearchDevDetailTransferDevWithNoImeiOrUser(
        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_dev_advanced_search_dev_detail_transfer_dev_with_no_imei_or_user(
            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.swith_to_search_frame()
        self.global_dev_search_page.click_advanced_search_button()

        # 点击搜索按钮
        self.global_dev_search_page.click_search_buttons_in_dev_advanced_search_page(
        )
        sleep(4)
        # 点击详情
        self.global_dev_search_page.click_detail_button_in_dev_advanced_search_page(
        )
        sleep(2)
        get_imei_in_dev_advanced_detail_page = self.global_dev_search_page.get_imei_after_click_detail_button_in_dev_advanced(
        )
        # 点击转移设备
        self.global_dev_search_page.click_transfer_dev_button_in_dev_detail()
        # 断言imei
        imei_in_transfer_dev_page = self.global_dev_search_page.get_dev_imei_in_transfer_dev_page(
        )
        self.assertEqual(get_imei_in_dev_advanced_detail_page,
                         imei_in_transfer_dev_page)

        dev_user_account_by_sql = self.global_dev_search_page.get_dev_user_account_by_sql(
            imei_in_transfer_dev_page)
        get_dev_user_account_in_transfer_page = self.global_dev_search_page.get_dev_user_account_in_transfer_page(
        )
        self.assertEqual(dev_user_account_by_sql,
                         get_dev_user_account_in_transfer_page)

        # 已选列表IMEI不为空,转移给用户为空,点击转移
        # 点击转移按钮
        self.global_dev_search_page.click_transfer_button_in_transfer_page()
        text = self.global_dev_search_page.get_text_after_click_transfer_button(
        )
        self.assertEqual(
            self.assert_text.glob_search_please_add_account_text(), text)

        # 已选列表IMEI为空,选择转移给用户,点击转移
        # 删除设备  然后 选择一个用户
        self.global_dev_search_page.clcik_dev_imei_in_transfer_page()
        self.global_dev_search_page.click_user_to_transfer_dev_in_transfer_dev_page(
        )

        self.global_dev_search_page.click_transfer_button_in_transfer_page()
        text = self.global_dev_search_page.get_text_after_click_transfer_button(
        )
        self.assertEqual(self.assert_text.glob_search_please_add_dev_text(),
                         text)

        ## 已选列表IMEI为空,转移给用户为空,点击转移
        # 点击重置的按钮
        self.global_dev_search_page.click_reset_button_in_transfer_page()
        self.global_dev_search_page.click_transfer_button_in_transfer_page()
        text = self.global_dev_search_page.get_text_after_click_transfer_button(
        )
        self.assertEqual(
            self.assert_text.glob_search_please_add_account_text(), text)
class TestCase113UserSearchPagingFunction(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.assert_text = AssertText()
        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_user_search_paging_function(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_dev_search()
        self.global_dev_search_page.swith_to_search_frame()
        self.global_account_search_page.click_search_user_button()

        # 获取页面总共有多少页
        total_number = self.global_account_search_page.get_total_number_after_click_search_user_button(
        )

        if total_number == 0:
            self.assertIn(
                self.assert_text.account_center_page_no_data_text(),
                self.global_account_search_page.
                get_no_data_text_in_user_search())
        elif total_number == 1:
            up_page_state = self.global_account_search_page.get_up_page_state_in_search_user(
            )
            self.assertEqual('active', up_page_state)
            next_page_state = self.global_account_search_page.get_next_page_state_in_search_user(
            )
            self.assertEqual('active', next_page_state)
        else:
            for n in range(total_number):
                self.global_account_search_page.click_per_page(n)

        if total_number != 0:
            self.global_account_search_page.click_per_number()
Ejemplo n.º 24
0
class TestCase121UserSearchSaleDev(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_user_search_sale_dev(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        # 点击设备管理 获取imei号
        self.global_account_search_page.click_dev_manage_page()
        first_imei = self.global_account_search_page.get_frist_imei_in_dev_manage_page(
        )
        second_imei = self.global_account_search_page.get_second_imei_in_dev_manage_page(
        )
        third_imei = self.global_account_search_page.get_third_imei_in_dev_manage_page(
        )
        fourth_imei = self.global_account_search_page.get_fourth_imei_in_dev_manage_page(
        )
        fifth_imei = self.global_account_search_page.get_fifth_imei_in_dev_manage_page(
        )

        # 点击账号中心
        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_user_search_buttons()

        # 获取列表中第二个用户的账号
        self.global_dev_search_page.swith_to_search_frame()
        get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user(
        )
        # 点击详情
        self.global_account_search_page.click_user_detail_button()
        # 点击销售设备
        self.global_account_search_page.clcik_sale_dev_button_in_user_detail_button(
        )

        # 设备列表为空,点击销售
        self.global_account_search_page.click_sale_button_in_user_search()
        text = self.global_account_search_page.get_text_after_click_sale_button_with_no_dev(
        )
        self.assertEqual(self.assert_text.glob_search_please_add_dev_text(),
                         text)

        # 设备列表不为空,点击重置
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            fifth_imei)
        self.global_account_search_page.select_user_expire_time_in_user_detail(
        )

        # 点击重置
        self.global_account_search_page.click_reset_button_in_user_detail()
        total_dev_number = self.global_account_search_page.get_total_dev_number_after_add_in_sale_dev(
        )
        self.assertEqual(0, total_dev_number)

        count_dev_number = self.global_account_search_page.count_dev_number_in_sale_dev_page(
        )
        self.assertEqual('0', count_dev_number)

        user_expire_text = self.global_account_search_page.get_user_expire_text_in_sale_dev(
        )
        self.assertEqual(self.assert_text.please_select_text(),
                         user_expire_text)
class TestCase134AppUserSearchPagingFunction(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.assert_text = AssertText()
        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_case_app_user_search_paging_function(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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_app_account_search()
        # 点击搜索
        # self.global_dev_search_page.click_search_buttonss()

        # 获取页面的总数
        self.global_dev_search_page.swith_to_search_frame()
        total_page = self.global_dev_search_page.get_total_page_after_click_app_search(
        )
        if total_page[0] == 0:
            text = self.global_dev_search_page.get_no_data_text_in_app_user_search(
            )
            self.assertIn(self.assert_text.account_center_page_no_data_text(),
                          text)

        elif total_page[0] == 1:
            get_previous_page_class = self.global_dev_search_page.get_previous_page_class_in_app_user_search(
            )
            self.assertEqual('active', get_previous_page_class)

            get_next_page_class = self.global_dev_search_page.get_next_page_class_in_app_user_search(
            )
            self.assertEqual('active', get_next_page_class)

            list = [20, 30, 50, 100]
            for m in list:
                self.global_dev_search_page.click_per_page_number()
                total_page_again = self.global_dev_search_page.get_total_page_after_click_app_search(
                )
                self.assertEqual(total_page, total_page_again)

        else:
            for n in range(total_page[0]):
                self.global_dev_search_page.click_per_page(n)
                get_per_first_number = self.global_dev_search_page.get_per_frist_number_in_dev_searchs(
                )
                self.assertEqual(get_per_first_number, str(10 * (n + 1) - 9))
class TestCase120UserSearchSaleDev(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_user_search_sale_dev(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        # 点击设备管理 获取imei号
        self.global_account_search_page.click_dev_manage_page()
        first_imei = self.global_account_search_page.get_frist_imei_in_dev_manage_page(
        )
        second_imei = self.global_account_search_page.get_second_imei_in_dev_manage_page(
        )
        third_imei = self.global_account_search_page.get_third_imei_in_dev_manage_page(
        )
        fourth_imei = self.global_account_search_page.get_fourth_imei_in_dev_manage_page(
        )
        fifth_imei = self.global_account_search_page.get_fifth_imei_in_dev_manage_page(
        )

        # 点击账号中心
        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_dev_search()
        self.global_dev_search_page.click_user_search_buttons()

        # 获取列表中第二个用户的账号
        self.global_dev_search_page.swith_to_search_frame()
        get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user(
        )
        # 点击详情
        self.global_account_search_page.click_user_detail_button()
        # 点击销售设备
        self.global_account_search_page.clcik_sale_dev_button_in_user_detail_button(
        )
        # 输入不存在的imei进行添加
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            first_imei + '123456')
        # 获取失败的状态
        failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         failure_statues)
        failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_inexistence_text(),
                         failure_reason)

        # 关闭失败的弹窗
        self.global_account_search_page.close_failure_windows()

        # 输入与 IMEI 列表中相同、存在的IMEI,点击添加
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            first_imei)
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            first_imei)

        # 获取失败的状态
        failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         failure_statues)
        failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         failure_reason)

        # 关闭失败的弹窗
        self.global_account_search_page.close_failure_windows()

        # 输入与 IMEI 列表中不相同、存在的IMEI,点击添加
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            second_imei)
        get_imei_after_add = self.global_account_search_page.get_imei_after_add_in_user_detail(
        )
        self.assertEqual(second_imei, get_imei_after_add)

        # 输入多个设备的IMEI,其中部分不存在,其中部分与列表中IMEI重复
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            second_imei + ',' + first_imei + '123456' + ',' + third_imei)
        # 获取失败的状态
        failure_statues = self.global_account_search_page.get_failure_statue_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         failure_statues)
        failure_reason = self.global_account_search_page.get_failure_reason_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_repetition_text(),
                         failure_reason)

        second_failure_statues = self.global_account_search_page.get_second_failure_statue_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_fail_text(),
                         second_failure_statues)
        second_failure_reason = self.global_account_search_page.get_second_failure_reason_text_in_user_detail(
        )
        self.assertEqual(self.assert_text.dev_page_inexistence_text(),
                         second_failure_reason)

        # 关闭失败的弹窗
        self.global_account_search_page.close_failure_windows()

        # 输入多个设备的IMEI,与列表中IMEI不重复,点击添加
        self.global_account_search_page.add_imei_to_sale_dev_in_user_detail(
            fourth_imei + ',' + fifth_imei)
        total_dev_number = self.global_account_search_page.get_total_dev_number_after_add_in_sale_dev(
        )
        self.assertEqual(5, total_dev_number)
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()
class TestCase106GlobSearchAppDetailOperation(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.assert_text = AssertText()
        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_case_global_search_app_detail_operation(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in_jimitest()
        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.swith_to_search_frame()
        self.global_dev_search_page.select_search_app_user()

        # 点击搜索
        # self.global_dev_search_page.click_search_button()
        # 点击详情
        self.global_dev_search_page.click_detail_in_app_user_search()

        # 点击控制台
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_console_button_in_app_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)

                self.assertEqual(self.base_url + '/console',
                                 self.driver.get_current_url())
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 重置密码
        # 点击重置密码
        self.global_dev_search_page.swith_to_search_frame()
        self.global_dev_search_page.click_reset_password_button_in_app_detail()
        # 点击关闭
        self.global_dev_search_page.close_button()

        # 点击重置密码
        self.global_dev_search_page.click_reset_password_button_in_app_detail()
        # 点击关闭
        self.global_dev_search_page.cancel_button()

        # 点击重置密码
        self.global_dev_search_page.click_reset_password_button_in_app_detail()
        # 点击关闭
        self.global_dev_search_page.ensure_button()

        get_text = self.global_dev_search_page.get_text_after_succeed()
        self.assertEqual(self.assert_text.account_center_page_operation_done(),
                         get_text)

        # 获取app用户详情页面绑定的设备信息
        get_dev_name = self.global_dev_search_page.get_dev_name_in_app_detail()
        get_dev_imei = self.global_dev_search_page.get_dev_imei_in_app_detail()
        get_dev_type = self.global_dev_search_page.get_dev_type_in_app_detail()
        get_dev_active_time = self.global_dev_search_page.get_dev_active_time_in_app_detail(
        )
        get_dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_app_detail(
        )
        get_dev_bound_user = self.global_dev_search_page.get_dev_bound_user_in_app_detail(
        )
        self.driver.default_frame()
        # 点击设备的操作
        # 详情
        self.global_dev_search_page.click_dev_operation_detail_in_app_detail()

        # 获取点击设备详情后页面的数据
        dev_name = self.global_dev_search_page.get_dev_name_in_dev_detail()
        self.assertEqual(get_dev_name, dev_name)

        dev_imei = self.global_dev_search_page.get_dev_imei_in_dev_detail()
        self.assertEqual(get_dev_imei, dev_imei)

        dev_type = self.global_dev_search_page.get_dev_type_in_dev_detail()
        self.assertEqual(get_dev_type, dev_type)

        dev_active_time = self.global_dev_search_page.get_dev_active_time_in_dev_detail(
        )
        self.assertEqual(get_dev_active_time, dev_active_time)

        dev_expire_time = self.global_dev_search_page.get_dev_expire_time_in_dev_detail(
        )
        self.assertEqual(get_dev_expire_time, dev_expire_time)

        dev_bound_user = self.global_dev_search_page.get_dev_bound_user_in_dev_detail(
        )
        self.assertEqual(get_dev_bound_user, dev_bound_user)

        # 点击设备的轨迹回放、实时跟踪、查看告警
        self.global_dev_search_page.return_app_user_detail_list()

        # 点击轨迹回放
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_replay_button_in_app_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                self.assertEqual(
                    self.base_url + '/trackreplay/locus?imei=%s' % dev_imei,
                    self.driver.get_current_url())
                # 断言点击轨迹回放后的设备名称和 imei
                get_imei_in_replay = self.global_dev_search_page.get_imei_in_replay(
                )
                self.assertEqual(dev_imei, get_imei_in_replay)
                get_dev_name_in_replay = self.global_dev_search_page.get_dev_name_in_replay(
                )
                self.assertEqual(dev_name, get_dev_name_in_replay)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击实时跟踪
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_track_preset_button_in_app_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                self.assertEqual(
                    self.base_url +
                    '/trackpreset/tracking/%s?isTracking=0' % dev_imei,
                    self.driver.get_current_url())
                # 断言点击轨迹回放后的设备名称和 imei
                get_imei_in_track_preset = self.global_dev_search_page.get_imei_in_track_preset(
                )
                self.assertEqual(dev_imei, get_imei_in_track_preset)
                get_dev_name_in_track_preset = self.global_dev_search_page.get_dev_name_in_track_preset(
                )
                self.assertIn(dev_name, get_dev_name_in_track_preset)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)

        # 点击查看告警
        current_handle = self.driver.get_current_window_handle()
        self.global_dev_search_page.click_alarm_detail_button_in_app_detail()
        all_handles = self.driver.get_all_window_handles()
        for handle in all_handles:
            if handle != current_handle:
                self.driver.switch_to_window(handle)
                self.assertEqual(
                    self.base_url + '/deviceReport/statisticalReport',
                    self.driver.get_current_url())
                # 断言
                text = self.global_dev_search_page.get_text_after_click_alarm_detail(
                )
                self.assertEqual(
                    self.assert_text.account_center_page_alarm_details_text(),
                    text)
                self.driver.close_current_page()
                sleep(2)
                self.driver.switch_to_window(current_handle)
class TestCase137SearchUserByTypeCreatNewUser(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_137_search_user_by_type_creat_new_user(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_user_search_buttons()
        self.global_dev_search_page.swith_to_search_frame()

        # 获取用户列表有多少页
        user_account = ''
        total_page = self.global_dev_search_page.get_total_page_after_search_user()
        for n in range(total_page):
            self.global_dev_search_page.click_per_page(n)
            # 获取每页有多少条
            number = self.global_dev_search_page.get_per_page_total_number_in_search_user()
            for i in range(number):
                # 获取各个用户的用户类型
                user_type = self.global_dev_search_page.get_user_type_in_search_user(i)
                user_account = self.global_dev_search_page.get_user_account_in_search_user(i)
                if user_type == '销售':
                    break
        # 搜索获取到的销售类型的用户,搜索
        self.global_dev_search_page.search_user(user_account)
        # 点击新增下级用户
        self.global_dev_search_page.click_add_next_user_in_search_user()
        # 获取新增下级用户时,下级的客户类型有几种
        user_type_number = self.global_dev_search_page.get_user_type_number_in_search_user()
        self.assertEqual(3, user_type_number)

        self.global_dev_search_page.search_user('')
        user_account = ''
        total_page = self.global_dev_search_page.get_total_page_after_search_user()
        for n in range(total_page):
            self.global_dev_search_page.click_per_page(n)
            # 获取每页有多少条
            number = self.global_dev_search_page.get_per_page_total_number_in_search_user()
            for i in range(number):
                # 获取各个用户的用户类型
                user_type = self.global_dev_search_page.get_user_type_in_search_user(i)
                user_account = self.global_dev_search_page.get_user_account_in_search_user(i)
                if user_type == '代理商':
                    break
        # 搜索获取到的销售类型的用户,搜索
        self.global_dev_search_page.search_user(user_account)
        # 点击新增下级用户
        self.global_dev_search_page.click_add_next_user_in_search_user()
        # 获取新增下级用户时,下级的客户类型有几种
        user_type_number = self.global_dev_search_page.get_user_type_number_in_search_user()
        self.assertEqual(2, user_type_number)

        self.global_dev_search_page.search_user('')
        user_account = ''
        total_page = self.global_dev_search_page.get_total_page_after_search_user()
        for n in range(total_page):
            self.global_dev_search_page.click_per_page(n)
            # 获取每页有多少条
            number = self.global_dev_search_page.get_per_page_total_number_in_search_user()
            for i in range(number):
                # 获取各个用户的用户类型
                user_type = self.global_dev_search_page.get_user_type_in_search_user(i)
                user_account = self.global_dev_search_page.get_user_account_in_search_user(i)
                if user_type == '用户':
                    break
        # 搜索获取到的销售类型的用户,搜索
        self.global_dev_search_page.search_user(user_account)
        # 获取新增下级用户的display值
        get_new_next_display = self.global_dev_search_page.get_new_next_display_in_search_user()
        self.assertEqual('display: none;', get_new_next_display)

        self.driver.default_frame()
class TestCase116UserSearchModifyWebDevEditAuthority(unittest.TestCase):
    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.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_user_search_modify_web_dev_edit_authority(self):
        # 打开途强在线首页-登录页
        self.base_page.open_page()
        self.log_in_base.log_in()
        self.log_in_base.click_account_center_button()
        sleep(4)
        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_dev_search()
        self.global_dev_search_page.click_search_buttons()

        # 获取列表中第二个用户的账号
        self.global_dev_search_page.swith_to_search_frame()
        get_second_user_account = self.global_account_search_page.get_second_user_account_after_search_user(
        )
        # 点击详情
        self.global_account_search_page.click_user_detail_button()
        # 点击用户信息
        self.global_account_search_page.click_user_info_in_user_detail()

        # 获取用户信息页面登录账号名字
        current_account = self.global_account_search_page.get_current_account_in_user_detail(
        )
        self.assertEqual(get_second_user_account, current_account)

        # 获取各个权限input的select属性
        web_login_authority = self.global_account_search_page.get_web_login_authority_input_select_in_user_detail(
        )
        app_login_authority = self.global_account_search_page.get_app_login_authorith_input_select_in_user_detail(
        )

        batch_issued_command_authority = self.global_account_search_page.batch_issued_command_authority_in_user_detail(
        )
        batch_issued_work_type_authority = self.global_account_search_page.batch_issued_work_type_authority_in_user_detail(
        )

        web_modify_authority = self.global_account_search_page.get_web_modify_authority_in_user_detail(
        )
        app_modify_authority = self.global_account_search_page.get_app_modify_authority_in_user_detail(
        )

        if web_modify_authority == True:
            # 点击web修改设备的权限
            self.global_account_search_page.click_web_modify_dev_authority_in_user_detail(
            )
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail(
            )
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(
                get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()
            sleep(2)
            # 点击编辑设备
            self.global_account_search_page.click_edit_dev_in_dev_manage_page()
            # 点击保存
            self.global_account_search_page.click_ensuer_button()
            # 获取提示语
            text = self.global_account_search_page.get_no_authority_text()
            # self.assertIn(self.assert_text.no_authority_text(), text)

            # 关闭设备编辑页面
            self.global_account_search_page.close_dev_edit()
            # 退出登录的账号
            self.global_account_search_page.click_account_manage_page()
            self.global_account_search_page.logout()
            # 登录web_autotest
            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_dev_search()
            self.global_dev_search_page.click_search_buttons()
            # 点击详情
            self.global_dev_search_page.swith_to_search_frame()
            self.global_account_search_page.click_user_detail_button()
            # 点击用户信息
            self.global_account_search_page.click_user_info_in_user_detail()

            self.global_account_search_page.click_web_modify_dev_authority_in_user_detail(
            )
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail(
            )
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(
                get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()
            # 点击编辑设备
            self.global_account_search_page.click_edit_dev_in_dev_manage_page()
            # 点击保存
            self.global_account_search_page.click_ensuer_button()
            # 获取提示语
            text = self.global_account_search_page.get_authority_text()
            self.assertIn(
                self.assert_text.account_center_page_operation_done(), text)

        elif web_modify_authority == False:
            # 点击web修改设备的权限
            self.global_account_search_page.click_web_modify_dev_authority_in_user_detail(
            )
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail(
            )
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(
                get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()
            # 点击编辑设备
            self.global_account_search_page.click_edit_dev_in_dev_manage_page()
            # 点击保存
            self.global_account_search_page.click_ensuer_button()
            # 获取提示语
            text = self.global_account_search_page.get_authority_text()
            self.assertIn(
                self.assert_text.account_center_page_operation_done(), text)

            # 关闭设备编辑页面
            self.global_account_search_page.close_dev_edit()
            # 退出登录的账号
            self.global_account_search_page.click_account_manage_page()
            sleep(2)
            self.global_account_search_page.logout()
            # 登录web_autotest
            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_dev_search()
            self.global_dev_search_page.click_search_buttons()
            # 点击详情
            self.global_dev_search_page.swith_to_search_frame()
            self.global_account_search_page.click_user_detail_button()
            # 点击用户信息
            self.global_account_search_page.click_user_info_in_user_detail()

            self.global_account_search_page.click_web_modify_dev_authority_in_user_detail(
            )
            # 点击保存
            self.global_account_search_page.click_ensuer_button_in_user_detail(
            )
            # 点击关闭
            self.driver.default_frame()
            self.global_account_search_page.click_close_button()

            # 退出登录
            self.global_account_search_page.logout()

            # 登录刚刚修改过的账号
            self.global_account_search_page.log_in_user(
                get_second_user_account, 'jimi123')
            # 进入设备管理页面
            self.global_account_search_page.click_dev_manage_page()
            # 点击编辑设备
            self.global_account_search_page.click_edit_dev_in_dev_manage_page()
            # 点击保存
            self.global_account_search_page.click_ensuer_button()
            # 获取提示语
            text = self.global_account_search_page.get_no_authority_text()